beware GNU Smalltalk if you want to contribute to squeak

Andreas Raab andreas.raab at
Wed Jan 16 15:45:59 UTC 2008

Paolo Bonzini wrote:
>>> Just to be clear, if a big chunk of code was "stolen" from GNU 
>>> Smalltalk and put into Squeak Core under MIT license, it would be 
>>> *me* asking the FSF to take action, without waiting for them to 
>>> notice.  Friendly, yes; stupid, no.
>>> OTOH, requiring completely clean-room engineering if features are 
>>> taken from GNU Smalltalk and brought into Squeak is really over the top.
>> Over the top? It rather sounds like a direct consequence of the first 
>> paragraph. You are basically threatening to take action if you feel 
>> something was "stolen"[*].
> I have to contact the FSF to get proper "thresholds" but things I 
> wouldn't care about would be: you take over some new feature (e.g. 
> generators) that is quite low-level and probably requires a good deal of 
> rewriting, but you copy over some comments and whatever code does not 
> require code.  Things I would care about would be for example the 
> bundled packages, but just because I'd say they could be placed on 
> SqueakMap with the appropriate license instead of being in Squeak Core.

The problem with the "I wouldn't care" approach is that it doesn't work 
legally. If you were run over by a bus and someone else would take over 
maintaining GST and notice that some code you wrote under (L)GPL is in 
Squeak, that person might decide to take action. That's why we license 
things and that's why licenses are important.

>> [*] It always amuses me to find Squeak code verbatim in GST
> Examples, please?  Seriously, because it would be copyright violation to 
> bring them over without attributing properly, even if MIT license allows 
> relicensing.

I was looking precisely at Semaphore and Delay since I was thinking that 
GST may have different primitives and I was interested in learning what 
they were and how the resulting solutions would differ :-) Apologies if 
these are the only places that are so similar to Squeak but they just 
also happened to be the only places I was interested in.

> In fact I *never* looked at Squeak except for your Semaphore>>#critical: 
> fixes (on which I commented here to give you the opportunity to improve 
> Squeak as well) and your Delay fixes (where the idea is the same in both 
> implementations, but ended up being rewritten -- the kind of thing I was 
> talking about above as a "positive" example).

Right, and I'm totally fine with that. But the point is that MIT allows 
that easy kind of reuse whereas (L)GPL places unreasonable restrictions 
on reuse and sharing[*]. To me, for example it's not clear whether the 
amount of rewrite you did for GST would be considered "enough" by the 
FSF to avoid legal troubles (personally I would doubt it since RMS seems 
to have a very restrictive view on these issues).

[*] Seriously, do *you* understand the (L)GPL enough to explain what one 
would have to do in practice to satisfy its requirements if one would 
try to use code licensed under it in Squeak?

   - Andreas

More information about the Squeak-dev mailing list