LGPL and SqueakMap

Andrew C. Greenberg werdna at mucow.com
Tue Dec 24 04:52:12 UTC 2002


On Monday, December 23, 2002, at 02:13 PM, Nevin Pratt wrote:

> Julian Fitzell wrote:
>
>>>
>>>
>>
>> What about the case where someone adds a method to an LGPL'ed class? 
>> This method is part of their package and it's only called by their 
>> package.  All it is doing is making calls to parts of the LGPL'ed 
>> class.  We do this all the time in Smalltalk... the method is 
>> logically part of another package but attached to the LGPL'ed class.  
>> Does that mean that method has to be LGPL'ed?  Does the whole >> package?
>>
>> Julian
>
>
> Objective-C has exactly the same issue, and there doesn't seem to be 
> any confusion with it and LGPL.

Fundamental differences between Objective-C code and Smalltalk is the 
presence of the monolithic image.

> In Objective-C, an external library is roughly analagous to a 
> Smalltalk change set.

Rough analogies are a dangerous way to proceed when we are discussing 
legal consequences of software development.  Ultimately, the mode of 
distribution of the initial source of viral code is not meaningful or 
useful in analyzing the difficulties of the LGPL in Squeak.  Loading 
the code into a monolithic image, we now have a mix of code in that 
image, and the question is how much of the image becomes virally 
infected thereby.

This is the fundamental difference between Objective-C code and 
Smalltalk with respect to licensing.

> Now as an example, a "proprietary" library can add methods to classes 
> in an existing LGPL library without needing the source code of the 
> LGPL library to do it.  And the reverse is also possible-- an LPGL 
> library can add methods to classes in a proprietary library without 
> needing source code to the proprietary library to do it.

There are no libraries in Smalltalk.  There are images of objects.

> And there doesn't seem to be any issues as long as they are in 
> separate libraries (i.e., separate change sets for Smalltalk).

Nothing in smalltalk lives in change sets.  Smalltalk code aren't 
maintained as change sets -- changesets are simple memorializations of 
changes within an image.




More information about the Squeak-dev mailing list