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