-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Relicensing vom LGPL3+ to MPL2 #637
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: spack/spack#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. |
@BenjaminW3 @psychocoderHPC @ax3l @erikzenker @tdd11235813 @kloppstock @theZiz @bertwesarg @q-p @mxmlnkn @tu-maurice @sbastrakov @m-zacharias Can you please reply with the text:
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.huebl@hzdr.de, axel.huebl@plasma.ninja. 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.bastrakov@gmail.com, s.bastrakov@hzdr.de. 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.widera@hzdr.de. 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.Werner1@tu-dresden.de. 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.bussmann@hzdr.de. 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.bussmann@hzdr.de. 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): jonas@groeger-clan.de, jonas.schenke@mailbox.tu-dresden.de, j.schenke@hzdr.de. 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): code@maven.de. 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): mxmlnkn@github.de. 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.wesarg@tu-dresden.de. 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.gehrke@mailbox.tu-dresden.de, madmaurice@zom.bi. 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.matthes@hzdr.de, ziz@mailbox.org. 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.zacharias@hzdr.de, malte.zacharias@web.de. 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.zenker@hzdr.de. 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): benjaminworpitz@gmail.com. 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. |
I am considering a similar license change for LLAMA, also LGPL3+ at the moment. For the same reasons. I resonate very much with @BenjaminW3's comment on wanting a simple and permissive license. Was the missing patent grant in MIT/ISC/BSD etc. the problem, why you did not adopt such a license for alpaka? @ax3l you said, that you want a license without copyleft, but then you chose MPL2, which is a (weak) copyleft license. Was that because the copyleft of MPL2 is only for MPL2-licenses files, so weak enough? That is, if someone modifies files of alpaka, you force those changes under MPL2. But if someone extends alpaka via traits defined in other files, those can have any license. |
Incidentally, I was also recently looking a bit into this and I'm also not a fan of copyleft. Personally, I am a fan of MIT and use it for most of my projects. However, while reading up about it again, I find that MIT + Apache dual licensing, like is common in the Rust ecosystem, has the advantage that it includes your mentioned patent issues. Note that the user of the library can simply use MIT because it is an OR-wise dual-license. However, all contributors have to agree to the dual-licensing and thereby agree to the grant of patent license section:
This makes usage of a library much safer from a user perspective, but it makes contributing to an open-source project more difficult especially when you are working for a company. Companies might want to forbid contributions to such open-source projects because they don't want to give patent rights. |
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 definedvery 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.
The text was updated successfully, but these errors were encountered: