incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Weir <robw...@apache.org>
Subject Re: Question related derivative code based on our Apache licensed code
Date Wed, 04 Jan 2012 14:02:31 GMT
2012/1/4 J├╝rgen Schmidt <jogischmidt@googlemail.com>:
> Hi,
>
> over the last days i was asking myself how it is exactly with code that is
> based on our Apache licensed code.
>
> Well i have read the Apache license but the practical relevance is not clear
> for me.
>
> In detail if a derivative project merge our now Apache licensed code with
> their code that was based on the former Oracle licensed LGPL code. This code
> becomes automatically Apache licensed, correct?

If author "A" writes code and releases it under LGPL, there is nothing
that prevents them from also releasing the same code as ALv2, at the
same time and place or someplace else.  We see this with Oracle and
the OOo SGA, for example.  The owner of the code can attach licenses
as they wish.  The right to license (give permission) is one of the
exclusive rights that a copyright owner has.

If author "B" then takes this base work and makes changes, then "B"
owns the changes they make.  What license exactly those patches are
available under depends on several things, including the license of
the base work, whether the changes are published or kept private,
whether "B" has signed a CLA that obligates them to make contributions
under a certain license, etc.

The Oracle SGA has made OOo source files available under ALv2 in
general, not only for this project, but for anyone, including others
who based their product on the same files.  We've certainly been
working under this model, as other OOo derivatives and ports have
merged in their patches that were originally based on OOo LPGL
releases.  The eventual Symphony contribution is also enabled by the
SGA.

So person "B", if they wanted, is not required to make their patches
available under LPGL.  As of the SGA date they could make their
patches available under other licenses, including ALv2. But they are
not obligated to do this.  They could also chose to remain with LGPL.
The switch to ALv2 does not obligate moving to a less restrictive
license for derivatives.  It only permits it.

(This assumes that "B" is making changes only to "A" code.  It gets
more complicated if person "C" made changes to "A" under LGPL as well)

> If yes, does it mean that we can use the changes on this code in our code as
> well if it is publicly available?
>

It depends on the license granted by the author of the changes.

> Ok the license say that it is possible to put an additional license on all
> changes made on the code when you mark all changes in an appropriate way.
> How is that possible or done in practize with many minor changes (e.g.
> improve the performance of an existing loop, or initialize existing
> variables etc.)? And which license is valid if a trivial change is made in
> our (the original) source in the same way, e.g. initialize a local variable
> to prevent a warning?
>

First, trivial changes might not be copyrightable at all.  If there is
a bug and fixing the bug requires that you change:

ptr = malloc(len)

to

ptr = malloc(len+1)

Then you could argue that this change does not amount to creative
expression.  The copyright protects the creative expression, not the
labor involved in debugging.  But in general I'd recommend that we
avoid making calls like this.

In any case, one can express a license intent in many ways.  For
example, with the iCLA, you make a blanket statement that all
contributions you make to SVN are under ALv2.  You don't mark them
individually.  You only put the license header in new files.  But all
contributions, even one line ones, are covered.

You see, in a less formal way, assertions made like this in other
projects.  For example, on the LO Dev list you see statements like
this:

http://lists.freedesktop.org/archives/libreoffice/2011-November/021345.html

There is nothing in theory that would prevent someone from making such
a statement that also included ALv2 among the licenses granted by an
author.

> Anyway it seems that the new changed code becomes derivative work because
> the Apache license can't be removed.
>

Apache license is not viral.  So although the license on the base code
remains Apache license, it does not require that the modifications
(the patch) is also ALv2.  It can be, but this depends on the patch
author's wishes.

> I hope my question or thoughts are not too stupid and that somebody know the
> answer ;-)
>
>
> Juergen
>
>
> PS. we talk about thousands of files, many changes and a lot of stupid
> necessary work (marking all changes appropriately)

Mime
View raw message