Updating Genode's license to AGPLv3 + open-source linking clause

Norman Feske norman.feske at ...1...
Wed Dec 14 10:54:16 CET 2016

Dear community,

with the upcoming release 17.02, we are planning to change Genode's
open-source license.

The current GPLv2 license

The Genode OS Framework is currently licensed under the terms of the
version 2 of the GNU General Public License. We originally picked this
license in 2008 for the following reasons:

* It captures the spirit of Free Software, which we deeply share with
  the FSF. The license ultimately empowers the authors and the end
  users of software. Genode would not exist without Free Software. It
  is built on the shoulders of software like GCC, the GNU system, or
  Linux. All software that we at Genode Labs develop is Free Software.

* At the time of the first Genode release, the GPLv2 was a time-tested
  and widely used license.

* It enables the dual-licensing business model of Genode Labs. If
  Genode is commercially leveraged for proprietary solutions, Genode
  Labs benefits from the success of such products. This way, Genode
  has a long-term strategy to fund its development without relying on
  donations, public funding, or venture capital. We value this
  independence as fundamental for the sustainability of our project.

* Adopting the same license as Linux made a lot of sense because we
  are routinely reusing Linux driver code inside Genode components.

Affero General Public License

The time did not stand still. The GPLv3 became widely spread and
well-understood. It rectifies several shortcomings of the GPLv2.
Furthermore, the Affero General Public License [1] closes loopholes of
the GPL license with respect to web applications. Unlike 2008 when most
applications were programs executed directly on the end user's computer,
web applications have become predominant by now.

For Genode, we ignored the deficiencies of the GPLv2 for a long time. At
the same time, with more and more software being added to our "ports" -
the library of 3rd-party software ported to Genode - the license
compatibility question, which we tried to avoid for Linux kernel code,
arises for other 3rd-party software that is combined with Genode.

Admittedly, one reason for our hesitance was our fear of long-winded and
opinion-loaded discussions around the licensing topic. But we ultimately
have to acknowledge that an update to a modern license and a
clarification of our stance with respect to the interoperability of
Genode with other Open-Source software is long overdue.

The AGPLv3 encapsulates exactly the spirit, which originally attracted
us to the GPL. After careful review, it makes perfect sense to use it
for Genode. The following Wikipedia article nicely explains the
rationale behind this license:


Addressing interoperability concerns

Unlike most end-user software, which falls into a tangible category
(application, library, kernel), Genode plays a special role. Not just
because it is an operating system. But it is very unconventional at
that: It is a collection of programs (Genode components). It is also a
set of application libraries. It is also a "system library". It also
comprises a dynamic linker. It may also be the kernel (i.e., our base-hw
kernel). The lines between the categories become blurry.

For this reason, we intend to add a linking clause to Genode's version
of the AGPL license text, similar to the classpath linking exception but
restricted to software licenses that are blessed by the Open-Source
Initiative, the Free Software Foundation, or Genode Labs.

Inspired from the text of the classpath linking exception, our clause
would look as follows:

  Linking Genode code statically or dynamically with other modules
  is making a combined work based on Genode. Thus, the terms and
  conditions of the GNU Affero General Public License version 3
  (AGPLv3) cover the whole combination.

  As an "additional permission" as defined by Section 7 of the
  AGPLv3, Genode Labs as the copyright holder of Genode gives you
  permission to link Genode source code with "independent modules"
  to produce an executable if the independent modules are licensed
  under an "approved license", and to copy and distribute the
  resulting executable under terms of your choice, provided that you
  also meet, for each linked independent module, the terms and
  conditions of the license of that module.

  An "approved license" is a license that is officially approved as
  an Open-Source license by the Open Source Initiative [1], or
  listed as a Free-Software license by the Free Software Foundation
  [2], or explicitly approved by Genode Labs.

  An "independent module" is a module which is not derived from or
  based on Genode.

  If you modify Genode, you may extend this exception to your
  version of Genode, but you are not obliged to do so. If you do not
  wish to do so, delete this exception statement from your version.

  [1] https://opensource.org/licenses
  [2] https://www.gnu.org/licenses/license-list.en.html

With this clause in place, we want to express our consent to use Genode
in combination with other open-source software. Note, however, that -
unlike the classpath exception clause, our clause excludes the
combination of Genode with proprietary software. This is our deliberate

With Genode becoming AGPLv3, we face the question of how to integrate
3rd-party code (like GPLv2-licensed Linux device drivers) in a Genode
component. To address this concern, Genode-specific glue code that is
needed to integrate the 3rd-party code with the Genode API ("system
library") will have a license that is compatible with both the license
of the 3rd-party code and Genode's AGPLv3 as such glue code is a
derivative of both Genode and the incorporated code, e.g., the MIT
license. In line with the wording of the exception clause above, when
distributing binaries of such components, the licenses of both Genode
and the incorporated 3rd-party code must be respected.

I hope that you support our plan to relicense Genode to AGPLv3 along
with our linking exception clause. Should you have doubts about us
taking this direction, please let me know.

Best regards

Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list