<html><head></head><body>hello Norman,<br>
<br>
I am watching the GenodeOS for quite some time. A while ago I started a port of Erlang language to genode. Erlang is licensed under ASFv2. In order to compile it under GenodeOS it needs a c library.<br>
please clarify how it would be possible to combine ASF and AGPL.<br>
<br>
Best regards,<br>
ILYA<br><br><div class="gmail_quote">On December 14, 2016 1:54:16 AM PST, Norman Feske <norman.feske@...1...> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Dear community,<br /><br />with the upcoming release 17.02, we are planning to change Genode's<br />open-source license.<br /><br /><br />The current GPLv2 license<br />-------------------------<br /><br />The Genode OS Framework is currently licensed under the terms of the<br />version 2 of the GNU General Public License. We originally picked this<br />license in 2008 for the following reasons:<br /><br />* It captures the spirit of Free Software, which we deeply share with<br /> the FSF. The license ultimately empowers the authors and the end<br /> users of software. Genode would not exist without Free Software. It<br /> is built on the shoulders of software like GCC, the GNU system, or<br /> Linux. All software that we at Genode Labs develop is Free Software.<br /><br />* At the time of the first Genode release, the GPLv2 was a time-tested<br /> and widely used license.<br /><br />* It enables the dual-licensing business model of Genode Labs. If<br />
Genode is commercially leveraged for proprietary solutions, Genode<br /> Labs benefits from the success of such products. This way, Genode<br /> has a long-term strategy to fund its development without relying on<br /> donations, public funding, or venture capital. We value this<br /> independence as fundamental for the sustainability of our project.<br /><br />* Adopting the same license as Linux made a lot of sense because we<br /> are routinely reusing Linux driver code inside Genode components.<br /><br /><br />Affero General Public License<br />-----------------------------<br /><br />The time did not stand still. The GPLv3 became widely spread and<br />well-understood. It rectifies several shortcomings of the GPLv2.<br />Furthermore, the Affero General Public License [1] closes loopholes of<br />the GPL license with respect to web applications. Unlike 2008 when most<br />applications were programs executed directly on the end user's computer,<br />web applications have
become predominant by now.<br /><br />For Genode, we ignored the deficiencies of the GPLv2 for a long time. At<br />the same time, with more and more software being added to our "ports" -<br />the library of 3rd-party software ported to Genode - the license<br />compatibility question, which we tried to avoid for Linux kernel code,<br />arises for other 3rd-party software that is combined with Genode.<br /><br />Admittedly, one reason for our hesitance was our fear of long-winded and<br />opinion-loaded discussions around the licensing topic. But we ultimately<br />have to acknowledge that an update to a modern license and a<br />clarification of our stance with respect to the interoperability of<br />Genode with other Open-Source software is long overdue.<br /><br />The AGPLv3 encapsulates exactly the spirit, which originally attracted<br />us to the GPL. After careful review, it makes perfect sense to use it<br />for Genode. The following Wikipedia article nicely explains the<br
/>rationale behind this license:<br /><br /> <a href="https://en.wikipedia.org/wiki/Affero_General_Public_License">https://en.wikipedia.org/wiki/Affero_General_Public_License</a><br /><br /><br />Addressing interoperability concerns<br /><hr /><br /><br />Unlike most end-user software, which falls into a tangible category<br />(application, library, kernel), Genode plays a special role. Not just<br />because it is an operating system. But it is very unconventional at<br />that: It is a collection of programs (Genode components). It is also a<br />set of application libraries. It is also a "system library". It also<br />comprises a dynamic linker. It may also be the kernel (i.e., our base-hw<br />kernel). The lines between the categories become blurry.<br /><br />For this reason, we intend to add a linking clause to Genode's version<br />of the AGPL license text, similar to the classpath linking exception but<br />restricted to software licenses that are blessed by the
Open-Source<br />Initiative, the Free Software Foundation, or Genode Labs.<br /><br />Inspired from the text of the classpath linking exception, our clause<br />would look as follows:<br /><br /> Linking Genode code statically or dynamically with other modules<br /> is making a combined work based on Genode. Thus, the terms and<br /> conditions of the GNU Affero General Public License version 3<br /> (AGPLv3) cover the whole combination.<br /><br /> As an "additional permission" as defined by Section 7 of the<br /> AGPLv3, Genode Labs as the copyright holder of Genode gives you<br /> permission to link Genode source code with "independent modules"<br /> to produce an executable if the independent modules are licensed<br /> under an "approved license", and to copy and distribute the<br /> resulting executable under terms of your choice, provided that you<br /> also meet, for each linked independent module, the terms and<br /> conditions of the license of that module.<br
/><br /> An "approved license" is a license that is officially approved as<br /> an Open-Source license by the Open Source Initiative [1], or<br /> listed as a Free-Software license by the Free Software Foundation<br /> [2], or explicitly approved by Genode Labs.<br /><br /> An "independent module" is a module which is not derived from or<br /> based on Genode.<br /><br /> If you modify Genode, you may extend this exception to your<br /> version of Genode, but you are not obliged to do so. If you do not<br /> wish to do so, delete this exception statement from your version.<br /><br /> [1] <a href="https://opensource.org/licenses">https://opensource.org/licenses</a><br /> [2] <a href="https://www.gnu.org/licenses/license-list.en.html">https://www.gnu.org/licenses/license-list.en.html</a><br /><br />With this clause in place, we want to express our consent to use Genode<br />in combination with other open-source software. Note, however, that -<br />unlike the classpath
exception clause, our clause excludes the<br />combination of Genode with proprietary software. This is our deliberate<br />decision.<br /><br />With Genode becoming AGPLv3, we face the question of how to integrate<br />3rd-party code (like GPLv2-licensed Linux device drivers) in a Genode<br />component. To address this concern, Genode-specific glue code that is<br />needed to integrate the 3rd-party code with the Genode API ("system<br />library") will have a license that is compatible with both the license<br />of the 3rd-party code and Genode's AGPLv3 as such glue code is a<br />derivative of both Genode and the incorporated code, e.g., the MIT<br />license. In line with the wording of the exception clause above, when<br />distributing binaries of such components, the licenses of both Genode<br />and the incorporated 3rd-party code must be respected.<br /><br />I hope that you support our plan to relicense Genode to AGPLv3 along<br />with our linking exception clause. Should you
have doubts about us<br />taking this direction, please let me know.<br /><br />Best regards<br />Norman<br /></pre></blockquote></div><br>
-- <br>
Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>