OpenSWE1R / openswe1r

An Open-Source port of the 1999 Game "Star Wars Episode 1: Racer"
https://openswe1r.github.io/
GNU General Public License v2.0
313 stars 26 forks source link

Introduce a Contributor License Agreement (CLA) #95

Closed JayFoxRox closed 6 years ago

JayFoxRox commented 6 years ago

When this is merged we (the OpenSWE1R maintainers) will add a requirement to sign a Contributor License Agreement (CLA) for all future PRs to this repository. We'll be using CLA assistant to enforce it.

The planned CLA can be found here.

Reasoning

Having a CLA is beneficial as it allows us to relicense contributions at a later time. While this might sound scary to some, we feel that it is a necessity.

History has shown that Software re-licensing can be a complicated and lengthy process. It is often necessary because the original license is not suitable anymore or found to be invalid.

A good example is the GPL incompatibility of the Apple Appstore and similar platforms. If we want to release OpenSWE1R for iOS devices through the platforms official channels in the future, we'd have to make that particular release under another license (like the BSD or MIT licenses). However, we'd have to get permission from every contributor to do so. Another issue could be compatibilty with platform specific APIs like the Steam "Steamworks" API. Once multiplayer is implemented, people might also start making changes which won't have to be open-source (as the GPL intends) - switching to an AGPL license would protect us in such cases. Use in other game engines such as Unity or Unreal-Engine might require the use of the LGPL.

What will change

Having a CLA allows us to change the license (and dual-license) in the future. The planned CLA will allow us to license all contributions "under the terms of any licenses the Free Software Foundation classifies as Free Software License and which are approved by the Open Source Initiative as Open Source licenses."

We won't have to contact people many years after they made their contributions. Instead, we ask for permission when the contribution is made.

Other people who would want to license OpenSWE1R differently will simply have to ask the maintainers, even when some of the original contributors would be hard or impossible to reach.


As legal stuff is boring (and scary), we've tried to keep the agreement as short as possible (We hope we did not accidentally invalidate the CLA in the process or added any new issues 😟 ).

The CLA does not require any personal information - just clicking a single button is enough for us.

The CLA is currently governed by laws of Germany, simply because that's where I (JayFoxRox), the projects founder, comes from. In the future, that might change to the US as more maintainers join the project.

We are currently not able to release OpenSWE1R under a non-GPL license anyway. Unicorn, one of our main dependencies, is licensed under the GPL. However, once the need for Unicorn is gone, we might want the option to release OpenSWE1R under a different license for reasons such as those stated above.

Also, we do not intend to switch away from the GPL in the foreseeable future. We just want the option of adapting a new license if the circumstances make it necessary.

phire commented 6 years ago

Perhaps add a bit of an explication as to why a CLA is needed to the readme.

Something like:

The CLA allows us to easily switch to another FSF approved open source license, if the need should ever arise. 
JayFoxRox commented 6 years ago

This is important. So I left it opened for 3 days so far. This is the last request for comments. It will probably be merged tomorrow if there are no further comments / feedback.