By Jonathan Corbet
May 28, 2012
Projects the size of LibreOffice often tend to get a little unwieldy; the
size of the code is such that even seemingly trivial tasks like
removing
dead code can take a long time. Considering the sheer size of the
project and the fact that its copyright ownership is distributed, it would
be natural to doubt the sanity of anybody proposing to simultaneously move
1.5 years worth of work to a new base and adopt a new license. But that is
just what LibreOffice has in mind.
LibreOffice is based on the original OpenOffice.org project; it inherited
its current LGPLv3 license from there. The project is clearly happy with
copyleft licensing, but it occasionally shows signs of wanting a bit more
flexibility than LGPLv3 sometimes provides. LibreOffice has, since the
beginning, accepted all changes under a dual license, mixing LGPLv3 with
version 2 of the Mozilla
Public License. But the LibreOffice project does not own the original
OpenOffice.org code, so it must distribute its work under LGPLv3,
essentially dropping the MPLv2 license from the changes that have been made
since the project began.
Something interesting happened a while after LibreOffice launched, though:
Oracle donated the code to the Apache Software Foundation (ASF) which,
after some work, has released it under the Apache License. That is a
permissive license, which is not something LibreOffice is interested in.
But the Apache License is compatible with MPLv2; a derived product
containing code under both licenses can be distributed as an MPLv2-licensed
whole. Thus, LibreOffice has concluded:
With the relicensing of the original OpenOffice.org code-base to
Apache License 2.0 by Oracle, we're now able to incrementally
rebase our own code on top of that to offer a choice of licensing
that does not only include LGPLv3 but also any of GPLv3.0+,
LGPLv3.0+, and the AGPLv3.0+ that the MPLv2+ allows. This will also
allow us to incorporate any useful improvements that are made
available under that license from time to time.
In other words, LibreOffice intends to toss out its original OpenOffice.org
base and move its changes over to the newly released, Apache licensed
version; the result will be a LibreOffice that can be distributed under the
MPL, which the project sees as being worthwhile:
As we compete with our own code, licensed under an unhelpfully
permissive license, the MPL provides some advantages around
attracting commercial vendors, distribution in both Apple and
Microsoft app-stores, and as our Android and iPhone ports advance
in tablets and mobile devices.
Getting there will be an interesting process, though. The code given to
the ASF is substantially the same as the code LibreOffice started with,
but, as some Apache contributors have taken pains to point out, that code is not available
under the Apache License. Contrary to the text quoted above, Oracle did
not relicense the code; that code was, instead, given to the ASF, which was
given the freedom to release it under a new license. The only code that is
actually available under the Apache License is that found in the Apache
OpenOffice 3.4 release. Anything that has not been officially released by
Apache has not truly been relicensed.
Indeed, it has been claimed that code
found in the Apache repositories—and, thus, currently distributed by
Apache—is not necessarily available under the Apache License. So
LibreOffice will have to start with the official release, which has had a
lot of components carved out of it. Much of that code has been replaced
with permissively-licensed code, but not all of it. There are also several chunks of code that Apache OpenOffice
may relicense and integrate into a future release, but that has not
happened yet. LibreOffice developers have requested help in clarifying the
license status of that code, but answering those queries has not been a
high priority for Apache OpenOffice, especially while the latter was
working flat-out to make its own first release.
So the relicensing of LibreOffice is not going to be a quick task. The
project must start with, and limit itself to, code that is known to be
available under the Apache license. Then it will be necessary to rebase
the large number of changes made over the lifetime of the LibreOffice
project onto the new release; the project thinks that will be relatively
easy, because Apache OpenOffice has, thus far, not made a lot of changes:
It is worth pointing out that only around 6% of the files in the
Apache OpenOffice incubator project have any code change beyond
changing the license headers. A rather substantial proportion of
the those changes are highly localised, or are inclusions of code
not generated by the Apache project itself.
There remains the task of filling in all of the parts that Apache
OpenOffice simply removed from the code base or has not yet gotten around
to releasing under the Apache License. How easy that will be is not
entirely clear; it may well be that, even after rebasing the project,
LibreOffice may not be able to make a fully MPL-licensed release for some
time. There are also little details like getting the license headers right, but they
seem minor by comparison.
In summary, the LibreOffice project appears to be setting itself up for a
fair amount of work. License changes are hard, especially when one does
not necessarily have the cooperation of the copyright holders; it is only
possible this time around through the surprising combination of the Apache
relicensing and the LibreOffice project's prescient-seeming decision to
require LGPL/MPL dual licensing on all contributions. The reward from all
of this work, the project hopes, will be more flexible licensing that helps
it to compete with the project upon which it is rebasing. All told, the
interesting interplay between these two projects seems destined to continue
for the foreseeable future.
(
Log in to post comments)