Skip to content
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

[RFC] Relicense LLAMA (away from LGPL) #733

Closed
bernhardmgruber opened this issue May 2, 2023 · 16 comments · Fixed by #808
Closed

[RFC] Relicense LLAMA (away from LGPL) #733

bernhardmgruber opened this issue May 2, 2023 · 16 comments · Fixed by #808

Comments

@bernhardmgruber
Copy link
Member

bernhardmgruber commented May 2, 2023

I have been thinking about this for a long time. LLAMA is licensed under LGPL3+, which sounds scary to some people, including me. However, because the library's design is header-only, several special cases apply. Those are summarized for example in the Eigen Licensing FAQ, which has an equivalent library design. However, this effectively means that we use a scary license name for a behavior that can be expressed by simpler licenses. Which gets me here:

I propose to relicense LLAMA to a simpler license. I am not a fan of copyleft as well, so I would also value a permissive license. And the license should be well known/widely used.

What comes to mind are licenses like MIT, BSD-2, BSL, Apache. choosealicense.com recommends MIT. Apache is fairly long compared to the others. BSD-2 seems similar to MIT, but I read it's less widely used. My personal favorite is BSL, because it does not require license distribution with binaries and therefore simplifies the life of downstream users.

What does not fit my proposal are licenses like GPL (copyleft), LGPL (copyleft), EPL (copyleft), MPL (copyleft) or the EUPL (complex). Sadly, the latter two are used by alpaka and bactria, so my proposal does not help in reducing the license fragmentation.

So far, the following persons have contributed to LLAMA and would need to be asked before such a license change:

For the last three contributors the changes are very minor (merged 1 PR, 14 lines and 4 lines, some of them no longer existing in today's develop branch). I think it's realistic that we could still contact these authors if we decide for a license change.

What do people think?

@bernhardmgruber
Copy link
Member Author

See similar discussion for alpaka: alpaka-group/alpaka#637

@theZiz
Copy link
Collaborator

theZiz commented Nov 21, 2023

I would not like to change a licence because people are not able to read and understand scared. Afair the LGPL3 is meant to be used for header only libraries, it's not like a chose it randomly back in the days.
The copy left is intended. You want to use the library? Sure! Just do as you would link a dynamic library and give credit. You want to change it? Sure! But your changes should be free, too. 😉

Is there anything with the LGPL3 which does not make this working anymore as I intented it?

  • Use: Only credit needed
  • Change: Copyleft

@theZiz
Copy link
Collaborator

theZiz commented Nov 21, 2023

To make this sure as I value the discussion Eigen had: MPL2 would be fine for me. I want copyleft.

@bernhardmgruber
Copy link
Member Author

Hey @theZiz, thx for replying! :)

I would not like to change a licence because people are not able to read and understand scared.

I am afraid it may hinder LLAMA's adoption, so I would like to make it as easy as possible for other people to consume LLAMA in their projects.

it's not like a chose it randomly back in the days. The copy left is intended. You want to use the library? Sure! Just do as you would link a dynamic library and give credit. You want to change it? Sure! But your changes should be free, too. 😉

I respect your judgement as the original author, although I have a much different philosophy: You want to use the library? Just do it! No need to think about anything, just install, copy&paste, no long LICENSE.txt, etc. I don't even need attribution or copyleft. Which is why I like BSL. Just copy&paste the files and go.

I believe forcing people to share their fixes (copyleft) will not increase contributions. They either know open source development and care about it, in which case they will submit their fix, or they don't know and will not do so, possibly violating the license. I don't think the legal aspect matters here. I believe it's far more a cultural, awareness, knowledge thing.

Is there anything with the LGPL3 which does not make this working anymore as I intented it? Use: Only credit needed. Change: Copyleft

LGPL3 still works that way for header only libraries, due to all the special cases.

To make this sure as I value the discussion Eigen had: MPL2 would be fine for me. I want copyleft.

I would rather have MPL2 than LGPL3. This would also be consistent with alpaka.

@bernhardmgruber
Copy link
Member Author

@bertwesarg and @psychocoderHPC, would a relicense to MPL2 be ok for you?

@bertwesarg
Copy link
Collaborator

bertwesarg commented Dec 1, 2023

is this still just the discussion or already the vote, like it was done in alpaka-group/alpaka#637?

@bernhardmgruber
Copy link
Member Author

is this still just the discussion or already the vote, like it was done in alpaka-group/alpaka#637?

This is still a discussion, because there is no point in a vote if anybody has an "over my dead body" stance. If you are in favor, then I think we could start a vote. Possibly using a similar text as for alpaka. So, would you be fine with relicense to MPL2?

@bernhardmgruber
Copy link
Member Author

Ping @bertwesarg.

@bertwesarg
Copy link
Collaborator

bertwesarg commented Dec 4, 2023

I wont do the work twice. Open the actual voting (whatever this is called) and let the contributors make their statement. Its even twice the work for you, as you need to ping all the contributors again.

@psychocoderHPC
Copy link
Member

I am fine with switching to MPL2!

@bernhardmgruber
Copy link
Member Author

bernhardmgruber commented Dec 4, 2023

Alright, let's have a similar vote as done for alpaka in alpaka-group/alpaka#637. I need permissions from:

The changes done by other contributors have been removed or rewritten over time.

Please reply with the text:

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

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

@bernhardmgruber
Copy link
Member Author

My name is Bernhard Manfred Gruber, and I am a contributor to LLAMA. I have used the following email address(es) for my contributions: bernhardmgruber@gmail.com. I consent to change the current license contained in the License file at https://github.com/alpaka-group/llama/blob/develop/LICENSE from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to LLAMA.

@bertwesarg
Copy link
Collaborator

My name is Bert Wesarg, and I am a contributor to LLAMA. I have used the following email address(es) for my contributions: bert.wesarg@tu-dresden.de. I consent to change the current license contained in the License file at https://github.com/alpaka-group/llama/blob/develop/LICENSE from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to LLAMA.

@psychocoderHPC
Copy link
Member

My name is René Widera, and I am a contributor to LLAMA. I have used the following email address(es) for my contributions: r.widera@hzdr.de. I consent to change the current license contained in the License file at https://github.com/alpaka-group/llama/blob/develop/LICENSE from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to LLAMA.

@theZiz
Copy link
Collaborator

theZiz commented Dec 16, 2023

My name is Alexander Matthes, and I am a contributor to LLAMA. I have used the following email address(es) for my contributions: ziz@mailbox.org, alexander@porygon. I consent to change the current license contained in the License file at https://github.com/alpaka-group/llama/blob/develop/LICENSE from the LGPL-3+ license to the MPL2 (compatible with secondary licenses-mode) with respect to all of my contributions to LLAMA.

@bernhardmgruber
Copy link
Member Author

Thanks a lot for all the votes! LLAMA is now under MPL-2.0!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants