diff --git a/.rubocop.yml b/.rubocop.yml index fca3b19..4b122f8 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,5 +1,5 @@ AllCops: - TargetRubyVersion: 2.4 + TargetRubyVersion: 2.5 Exclude: - _site/**/* - vendor/**/* diff --git a/.travis.yml b/.travis.yml index fe5828b..2caf39f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,16 @@ script: "./script/cibuild" #environment language: ruby rvm: - - 2.4.2 + - 2.5.3 addons: apt: packages: - libcurl4-openssl-dev +before_install: + - gem update --system + branches: only: - gh-pages diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3165304..4ad2b89 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,28 +10,28 @@ Please note that this project is released with a [Contributor Code of Conduct](C 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](http://choosealicense.com/about). It’s not a comprehensive list of all possible licenses. +[this site is all about](https://choosealicense.com/about). It’s not a comprehensive list of all possible licenses. ## Adding a license -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 , and there are several requirements for a license to be [cataloged](http://choosealicense.com/appendix/) on the site: +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 , and there are several requirements for a license to be [cataloged](https://choosealicense.com/appendix/) on the site: 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: * [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](http://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. Identification of 3 notable projects using the license with 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 + * [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. 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 for a list of all of the licenses known by the site. +* Is the license already cataloged? See for a list of all of the licenses known by the site. * 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`) * 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 text of the license should match the corresponding text found 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. * The body of the file should be the text of the license in plain text. ## Making Changes diff --git a/README.md b/README.md index 24c54d7..7b6b860 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,15 @@ -# Choosealicense.com +**[ChooseALicense.com](https://choosealicense.com)** aims to provide **accurate**, **non-judgmental**, and **understandable** information about popular **open source licenses** in order to **help people make informed decisions** about the projects they start, maintain, contribute to, and use. [![Build Status](https://travis-ci.org/github/choosealicense.com.svg?branch=gh-pages)](https://travis-ci.org/github/choosealicense.com) -Like a Choose Your Own Adventure site, but only much less interesting. +We catalog [select](CONTRIBUTING.md#adding-a-license) open source licenses with a [Jekyll collection](https://jekyllrb.com/docs/collections/) (in `_licenses`). The catalog is used to render [ChooseALicense.com](https://choosealicense.com) and is regularly vendored into [Licensee](https://github.com/benbalter/licensee), which GitHub uses to provide a [license chooser and license detection](https://help.github.com/articles/adding-a-license-to-a-repository/), a [licenses API](https://developer.github.com/v3/licenses/), and to [display license descriptions and metadata](https://github.com/blog/2335-open-source-license-descriptions-and-metadata). -## Intro +## Goals -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](http://www.choosealicense.com "Choose A Licence website") 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. +* Be accurate, non-judgmental, and understandable. Our goal is to help you find a license that meets *your* goals. +* The homepage should have just enough to help most folks make a decision about what license to use for a project they contribute to. +* For the rest, the site will contain additional information about licenses common to specific communities and situations. +* Collaborate with and reinforce other licensing best practices and standards projects. * 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 @@ -39,9 +33,8 @@ Licenses sit in the `/_licenses` folder. Each license has YAML front matter desc #### 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 +* `title` - The license full name specified by https://spdx.org/licenses/ +* `spdx-id` - Short identifier specified by https://spdx.org/licenses/ * `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](https://github.com/benbalter/licensee) in the form of `project_name: license_file_url` @@ -52,7 +45,7 @@ Licenses sit in the `/_licenses` folder. Each license has YAML front matter desc #### Optional fields * `featured` - Whether the license should be featured on the main page (defaults to false) -* `hidden` - Whether the license is neither [popular](https://opensource.org/licenses) nor fills out the [spectrum of licenses](http://choosealicense.com/licenses/) from strongly conditional to unconditional (defaults to true) +* `hidden` - Whether the license is neither [popular](https://opensource.org/licenses) nor fills out the [spectrum of licenses](https://choosealicense.com/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 @@ -104,4 +97,4 @@ The license properties (rules) are stored as a bulleted list within the licenses ## License -The content of this project itself is licensed under the [Creative Commons Attribution 3.0 license](http://creativecommons.org/licenses/by/3.0/us/deed.en_US), and the underlying source code used to format and display that content is licensed under the [MIT license](http://opensource.org/licenses/mit-license.php). +The content of this project itself is licensed under the [Creative Commons Attribution 3.0 Unported license](https://creativecommons.org/licenses/by/3.0/), and the underlying source code used to format and display that content is licensed under the [MIT license](LICENSE.md). diff --git a/Rakefile b/Rakefile index 360bfdf..45c207c 100644 --- a/Rakefile +++ b/Rakefile @@ -14,8 +14,11 @@ task :test do Rake::Task['spec'].invoke HTMLProofer.check_directory('./_site', check_html: true, + enforce_https: true, validation: { ignore_script_embeds: true }, url_swap: { %r{https://choosealicense.com} => '' }, + url_ignore: [%r{https://github.com/github/choosealicense.com/edit/gh-pages/_licenses/}], + hydra: { max_concurrency: 10 }, check_img_http: true).run end diff --git a/_config.yml b/_config.yml index 004f14b..dffa752 100644 --- a/_config.yml +++ b/_config.yml @@ -34,12 +34,14 @@ exclude: - tests - assets/vendor/selectivizr/tests - assets/vendor/clipboard/test + - assets/vendor/*/README.* plugins: - jekyll-sitemap - jekyll-redirect-from - jekyll-seo-tag - jekyll-coffeescript + - jekyll-github-metadata # For 'Improve this page' links sass: style: :compressed diff --git a/_data/meta.yml b/_data/meta.yml index 6e6de7b..2a58872 100644 --- a/_data/meta.yml +++ b/_data/meta.yml @@ -2,15 +2,11 @@ # The available fields are: - name: title - description: The license full name specified by http://spdx.org/licenses/ + description: The license full name specified by https://spdx.org/licenses/ required: true - name: spdx-id - description: Short identifier specified by http://spdx.org/licenses/ - required: true - -- name: source - description: The URL to the license source text + description: Short identifier specified by https://spdx.org/licenses/ required: true - name: description @@ -44,7 +40,7 @@ required: false - name: hidden - description: Whether the license is neither [popular](https://opensource.org/licenses) nor fills out the [spectrum of licenses](http://choosealicense.com/licenses/) from strongly conditional to unconditional (defaults to true) + description: Whether the license is neither [popular](https://opensource.org/licenses) nor fills out the [spectrum of licenses](https://choosealicense.com/licenses/) from strongly conditional to unconditional (defaults to true) required: false - name: nickname diff --git a/_includes/footer.html b/_includes/footer.html index 219b381..6a16215 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -2,6 +2,7 @@

The content of this site is licensed under the @@ -20,6 +21,16 @@ {% endif %} diff --git a/_includes/header.html b/_includes/header.html index 0d68595..06ee4e0 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -4,7 +4,7 @@ - +