[SciPy-dev] [Fwd: Re: license status of your code on netlib]

Robert Kern robert.kern@gmail....
Thu Sep 10 12:22:57 CDT 2009


On Thu, Sep 10, 2009 at 12:07, <josef.pktd@gmail.com> wrote:
> On Thu, Sep 10, 2009 at 12:53 PM, Robert Kern <robert.kern@gmail.com> wrote:
>> On Thu, Sep 10, 2009 at 11:43, <josef.pktd@gmail.com> wrote:
>>> On Thu, Sep 10, 2009 at 12:22 PM, Robert Kern <robert.kern@gmail.com> wrote:
>>>> On Thu, Sep 10, 2009 at 11:03, <josef.pktd@gmail.com> wrote:
>>>>> On Thu, Sep 10, 2009 at 11:29 AM, Robert Kern <robert.kern@gmail.com> wrote:
>>>>>> On Thu, Sep 10, 2009 at 02:48, Benny Malengier<benny.malengier@gmail.com> wrote:
>>>>>>
>>>>>>> On a side note, due to this I have read
>>>>>>> http://scipy.org/License_Compatibility and as a developer who writes
>>>>>>> BSD and GPL licenced code, I find the section 'John Hunter's License
>>>>>>> Pitch' not very suiting.
>>>>>>
>>>>>> I have deleted it. I too do not like having a polemic on a page that
>>>>>> should just be describing the facts of license compatibility.
>>>>>>
>>>>>
>>>>> I also read this for the first time, but it contains mostly the obvious
>>>>> cases.
>>>>>
>>>>> What is the compatibility for the Apache license ?
>>>>>
>>>>> There was the discussion on the cython list and I know of some
>>>>> packages, that I'm interested in, that use Apache.
>>>>
>>>
>>>> Slightly incompatible. It's mostly good, but it has a few provisions
>>>> in it, like the patent peace clause, that make it GPLv2-incompatible.
>>>
>>> If this is not a typo: I don't understand how GPLv2 compatibility of
>>> the Apache license affects the compatibility with BSD
>>
>> Well, compatibility may not be the right word. One can take BSD code
>> and Apache code and combine them into a program. One can take BSD code
>> and GPLv2 code and combine them into a program. One cannot take an
>> Apache code and a GPLv2 code and combine them into a program. This is
>> frequently what people refer to as "license compatibility".
>>
>> However, per our BSD *policy* we should not take in Apache code
>> because then our project will contain code that has additional
>> restrictions beyond our advertised "BSD license". In particular, users
>> can mix our BSD code with their GPLv2 code freely. If we had an
>> Apache-licensed component, they could not. Or at least we would have
>> to change things significantly to allow people to "avoid" certain
>> components. That's a pain in the ass; the problem is better resolved
>> by having the differently-licensed code packaged separately.
>
> Thanks for the clarification, this means essentially that BSD and MIT
> are the only
> non-infectious licenses (of the popular ones).

Apache isn't really "infectious" as the term is usually used in
reference to the various copyleft licenses. It just has a few more
restrictions that we, as a matter of policy, do not want.

The copyleft licenses prevent you from adding more restrictions on top
of the license. You can't take a GPLed component and incorporate it
into a proprietary product that you forbid redistribution of. It
"infects" the product that way, if you wish to use such loaded
terminology (and I don't recommend it). That's a property of the
license.

I can take an Apache- or BSD-licensed component and incorporate it
into a proprietary product and load on any other restrictions I like.
However, I cannot *negate* any of the provisions of the original
licenses. I must still maintain the copyright notices and attribution.
With the Apache license, the patent peace provision extends to the
user of the proprietary product, too. This is true of all licenses. We
just happened to pick, as a matter of policy for the project, the BSD
set of restrictions and no more. Apache code would not "infect" us; we
just choose not to use it.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco


More information about the Scipy-dev mailing list