karaf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré ...@nanthrax.net>
Subject Re: Third-Party Licensing Policy
Date Fri, 10 Jan 2014 07:06:11 GMT
Hi Krzysztof,

I invite you to read the GPL, APL, etc license content.

My comments inline:

On 01/10/2014 07:36 AM, Krzysztof Sobkowiak wrote:
> Hi
>
> Thanks for answers. I need still some clarifications. I'll use some samples
>
> On 10.01.2014 05:44, Jean-Baptiste Onofré wrote:
>> Hi
>>
>> It's a difference between inclusion, usage, and reference.
>>
>> For instance, GPL license is a intrusive license. It means that any
>> software that use a code under GPL has to be itself under the GPL
>> license. That's why you can't use GPL in a Apache project. It's the
>> case for usage, inclusion or reference.
>> LGPL is a bit permissive in the cave of reference. LGPL is a Category
>> X for inclusion and usage. It means that it's not possible to use LGPL
>> if the project embeds some jar under LGPL, or ship some code (like
>> copy/paste) under LGPL. However, if you just reference the project
>> without embedding it, and it's an user action to actually download and
>> add the LGPL jar, it's fine.
> I don't know if I have understood it correctly. I can reference
> Hibernate libraries in Karaf feature (e.g. because it is referenced by
> other library which is also included in Karaf feature ans uses the code
> from Hibernate or because we need Hibernate as JPA provider) . But I can
> not implement any sample with Karaf which shows, how to use Spring with
> plain Hibernate, because the Hibernate  code (e.g. SessionFactory) would
> be referenced in this code. But I can implement such a sample outside
> Karaf (probably under another license, which? LGPL?) and eventually
> reference the sample somewhere in the Karaf feature like the Hibernate
> libraries?

Correct. That's why we have karaf-extra (like camel-extra, 
servicemix-extra) to store such code/sample outside Apache codebase.

>
>> Regarding your question:
>> 1/ category A
>> 2/ category A
>> 3/ category A and B
>> 4/ category A and B (and we have to "publish" the changes)
>
> Does it mean I can copy some code (e.g. classes) from category B library
> into Apache licensed project, eventually change the code, and and ship
> it as part of this project (usage 3 and 4) but I can not reference the
> category B libraries as maven dependencies and use the classes from the
> dependencies in Apache licensed project (usage 1 and 2)?

Not really, it depends in the license. Basically, all code in Apache 
project should be under Apache license. Again, we can add it in karaf-extra.

>
> I use an example again  - AspectJ is licensed under EPL 1.0 license.
> Assume I'd like to implement a WeavingHook using the AspectJ classes
> (reference AspectJ as maven dependency and use the classes in my code).
> Does it mean, my code can not be included in Apache licensed project,
> but I can implement the hook in a project under other license and
> eventually reference it in Karaf feature?

Correct, you can't include in Apache project. You can create your 
project outside of Apache project and reference it. Same as before: you 
can do your WeavingHook in karaf-extra.

Regards
JB

>
> Best regards
> Krzysztof
>
>> 5/ all
>> 6/ category A and B
>>
>> Regards
>> JB
>>
>> On 01/09/2014 11:35 PM, Krzysztof Sobkowiak wrote:
>>> Hi
>>>
>>> I have some licensing questions.
>>>
>>> I have found following page http://www.apache.org/legal/3party.html
>>> which defines 3 categories of third party licenses. According to this
>>> page LGPL v2.1 is category X, but further remark says, the
>>> LGPL-v2.1-licensed work can be listed as system requirements but can not
>>> be included  by Apache products. I'm not good in licensing but I try to
>>> understand it.  Is the category of LGPL really B (and the page should be
>>> corrected) or is the LGP category X.  In the second case, can we still
>>> list Hibernate in Karaf features (e.g. using the remark about listing of
>>> system requirements)?
>>>
>>> Assume following use cases of third-party work usage:
>>> 1. reference 3rd-party library as (maven) dependency and use the classes
>>> in ASF code
>>> 2. reference 3rd-party library as (maven) dependency and use the classes
>>> only in ASF configuration files (e.g. blueprint.xml)
>>> 3. include/copy some unmodified 3rd-party code (e.g. some classes) in
>>> ASF project
>>> 4. include/copy some 3rd-party code (e.g. some classes) in ASF project
>>> and modify it
>>> 5. list some 3rd-party libraries in Karaf features, but not include them
>>> as binaries in one of the Karaf distributions
>>> 6. list some 3rd-party libraries in Karaf features, and  include them as
>>> binaries in one of the Karaf distributions in system repository
>>>
>>> Could anybody please answer which of above points are allowed for
>>> following 3rd-party works
>>> a. category A as the whole category - I assume, all above use cases are
>>> allowed in this category, is it ok?
>>> b. category B as the whole category
>>> c. category X as the whole category
>>> d. LGPL
>>> e. GPL
>>> f. EPL
>>>
>>> I have chosen Karaf as sample ASF project, but it could be any other ASF
>>> project, e.g. ServiceMix or Aries
>>>
>>> Do the rules from the page mentioned above apply only for ASF projects
>>> or for any project licensed under Apache License?
>>>
>>> Best regards
>>> Krzysztof
>
>
> --
> Krzysztof Sobkowiak
>
> JEE & OSS Architect | Technical Architect @ Capgemini
> Capgemini <http://www.pl.capgemini.com/> | Software Solutions Center
> <http://www.pl.capgemini-sdm.com/> | Wroclaw
> e-mail: krzys.sobkowiak@gmail.com <mailto:krzys.sobkowiak@gmail.com> |
> Twitter: @KSobkowiak

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Mime
View raw message