Alpaka: Relicensing vom LGPL3+ to MPL2

Created on 11 Sep 2018  路  23Comments  路  Source: alpaka-group/alpaka

I am currently talking to @SylvainCorlay and they are interested in using Alpaka for GPU support. Since they have (American) business customers, they can't include copyleft licenses in their stack.

Since Alpaka is header-only and LGPL is not very well defined very bloated, yet in v3+ okay for such kind of libraries, see e.g. Eigen discussions in the past [1] [2] [3], I don't really see how we can benefit from it. Also, Alpaka is designed in a way that it is fully user-level extensible via traits, making the definition of "improvements"/"changes" on Alpaka "core" very hard to define.

The discussion I would therefore start is if we want to move Alpaka (and cupla) to a license without copyleft. E.g. ISC, MIT license, new BSD, MPL2 or Apache2. If I remember correctly, @juckel told me that the recommended licenses at HZDR are currently GPL(3+), LGPL(3+) and Apache2. Imho, ISC-like licenses are fine too since Europe is not too big in software patents, but Apache2 also keeps some options open for us for potential trademarks which is useful.

Update: Nevertheless, an important issue with Apache2 is, that it is incompatible with GPL2. In the projects we develop, we always use the latest GPL (v3) (and allow "or newer"), but we should not exclude GPL2. Therefore, using as Eigen a MPL2 license would have the same benefits without the GPL2 incompatibility. (We want to be in the Linux kernel at some point, don't we? ;-) )

Besides the discussion about this, we would then need to collect the agreement from all contributors, e.g. in a GitHub issue. But let us discuss first in the next days/weeks.

Relicense

Most helpful comment

My name is 5chae3 B4ss0ann, and I am a contributor to Alpaka. I have
used or may have used the following email address(es):
m.[email protected]. I consent to change the current license contained in
the License file at
https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER
from the LGPL-3+ license to the MPL2 (compatible with secondary
licenses-mode) with respect to all of my contributions to Alpaka.

All 23 comments

Just for comparison, spack is currently migrating to a dual license MIT/Apache2 and is basically also shipping as-source since it's a python lib. See rationale for a dual license of MIT and Apache2 here: https://github.com/spack/spack/issues/9144

I asked why they did not simply choose MPL2 that should cover both benefits.

Update: MPL2 is weak (file-level) copyleft. Also ok, imho: https://www.mozilla.org/en-US/MPL/2.0/FAQ/

I do not have any problem with relicensing. Personally I would prefer a more relaxed license and especially a simple to understand one. Dual-licensing seems to be too complicated to understand the implication for anyone except lawyers.

Somewhat related: in yesterday's meeting there was a discussion that having alpaka examples as LGPL does not make a lot of sense (even if alpaka remains LGPL). Firstly, they are code for binaries and not linked as is anyways (so it is effectively GPL then) and, secondly, pointed out by @theZiz the code of examples is meant to be copied to user's own code and modified.

@BenjaminW3 thx for your feedback. Imho, any ISC, MIT license, or new BSD would be the simplest and most permissive solution. Of the three, ISC is the most modern, removing outdated language (source).

Downside is missing software patent use (we are international, even if not relevant for DE/EU) and missing trademark use. That's why one of the previous combined with Apache2 would make sense in dual-mode (and Apache2 not being GPL2 compatible in stand-alone).

Alternatively, MPL2 is "file level copyleft", in the sense of what we had originally in mind, and offers the same broad protection: https://choosealicense.com/licenses/

I am fine if we will change the license. But I think I can not be a real help to select the right license.

We had the discussion again today and would, if nobody objects, relicense our header-only libraries to MPL2 (compatible with secondary licenses-mode).

The examples make sense to get an ISC header for copy-and-paste allowance to anywhere, even closed-source distributed projects.

  • [x] @BenjaminW3
  • [x] @bussmann
  • [x] @psychocoderHPC
  • [x] @ax3l
  • [x] @erikzenker
  • [x] @tdd11235813
  • [x] @kloppstock
  • [x] @theZiz
  • [x] @bertwesarg
  • [x] @q-p
  • [x] @mxmlnkn
  • [x] @tu-maurice
  • [x] @sbastrakov
  • [x] @m-zacharias

@BenjaminW3 @psychocoderHPC @ax3l @erikzenker @tdd11235813 @kloppstock @theZiz @bertwesarg @q-p @mxmlnkn @tu-maurice @sbastrakov @m-zacharias

Can you please reply with the text:

My name is _________________________, and I am a contributor to Alpaka. I have used or may have used the following email address(es): ______________________________. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

If you agree with this license change? We will then open a PR and re-license all affected files in Alpaka.

My name is Axel H眉bl, and I am a contributor to Alpaka. I have used or may have used the following email address(es): a.[email protected], axel.[email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Sergei Bastrakov, and I am a contributor to Alpaka. I have used or may have used the following email address(es): sergey.[email protected], s.[email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Rene Widera, and I am a contributor to Alpaka. I have used or may have used the following email address(es): r.[email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Matthias Werner, and I am a contributor to Alpaka. I have used or may have used the following email address(es): Matthias.[email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is 5chae3 B4ss0ann, and I am a contributor to Alpaka. I have
used or may have used the following email address(es):
m.[email protected]. I consent to change the current license contained in
the License file at
https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER
from the LGPL-3+ license to the MPL2 (compatible with secondary
licenses-mode) with respect to all of my contributions to Alpaka.

My name is Michael Bussmann, and I am a contributor to Alpaka. I have
used or may have used the following email address(es):
m.[email protected]. I consent to change the current license contained in
the License file at
https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER
from the LGPL-3+ license to the MPL2 (compatible with secondary
licenses-mode) with respect to all of my contributions to Alpaka.

My name is Jonas Schenke, and I am a contributor to Alpaka. I have used or may have used the following email address(es): [email protected], jonas.[email protected], j.[email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Daniel Vollmer, and I am a contributor to Alpaka. I have used or may have used the following email address(es): [email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is mxmlnkn, and I am a contributor to Alpaka. I have used or may have used the following email address(es): [email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Bert Wesarg, and I am a contributor to Alpaka. I have used or may have used the following email address(es): bert.[email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Valentin Gehrke, and I am a contributor to Alpaka. I have used or may have used the following email address(es): valentin.[email protected], [email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Alexander Matthes, and I am a contributor to Alpaka. I have used or may have used the following email address(es): a.[email protected], [email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

@BenjaminW3 please don't forget to confirm here as well, I treated the re-license of examples and library separate (also with each a different text).

My name is Malte Zacharias, and I am a contributor to Alpaka. I have used or may have used the following email address(es): m.[email protected], malte.[email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Erik Zenker, and I am a contributor to Alpaka. I have used or may have used the following email address(es): e.[email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

My name is Benjamin Worpitz, and I am a contributor to Alpaka. I have used or may have used the following email address(es): [email protected]. I consent to change the current license contained in the License file at https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/COPYING.LESSER from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to Alpaka.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ax3l picture ax3l  路  5Comments

BenjaminW3 picture BenjaminW3  路  3Comments

psychocoderHPC picture psychocoderHPC  路  5Comments

BenjaminW3 picture BenjaminW3  路  3Comments

jkelling picture jkelling  路  4Comments