Skip to content

Instantly share code, notes, and snippets.

@simnalamburt
Last active January 24, 2017 04:16
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save simnalamburt/4eef1b9373efd81a2912ae8eb2a2793c to your computer and use it in GitHub Desktop.
Save simnalamburt/4eef1b9373efd81a2912ae8eb2a2793c to your computer and use it in GitHub Desktop.
Please specify the code license https://git.io/please-specify-the-code-license

Use the following texts as a template for the issue that asks project maintainers to specify the license. Thank you for participating the Free Software movement!


Why should I specify the license?

I want to use this project, but the license of this code is currently unspecified. By the Berne Convetion and WIPO Copyright Treaty, software published without a license does not grant people to benefit or redistribute in most countries. If you agree with the Free Software movement, please specify the license of this project.

Which one?

  1. If you prefer a GPL-family license, GNU Affero General Public License is the perfect choice for this project since it is about server-side codes.
  2. If you prefer a permissive license, I think Apache-2.0/MIT Dual License is most suitable for this project.

Why Apache-2.0/MIT?

The MIT license requires reproducing countless copies of the same copyright header with different names in the copyright field, for every MIT library in use. The Apache license does not have this drawback. However, this is not the primary motivation for me to do this. The Apache license also gives protection from patent trolls and an explicit contribution licensing clause. However, the Apache license is incompatible with GPLv2. This is why Rust is dual-licensed as MIT/Apache (the "primary" license being Apache, MIT only for GPLv2 compat), and doing so would be wise for this project.

Some ask, "Does this really apply to binary redistributions? Does MIT really require reproducing the whole thing?" I'm not a lawyer and I can't give any legal advice, but some Google Android apps include open source attributions using this interpretation. Others also agree with it.

But again, the copyright notice redistribution is not the primary motivation for the dual-licensing. It's stronger protections to licensees and better interoperation with the wider ecosystem.

What should I do to specify license?

You should add LICENSE file properly and add some notes or comments about it to the existing codes or README.md. If this process if hard for you, just tell me the name of your desired license. I'll make a pull request enabling it for you. 😄

Reference

TODOs

  • GPLv3 or AGPLv3
  • What if I really do want the All right reserved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment