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 0b42a5e..2caf39f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,16 @@ script: "./script/cibuild" #environment language: ruby rvm: - - 2.4.0 + - 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 592b0d5..4ad2b89 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,34 +2,36 @@ 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). + 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. ## Getting Started 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 @@ -43,8 +45,6 @@ find it in the GitHub repository. Then click the `Edit` button. Make your changes, type in a commit message, and click the `Propose File Change` button. That’s it! -You will be asked to sign the [GitHub Contributor License Agreement](https://cla.github.com/) for this project when you make your first pull request. - 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). ## Testing diff --git a/Gemfile b/Gemfile index c92472d..6677662 100644 --- a/Gemfile +++ b/Gemfile @@ -17,7 +17,6 @@ end group :test do gem 'html-proofer', '~> 3.0' gem 'licensee' - gem 'nokogiri' gem 'rake' gem 'rspec' gem 'rubocop' diff --git a/LICENSE.md b/LICENSE.md index a08a18f..4b26f77 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2013-2017 GitHub, Inc. and contributors +Copyright (c) 2013-2018 GitHub, Inc. and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 87c5bb6..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 @@ -69,6 +62,7 @@ The licenses on choosealicense.com are regularly imported to GitHub.com to be us * `project` - The repository name * `description` - The description of the repository * `year` - The current year +* `projecturl` - The repository URL or other project website ## License properties @@ -103,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..42c56e3 100644 --- a/Rakefile +++ b/Rakefile @@ -16,6 +16,7 @@ task :test do check_html: true, validation: { ignore_script_embeds: true }, url_swap: { %r{https://choosealicense.com} => '' }, + 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/fields.yml b/_data/fields.yml index 0b5f45d..4e55d42 100644 --- a/_data/fields.yml +++ b/_data/fields.yml @@ -21,3 +21,6 @@ - name: year description: The current year + +- name: projecturl + description: The repository URL or other project website 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 @@ - +