A site to provide non-judgmental guidance on choosing a license for your open source project
Перейти к файлу
Mike Linksvayer d7dd72fdec {} -> <> in license trailer to more closely match canonical texts 2017-10-18 17:04:09 -07:00
_data s/required/true 2017-07-25 11:22:05 -04:00
_includes Updated footer to link to GitHub repo for ChooseALicense 2016-06-13 10:57:40 -07:00
_layouts Removed license text header 2016-04-27 15:55:34 -07:00
_licenses {} -> <> in license trailer to more closely match canonical texts 2017-10-18 17:04:09 -07:00
assets vertical spacing 2016-06-06 10:25:18 -07:00
script mindlessly satisfy rubocop 0.48 2017-03-26 17:19:44 -07:00
spec make `using` required for new licenses 2017-05-30 14:17:13 -07:00
.bowerrc move bower to assets/vendor so we can version the swf 2014-01-31 20:11:03 -05:00
.gitattributes Clean up .gitignore and .gitattributes. 2013-12-09 19:56:23 +02:00
.gitignore update script/server for jekyll 3 2016-02-09 12:23:45 -05:00
.rubocop.yml pages now using ruby 2.4.0 2017-05-27 12:30:43 -07:00
.travis.yml libcurl4-openssl-dev to maybe avoid SSL errors in tests? 2017-10-04 13:59:15 -07:00
CNAME revert 48261c1c77 2013-07-25 13:51:32 -04:00
CODE_OF_CONDUCT.md Add Code of Conduct 2016-02-20 08:46:11 -08:00
CONTRIBUTING.md word for better reading 2017-05-30 14:24:57 -07:00
Gemfile mindlessly satisfy rubocop 0.48 2017-03-26 17:19:44 -07:00
LICENSE.md Update LICENSE Copyright Date to 2017 2017-02-15 20:29:30 +00:00
README.md Switch Travis build badge to svg 2017-07-20 18:38:14 -07:00
Rakefile mindlessly satisfy rubocop 0.48 2017-03-26 17:19:44 -07:00
_config.yml https in config/test strip, maybe no functional difference 2017-01-18 11:58:54 -08:00
about.md focus additional resources on choosing an open license, not lists of licenses 2017-03-14 11:39:34 -07:00
appendix.md same-license--variations 2017-02-19 14:37:32 -08:00
bower.json Replaced zeroclipboard with clipboard.js 2015-10-25 15:17:13 +10:30
existing.md Use HTTPS if available 2017-10-01 21:04:07 +02:00
favicon.ico initial work on new design 2012-09-12 15:20:27 -04:00
index.html Choose an open source license 2016-03-14 00:04:32 -07:00
licenses.html vertical spacing 2016-06-06 10:25:18 -07:00
no-license.md Update no-license 2016-09-09 15:20:11 -07:00
non-software.md Use HTTPS if available 2017-10-01 21:04:07 +02:00
robots.txt Remove `layout: nil`. 2014-12-20 13:55:53 +02:00
terms-of-service.md a few minor markdown formatting fixes 2016-02-13 15:23:17 -05:00

README.md

Choosealicense.com

Build Status

Like a Choose Your Own Adventure site, but only much less interesting.

Intro

A lot of repositories on GitHub.com don't have a license. GitHub provides a license chooser, but if you don't know anything about licenses, how are you supposed to make an informed decision?

ChooseALicense.com is designed to help people make an informed decision about licenses by demystifying license choices through non-judgmental guidance.

Immediate Goals

  • Non-judgmental. Our goal is to help you find a license that meets your goals.
  • Well designed, but that goes without saying.
  • The homepage should have just enough to help 99% of folks make a decision.
  • For the 1%, the site will contain a list of licenses common to specific communities and situations.
  • Not comprehensive. Seems like an odd goal, but there are a bajillion licenses out there. We're going to have to filter that down to a small list of those that matter.

Run It On Your Machine

git clone https://github.com/github/choosealicense.com.git
cd choosealicense.com
script/bootstrap
script/server

Open http://localhost:4000 in your favorite browser.

Adding a license

For information on adding a license, see the CONTRIBUTING file.

License metadata

Licenses sit in the /_licenses folder. Each license has YAML front matter describing the license's properties. The body of the file contains the text of the license in plain text. The available metadata fields are:

Required fields

  • title - The license full name specified by http://spdx.org/licenses/
  • spdx-id - Short identifier specified by http://spdx.org/licenses/
  • source - The URL to the license source text
  • description - A human-readable description of the license
  • how - Instructions on how to implement the license
  • using - A list of 3 notable projects using the license with straightforward LICENSE files which serve as examples newcomers can follow and that can be detected by licensee in the form of project_name: license_file_url
  • permissions - Bulleted list of permission rules
  • conditions - Bulleted list of condition rules
  • limitations - Bulleted list of limitation rules

Optional fields

  • featured - Whether the license should be featured on the main page (defaults to false)
  • hidden - Whether the license is neither popular nor fills out the spectrum of licenses from strongly conditional to unconditional (defaults to true)
  • nickname - Customary short name if applicable (e.g, GPLv3)
  • note - Additional information about the licenses
  • redirect_from - Relative path(s) to redirect to the license from, to prevent breaking old URLs

Auto-populated fields

The licenses on choosealicense.com are regularly imported to GitHub.com to be used as the list of licenses available when creating a repository. When we create a repository, we will replace certain strings in the license with variables from the repository. These can be used to create accurate copyright notices. The available variables are:

Fields

  • fullname - The full name or username of the repository owner
  • login - The repository owner's username
  • email - The repository owner's primary email address
  • project - The repository name
  • description - The description of the repository
  • year - The current year

License properties

The license properties (rules) are stored as a bulleted list within the licenses YAML front matter. Each rule has a name e.g., include-copyright, a human-readable label, e.g., Copyright inclusion, and a description Include the original copyright with the code. To add a new rule, simply add it to _data/rules.yml and reference it in the appropriate license.

Rules

Permissions

  • commercial-use - This software and derivatives may be used for commercial purposes.
  • modifications - This software may be modified.
  • distribution - This software may be distributed.
  • private-use - This software may be used and modified in private.
  • patent-use - This license provides an express grant of patent rights from contributors.

Conditions

  • include-copyright - A copy of the license and copyright notice must be included with the software.
  • document-changes - Changes made to the code must be documented.
  • disclose-source - Source code must be made available when the software is distributed.
  • network-use-disclose - Users who interact with the software via network are given the right to receive a copy of the source code.
  • same-license - Modifications must be released under the same license when distributing the software. In some cases a similar or related license may be used.
  • same-license--file - Modifications of existing files must be released under the same license when distributing the software. In some cases a similar or related license may be used.
  • same-license--library - Modifications must be released under the same license when distributing the software. In some cases a similar or related license may be used, or this condition may not apply to works that use the software as a library.

Limitations

  • trademark-use - This license explicitly states that it does NOT grant trademark rights, even though licenses without such a statement probably do not grant any implicit trademark rights.
  • liability - This license includes a limitation of liability.
  • patent-use - This license explicitly states that it does NOT grant any rights in the patents of contributors.
  • warranty - The license explicitly states that it does NOT provide any warranty.

License

The content of this project itself is licensed under the Creative Commons Attribution 3.0 license, and the underlying source code used to format and display that content is licensed under the MIT license.