chaiNNer-org / spandrel

Spandrel gives your project support for various PyTorch architectures meant for AI Super-Resolution, restoration, and inpainting. Based on the model support implemented in chaiNNer.
MIT License
105 stars 7 forks source link

Change license to MIT #155

Closed RunDevelopment closed 4 months ago

RunDevelopment commented 4 months ago

Hello @akx and @IcedShake.

Joey and I privately discussed changing the license of this project to MIT and retroactively apply the MIT license to all past releases. Since you contributed code to this repository, you are also rightsholders to this project, I would like to ask you to agree to this license change as well.

Agreeing means that all your code contributions and past and future releases of this project containing your code will be licensed under the MIT license. (For context: exactly that is already happening just with the GPLv3 license. For more information, see below.)

If you have any questions or concerns, please feel free to comment below and we can discuss this.

If you do not agree to this license change or do not respond within a week, we will revert your contributions to move forward with the license change. Of course, we would like to avoid this if possible, so we hope that you agree.


TLDR: MIT is more permissive to users of the library. GLPv3 puts restrictions on how/who can use spandrel, which we do not want. We (@joeyballentine and I) consider using GLPv3 license a mistake, and we would like to fix that.

Motivation: Our goal for spandrel was for the wider community to adopt this library as the primary way to load, save, and run AI upscaling models. Unfortunately, GPLv3 hinders this goal with its strong copyleft. Anyone including spandrel's code in their software distribution would be forced to open source their application. This makes some uses of spandrel (e.g. vendoring) impossible, and spandrel unusable for some people/companies. Therefor, we want to relicense with MIT to lift those restrictions.

MIT vs GLPv3: MIT and GPLv3 are very similar in most aspects. The main difference is copyleft. As described above, GPLv3 forces some people to open-source their application when using this library. The MIT license has no such restriction. It is more permissive.

What does changing the license mean? You contributed to this project and therefor licensed your code under the GPLv3 license. This license places certain restrictions on users of spandrel, that we now want to lift. So we are asking you to allow the license of your code to be changed to MIT.

Do I lose any legal rights to my code? No. You are still the rightsholder of your code contributions. The only thing that change is that people are no longer forced to open source their software for using your code.

Why not use X license? While there are other permissive licenses, MIT is the most commonly-used open source license. Using less known licenses might hinder the adoption of spandrel, as people might (rightfully) be cautious to use a project with a license that is unknown to them. Not everyone is a lawyer/knowledgeable in software licenses. We should meet our (potential) user where they are if we want them to use our code.

akx commented 4 months ago

I'm alright with relicensing my contributions from GPLv3 to MIT.

RunDevelopment commented 4 months ago

Thank you for the quick response @akx!

IcedShake commented 4 months ago

I'm fine with my contributions being relicensed to MIT as well.

RunDevelopment commented 4 months ago

Thank you for your response @IcedShake!

With this, we all agreed to changing the license to MIT.