cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Re: [PROPOSAL] Download of jars with Maven ant tasks
Date Tue, 26 Apr 2005 22:47:26 GMT
Ralph Goers wrote:
> Stefano Mazzocchi wrote:
> 
>> Reinhard Poetz wrote:
>>
>>> Leszek Gawron wrote:
>>>
>>>> Torsten Curdt wrote:
>>>>
>>>>>> Would it be legally acceptable to link also to non-Apache licensed

>>>>>> stuff?
>>>>>> (Provided it is made available in a repository somewhere.)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> IANAL ...but I reckon that should be
>>>>> ok. Problem is - mocks are still not
>>>>> ok ...so it does not buy us much.
>>>>>
>>>>> ...I still don't get why mocks are
>>>>> a problem - this license stuff sucks
>>>>> so badly *grrrr*
>>>>
>>>>
>>>>
>>>>
>>>> In order to create a mock you have to copy a specific class 
>>>> interface that someone designed.
>>>>
>>>
>>> I don't think that this solved the problem. If you download e.g. some 
>>> LGPL library you will use it somewhere in your code, otherwise it is 
>>> useless. The problem is the *use* IIUC ...
>>
>>
>>
>> no, the problem is the 'redistribution' of derivative work.
>>
>>> To be on the safe side, we will have to wait for real blocks as they 
>>> can cut all direct dependencies (--> one block only has a requirement 
>>> on a block interface and not on a block implementation.)
>>
>>
>>
>> correct: if you have a 'database' block interface and a block that 
>> contains GPL stuff and implementat those interfaces (say the mysql 
>> jbdc driver, for example), you can make the entire block GPL and 
>> distribute that from, say, sourceforge or ibiblio and you are just 
>> fine, because you hook to the JDBC API which are not GPL and you don't 
>> distribute anything and the only 'contract' is the class name, which 
>> is a configuration therefore not a viral dependency.
>>
>> This is the *only* way (without changing licenses!) to allow us to 
>> distribute safely GPL and LGPL code.
>>
>> NOTE: the requirement is that the contract API should *not* be GPL, 
>> otherwise that doesn't work, as our code will be a derivative work, 
>> therefore needs to be GPLed as well.
>>
>> A (sneaky? immoral?) way to route around the problem is to use runtime 
>> classloading: if your compiler can compile the block without the GPL 
>> code being visible to the compiler, you are fine.
>>
>> The nice thing about blocks (or other component models, is that the 
>> link between roles and classnames is a configuration file), so the 
>> compiler doesn't need to depend on them.
>>
>> The problem remains when your code implements an interface which is 
>> licensed under the LGPL, as it's unclear whether or not an interface 
>> implementation is considered a derivative work of the library, or a 
>> 'use' of the library itself.
>>
>> the ASF board is working hard with the FSF to resolve these issues, 
>> but don't hold your breath. For now, it's easier to route around the 
>> problem as I mentioned above.
> 
> 
> Please see (if you haven't already)  
> http://www.gnu.org/licenses/lgpl-java.html.

Yes, I've been talking to David for months now :-)

-- 
Stefano.


Mime
View raw message