1
0
mirror of https://github.com/github/choosealicense.com synced 2024-06-09 12:47:49 +02:00
choosealicense.com/CONTRIBUTING.md

58 lines
4.2 KiB
Markdown
Raw Normal View History

2013-01-23 01:31:07 +01:00
# How to Contribute
We love Pull Requests! Your contributions help make ChooseALicense.com great.
Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE.md).
2016-02-20 18:24:36 +01:00
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
2013-01-23 01:31:07 +01:00
## Getting Started
2013-10-30 18:10:25 +01:00
So you want to contribute to ChooseALicense. Great! We welcome any help we can
get. But first, please make sure you understand what
[this site is all about](https://choosealicense.com/about). Its not a comprehensive list of all possible licenses.
2013-01-23 01:31:07 +01:00
2016-01-18 21:28:22 +01:00
## Adding a license
2013-01-23 01:31:07 +01:00
Choosealicense.com is intended to demystify license choices, not present or catalog all of them. As such, only a small number are highlighted on the home page or <https://choosealicense.com/licenses>, and there are several requirements for a license to be [cataloged](https://choosealicense.com/appendix/) on the site:
2013-01-23 01:31:07 +01:00
1. The license must have [an SPDX identifier](https://spdx.org/licenses/). If your license isn't registered with SPDX, please [request that it be added](https://spdx.org/spdx-license-list/request-new-license).
2. The license must be listed on one of the following approved lists of licenses:
2016-02-13 21:23:17 +01:00
* [List of OSI approved licenses](https://opensource.org/licenses/alphabetical)
* [GNU's list of free licenses](https://www.gnu.org/licenses/license-list.en.html) (*note: the license must be listed in one of the three "free" categories*)
* [Open Definition's list of conformant licenses](https://opendefinition.org/licenses/) (non-code)
3. A [GitHub code search](https://github.com/search?q=MIT+filename%3ALICENSE&type=Code) must reveal at least *1,000* public repositories using the license.
4. 3 notable projects using the license must be identified. These must have straightforward LICENSE files which serve as examples newcomers can follow and that could be detected by [licensee](https://github.com/benbalter/licensee) if it knew about the license.
2016-01-18 21:28:22 +01:00
If your proposed license meets the above criteria, here's a few other things to keep in mind as you propose the license's addition:
* Is the license already cataloged? See <https://choosealicense.com/appendix/> for a list of all of the licenses known by the site.
2016-01-18 21:28:22 +01:00
* Licenses live in the `/_licenses` folder.
* The license files should be in the format of `_licenses/[lowercased-spdx-id].txt` (e.g., `_licenses/mit.txt`)
2016-01-18 21:28:22 +01:00
* Each license has both [required and optional metadata](https://github.com/github/choosealicense.com#license-metadata) that should be included.
* The text of the license should be wrapped to a 78 character width.
* The text of the license should match the corresponding text found at https://spdx.org/licenses/
* The body of the file should be the text of the license in plain text. Further, this text should be the same as the plain text version of the license in [spdx/license-list-data](https://github.com/spdx/license-list-data/blob/master/text/). If there are errors there, please fix them in [spdx/license-list-XML](https://github.com/spdx/license-list-XML) (from which the plain text version is generated) so as to minimize license text variation and make it easier for choosealicense.com to eventually consume license texts directly from SPDX.
2013-01-23 01:31:07 +01:00
## Making Changes
2013-10-30 18:10:25 +01:00
The easiest way to make a change is to simply edit a file from your browser.
2013-01-23 01:31:07 +01:00
When you click the edit button, it will fork the repository under your account.
Note what issue/issues your patch fixes in the commit message.
For example, to [change this file](/CONTRIBUTING.md),
2013-10-30 18:10:25 +01:00
find it in the GitHub repository. Then click the `Edit` button. Make your
2013-01-23 01:31:07 +01:00
changes, type in a commit message, and click the `Propose File Change` button.
Thats it!
For more advanced changes, check out [the bootstrap instructions](https://github.com/github/choosealicense.com#run-it-on-your-machine) in the [project's readme](/README.md).
2013-10-23 09:07:51 +02:00
## Testing
2016-02-13 21:23:17 +01:00
[HTML::Proofer](https://github.com/gjtorikian/html-proofer) is set up to validate all links within the project. You can run this locally to ensure that your changes are valid:
2013-10-23 09:07:51 +02:00
```shell
./script/bootstrap
./script/cibuild
2013-10-23 09:07:51 +02:00
```