1
0
mirror of https://github.com/github/choosealicense.com synced 2024-12-22 12:50:24 +01:00

Merge branch 'gh-pages' into gh-pages

This commit is contained in:
sieversMartin 2016-01-21 17:00:17 +01:00
commit 47a7dc9ffb
31 changed files with 154 additions and 87 deletions

View File

@ -18,7 +18,7 @@ defaults:
values:
layout: license
featured: false
hidden: false
hidden: true
variant: false
exclude:

View File

@ -4,8 +4,6 @@ source: http://opensource.org/licenses/afl-3.0
description: The Academic Free License is a variant of the Open Source License that does not require that the source code of derivative works be disclosed. It contains explicit copyright and patent grants and reserves trademark rights in the author.
hidden: true
how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Files licensed under OSL 3.0 must also include the notice "Licensed under the Academic Free License version 3.0" adjacent to the copyright notice.
required:

View File

@ -30,6 +30,7 @@ forbidden:
- no-liability
- no-sublicense
hidden: false
---
GNU AFFERO GENERAL PUBLIC LICENSE

View File

@ -27,6 +27,7 @@ forbidden:
- trademark-use
- no-liability
hidden: false
---
Apache License

View File

@ -22,6 +22,7 @@ forbidden:
- no-liability
- trademark-use
hidden: false
---
The Artistic License 2.0

View File

@ -24,6 +24,7 @@ permitted:
forbidden:
- no-liability
hidden: false
---
Copyright (c) [year], [fullname]

View File

@ -1,7 +1,6 @@
---
title: BSD 3-clause Clear License
nickname: Clear BSD
hidden: true
family: BSD
tab-slug: bsd-3-clear

View File

@ -23,6 +23,7 @@ permitted:
forbidden:
- no-liability
hidden: false
---
Copyright (c) [year], [fullname]

View File

@ -25,6 +25,7 @@ forbidden:
required: []
hidden: false
---
CC0 1.0 Universal

View File

@ -30,6 +30,7 @@ permitted:
forbidden:
- no-liability
hidden: false
---
Eclipse Public License - v 1.0

View File

@ -29,6 +29,7 @@ forbidden:
- no-liability
- no-sublicense
hidden: false
---
GNU GENERAL PUBLIC LICENSE

View File

@ -28,6 +28,7 @@ permitted:
forbidden:
- no-liability
hidden: false
---
GNU GENERAL PUBLIC LICENSE

View File

@ -21,6 +21,7 @@ permitted:
forbidden:
- no-liability
hidden: false
---
Copyright (c) [year], [fullname]

View File

@ -29,6 +29,7 @@ permitted:
forbidden:
- no-liability
hidden: false
---
GNU LESSER GENERAL PUBLIC LICENSE

View File

@ -28,6 +28,7 @@ permitted:
forbidden:
- no-liability
hidden: false
---
GNU LESSER GENERAL PUBLIC LICENSE

View File

@ -20,6 +20,7 @@ permitted:
forbidden:
- no-liability
hidden: false
---
The MIT License (MIT)

View File

@ -23,6 +23,7 @@ forbidden:
- no-liability
- trademark-use
hidden: false
---
Mozilla Public License Version 2.0

View File

@ -1,6 +1,5 @@
---
title: Microsoft Public License
hidden: true
source: http://opensource.org/licenses/ms-pl

View File

@ -1,6 +1,5 @@
---
title: Microsoft Reciprocal License
hidden: true
source: http://opensource.org/licenses/ms-pl

View File

@ -20,6 +20,7 @@ forbidden:
- distribution
- sublicense
hidden: false
---
Copyright [year] [fullname]

View File

@ -1,7 +1,6 @@
---
title: SIL Open Font License 1.1
redirect_from: /licenses/ofl/
hidden: true
source: http://scripts.sil.org/OFL_web
description: The Open Font License (OFL) is maintained by SIL International. It attempts to be a compromise between the values of the free software and typeface design communities. It is used for almost all open source font projects, including those by Adobe, Google and Mozilla.

View File

@ -1,6 +1,5 @@
---
title: Open Software License 3.0
hidden: true
source: http://opensource.org/licenses/OSL-3.0
description: OSL 3.0 is a copyleft license that does not require reciprocal licensing on linked works. It also provides an express grant of patent rights from contributors to users, with a termination clause triggered if a user files a patent infringement lawsuit.

View File

@ -22,6 +22,7 @@ forbidden:
required: []
hidden: false
---
This is free and unencumbered software released into the public domain.

View File

@ -1,6 +1,5 @@
---
title: "Do What The F*ck You Want To Public License"
hidden: true
source: http://www.wtfpl.net/
description: The easiest licence out there. It gives the user permissions to do whatever they want with your code.

View File

@ -1,7 +1,8 @@
require 'spec_helper'
describe "license categories" do
families.each do |family|
describe "the #{family} family" do
context "the #{family} family" do
family_licenses = licenses.select { |l| l["family"] == family }
primary = family_licenses.select { |l| l["variant"] == false }
variants = family_licenses.select { |l| l["variant"] == true }
@ -16,7 +17,7 @@ families.each do |family|
end
family_licenses.each do |license|
describe "the #{license["title"]} license" do
context "the #{license["title"]} license" do
it "should have a unique slug" do
dupes = family_licenses.select { |l| l["tab-slug"] == license["tab-slug"] }.count
expect(dupes).to eql(1)
@ -29,3 +30,4 @@ families.each do |family|
end
end
end
end

View File

@ -1,11 +1,13 @@
require 'spec_helper'
describe "license fillable fields" do
licenses.each do |license|
describe "The #{license["title"]} license" do
it "should only contain supported fields" do
matches = license["content"].scan /\[([a-z]+)\]/
context "The #{license["title"]} license" do
it "should only contain supported fillable fields" do
matches = license["content"].scan(/\[([a-z]+)\]/)
extra_fields = matches.flatten - fields.map { |f| f["name"] }
expect(extra_fields).to be_empty
end
end
end
end

View File

@ -1,11 +1,12 @@
require 'spec_helper'
describe "license meta" do
licenses.each do |license|
# Manually load the raw license so we don't get thed defaults
raw_fields = SafeYAML.load_file("_licenses/#{license["id"]}.txt")
describe "The #{license["title"]} license" do
context "The #{license["title"]} license" do
it "should only contain supported meta fields" do
extra_fields = raw_fields.keys - meta.map { |m| m["name"] }
expect(extra_fields).to be_empty
@ -30,3 +31,4 @@ licenses.each do |license|
end
end
end
end

View File

@ -1,15 +1,16 @@
require 'spec_helper'
describe "license rules" do
licenses.each do |license|
groups = rules.keys
describe "The #{license["title"]} license" do
context "The #{license["title"]} license" do
groups.each do |group|
valid_tags = rules[group].map { |r| r["tag"] }
describe "the #{group} group" do
context "the #{group} group" do
it "should exist" do
expect(license[group]).to_not be_nil
end
@ -22,3 +23,4 @@ licenses.each do |license|
end
end
end
end

View File

@ -0,0 +1,37 @@
require 'spec_helper'
describe "shown licenses" do
# Whitelist of popular licenses that are shown (non-hidden)
# Note: most new licenses that are added should be hidden by default
SHOWN_LICENSES = %w[
agpl-3.0
apache-2.0
artistic-2.0
bsd-2-clause
bsd-3-clause
cc0-1.0
epl-1.0
gpl-2.0
gpl-3.0
isc
lgpl-2.1
lgpl-3.0
mit
mpl-2.0
no-license
unlicense
]
it "has the expected number of shown licenses" do
expect(shown_licenses.count).to eql(16)
end
shown_licenses.each do |license|
context "the #{license["title"]} license" do
it "is whitelisted to be shown" do
expect(SHOWN_LICENSES).to include(license["id"])
end
end
end
end

View File

@ -1,11 +1,13 @@
require 'spec_helper'
describe "licenses" do
licenses.each do |license|
# "No license" isn't really a license, so no need to test
next if license["id"] == "no-license"
describe "The #{license["title"]} license" do
context "The #{license["title"]} license" do
let(:id) { license["id"] }
@ -15,6 +17,7 @@ licenses.each do |license|
it "uses its SPDX name" do
spdx = find_spdx(id)
expect(spdx).to_not be_nil
expect(spdx[1]["name"].gsub(/ only$/,"")).to eql(license["title"])
end
@ -25,3 +28,4 @@ licenses.each do |license|
end
end
end
end

View File

@ -19,11 +19,21 @@ def config
end
def licenses
$licenses ||= begin
site.collections["licenses"].docs.map do |license|
id = File.basename(license.basename, ".txt")
license.to_liquid.merge("id" => id)
end
end
end
def hidden_licenses
licenses.select { |l| l["hidden"] }
end
def shown_licenses
licenses.select { |l| !l["hidden"] }
end
def license_ids
licenses.map { |l| l["id"] }