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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce a Contributor License Agreement (CLA) #95

Merged
merged 1 commit into from
Dec 26, 2017

Conversation

JayFoxRox
Copy link
Member

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
Copy link
Member

phire commented Dec 20, 2017

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
Copy link
Member Author

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.

@JayFoxRox JayFoxRox merged commit 1256657 into OpenSWE1R:master Dec 26, 2017
@JayFoxRox JayFoxRox deleted the cla branch December 26, 2017 16:48
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 this pull request may close these issues.

None yet

2 participants