[squeak-dev] Re: what is holding back Smalltalk?

Paolo Bonzini bonzini at gnu.org
Fri Nov 21 15:57:52 UTC 2008


> When person who highlights a problem is treated as being a problem, that
> is actually abuse, and it has no place in our forum. 

Point taken.  Sorry.  But I saw the "problem" highlighted too many times
without actually listening to the other side.

"Looking at" code, especially in a casual way, does not mean "writing
the same code" if months later you happen to work on a similar project.
 At most it means "remembering something about the private interfaces".

Example 1: You debug some GNU Smalltalk code and you look at a private
method in Collection or File.  You definitely have no "taint" whatsoever.

Example 2: You look at Stream and notice "many methods in
PositionableStream, such as #upToAll: do not need positioning if you use
KMP search, so they were moved up to Stream".  You can add such
algorithms to Squeak without being worried of tainting.  You probably
read no more than the method comment, and the code you write will bear
no resemblance to GNU Smalltalk's.  The FSF position, which I posted
multiple times, was "to understand code, look at it as much as you need;
then don't look at it anymore and rewrite it on your own".

Example 3: I wrote the generators and have not looked them a while ago.
 If I have to explain the implementation details now, I couldn't say
anything more than "it uses a single continuation instance variable
independent of whether it is a continuation of the producer or the
consumer, and it uses atEnd == nil to mark if it is a producer vs.
consumer continuation (hum, was it == nil for the consumer and ~~ nil
for the producer, or vice versa?)".  Even if *I* reimplemented
"clean-room" based on these memories, my code is not going to be tainted!

Corollary: There is more copyright infringement risk in doing a clean
room reverse engineering with descriptions such as "Color class>>#blue
returns the class variable Blue" (yes, there were some in the method
rewrite effort).

> I expect to contribute to Squeak core in some manner, therefore I am not
> able to "get stuck in" to GNU Smalltalk, without some licence issues
> effecting what I do. The danger being, according to Randal, that if
> Squeak makes use of GNU Smalltalk code, directly or indirectly, then
> Squeak might come under LGPL jurisdiction.

I never said you have to be careless.  That is WRONG and it was
demonstrated during the whole Swazoo licensing mess.

Paolo



More information about the Squeak-dev mailing list