licensee 8.1.0 → 8.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -2
  3. data/bin/licensee +6 -14
  4. data/lib/licensee.rb +3 -3
  5. data/lib/licensee/license.rb +1 -2
  6. data/lib/licensee/projects/git_project.rb +4 -0
  7. data/lib/licensee/version.rb +1 -1
  8. data/test/helper.rb +4 -0
  9. data/test/test_licensee.rb +1 -1
  10. data/test/test_licensee_bin.rb +8 -4
  11. data/test/test_licensee_license.rb +12 -9
  12. data/test/test_licensee_project.rb +16 -7
  13. data/vendor/choosealicense.com/_licenses/afl-3.0.txt +4 -2
  14. data/vendor/choosealicense.com/_licenses/agpl-3.0.txt +3 -5
  15. data/vendor/choosealicense.com/_licenses/apache-2.0.txt +4 -4
  16. data/vendor/choosealicense.com/_licenses/artistic-2.0.txt +1 -2
  17. data/vendor/choosealicense.com/_licenses/bsd-2-clause.txt +4 -6
  18. data/vendor/choosealicense.com/_licenses/bsd-3-clause-clear.txt +3 -5
  19. data/vendor/choosealicense.com/_licenses/bsd-3-clause.txt +5 -7
  20. data/vendor/choosealicense.com/_licenses/cc-by-4.0.txt +1 -1
  21. data/vendor/choosealicense.com/_licenses/cc-by-sa-4.0.txt +1 -1
  22. data/vendor/choosealicense.com/_licenses/cc0-1.0.txt +1 -5
  23. data/vendor/choosealicense.com/_licenses/epl-1.0.txt +5 -9
  24. data/vendor/choosealicense.com/_licenses/eupl-1.1.txt +2 -5
  25. data/vendor/choosealicense.com/_licenses/gpl-2.0.txt +1 -5
  26. data/vendor/choosealicense.com/_licenses/gpl-3.0.txt +4 -5
  27. data/vendor/choosealicense.com/_licenses/isc.txt +9 -4
  28. data/vendor/choosealicense.com/_licenses/lgpl-2.1.txt +2 -5
  29. data/vendor/choosealicense.com/_licenses/lgpl-3.0.txt +4 -4
  30. data/vendor/choosealicense.com/_licenses/lppl-1.3c.txt +1 -4
  31. data/vendor/choosealicense.com/_licenses/mit.txt +5 -5
  32. data/vendor/choosealicense.com/_licenses/mpl-2.0.txt +10 -3
  33. data/vendor/choosealicense.com/_licenses/ms-pl.txt +2 -1
  34. data/vendor/choosealicense.com/_licenses/ms-rl.txt +3 -1
  35. data/vendor/choosealicense.com/_licenses/ofl-1.1.txt +1 -0
  36. data/vendor/choosealicense.com/_licenses/osl-3.0.txt +7 -6
  37. data/vendor/choosealicense.com/_licenses/unlicense.txt +4 -4
  38. data/vendor/choosealicense.com/_licenses/wtfpl.txt +1 -0
  39. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e37a24f1e7dc1930d8b678d9dc59546575779dc7
4
- data.tar.gz: 30980d421079b9b0f8eed4572d983492e5cf41c9
3
+ metadata.gz: e34131b196b6176d20acb844ce668c691de7003e
4
+ data.tar.gz: a27aeb40069ab19dd1a266a90577dd65753007c0
5
5
  SHA512:
6
- metadata.gz: d5d36072eca3ddb72b3fb3e3f96ad7263b2bad1e1ec4c6b9871720a5cdcdd980409de660dce463f4f2190c8457327a86de8141cb9944e0b83091db2323369755
7
- data.tar.gz: 75f7e2dce4b3a626aadeaac6cdc6654852ac8d79be846623f8573b596ac6932cfac520f5e1cd07bcdd286f25416b7cfe7ff92f708b6e323faf93189a50007881
6
+ metadata.gz: 0fe14b903ee7c7aeac6bece99321a0f278625975c0d44f500444858d8d1740c5601113db2b38c7808db10475eade71dafc03646d21889568803e8a49cbfbd327
7
+ data.tar.gz: 20147a4a74491137b911cfc496f58cac5bb036d33a818b75bfd183d7ed13cdb78880467665619476700c2bab3f2e6f4316b3e996de72855e826599a15ffc680c
data/README.md CHANGED
@@ -19,6 +19,16 @@ _Special thanks to [@vmg](https://github.com/vmg) for his Git and algorithmic pr
19
19
  ## Installation
20
20
  `gem install licensee` or add `gem 'licensee'` to your project's `Gemfile`.
21
21
 
22
+ ## Semantic Versioning
23
+
24
+ This project conforms to [semver](http://semver.org/). As a result of this policy, you can (and should) specify a dependency on this gem using the [Pessimistic Version Constraint](http://guides.rubygems.org/patterns/) with two digits of precision. For example:
25
+
26
+ spec.add_dependency 'licensee', '~> 1.0'
27
+
28
+ This means your project is compatible with licensee 1.0 up until 2.0. You can also set a higher minimum version:
29
+
30
+ spec.add_dependency 'licensee', '~> 1.1'
31
+
22
32
  ## Command line usage
23
33
  1. `cd` into a project directory
24
34
  2. execute the `licensee` command
@@ -51,8 +61,8 @@ license.meta["source"]
51
61
  license.meta["description"]
52
62
  => "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty."
53
63
 
54
- license.meta["permitted"]
55
- => ["commercial-use","modifications","distribution","sublicense","private-use"]
64
+ license.meta["permissions"]
65
+ => ["commercial-use","modifications","distribution","private-use"]
56
66
  ```
57
67
 
58
68
  ## More API
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+
2
3
  require_relative '../lib/licensee'
3
4
 
4
5
  path = ARGV[0] || Dir.pwd
@@ -13,22 +14,13 @@ end
13
14
  def print_evaluation(file)
14
15
  if file
15
16
  puts "License: #{file.license ? file.license.meta['title'] : 'no license'}"
16
- puts "Confidence: #{file.confidence}%"
17
- puts "Method: #{file.matcher.class}"
17
+ puts "Confidence: #{format('%.2f', file.confidence)}%" if file.confidence
18
+ puts "Method: #{file.matcher.class}" if file.matcher
18
19
  else
19
20
  puts 'Unknown'
20
21
  end
21
22
  end
22
23
 
23
- if File.file?(path)
24
- contents = File.read(path, encoding: 'utf-8')
25
- license_file = Licensee::Project::LicenseFile.new(contents, path)
26
- print_file(license_file)
27
- print_evaluation(license_file)
28
- else
29
- options = { detect_packages: true, detect_readme: true }
30
- project = Licensee::GitProject.new(path, options)
31
- file = project.matched_file
32
- print_file(project.license_file)
33
- print_evaluation(file)
34
- end
24
+ project = Licensee.project(path, detect_packages: true, detect_readme: true)
25
+ print_file(project.license_file)
26
+ print_evaluation(project.matched_file)
@@ -41,10 +41,10 @@ module Licensee
41
41
  Licensee.project(path).license
42
42
  end
43
43
 
44
- def project(path)
45
- Licensee::GitProject.new(path)
44
+ def project(path, **args)
45
+ Licensee::GitProject.new(path, args)
46
46
  rescue Licensee::GitProject::InvalidRepository
47
- Licensee::FSProject.new(path)
47
+ Licensee::FSProject.new(path, args)
48
48
  end
49
49
 
50
50
  def confidence_threshold
@@ -54,8 +54,7 @@ module Licensee
54
54
  # These should be in sync with choosealicense.com's collection defaults
55
55
  YAML_DEFAULTS = {
56
56
  'featured' => false,
57
- 'hidden' => true,
58
- 'variant' => false
57
+ 'hidden' => true
59
58
  }.freeze
60
59
 
61
60
  # Pseudo-license are license placeholders with no content
@@ -20,6 +20,10 @@ module Licensee
20
20
  raise InvalidRepository
21
21
  end
22
22
 
23
+ def close
24
+ @repository.close
25
+ end
26
+
23
27
  private
24
28
 
25
29
  def commit
@@ -1,3 +1,3 @@
1
1
  module Licensee
2
- VERSION = '8.1.0'.freeze
2
+ VERSION = '8.2.0'.freeze
3
3
  end
@@ -10,3 +10,7 @@ def assert_license_content(expected, readme)
10
10
  content = Licensee::Project::Readme.license_content(readme)
11
11
  assert_equal expected, content
12
12
  end
13
+
14
+ def windows?
15
+ !(RUBY_PLATFORM =~ /mswin|mingw|cygwin/).nil?
16
+ end
@@ -3,7 +3,7 @@ require 'helper'
3
3
  class TestLicensee < Minitest::Test
4
4
  should 'know the licenses' do
5
5
  assert_equal Array, Licensee.licenses.class
6
- assert_equal 15, Licensee.licenses.size
6
+ assert_equal 7, Licensee.licenses.size
7
7
  assert_equal 28, Licensee.licenses(hidden: true).size
8
8
  assert_equal Licensee::License, Licensee.licenses.first.class
9
9
  end
@@ -3,8 +3,10 @@ require 'helper'
3
3
  class TestLicenseeBin < Minitest::Test
4
4
  should 'work via commandline' do
5
5
  root = File.expand_path '..', File.dirname(__FILE__)
6
- Dir.chdir root
7
- stdout, stderr, status = Open3.capture3("#{root}/bin/licensee")
6
+ stdout, stderr, status = Dir.chdir root do
7
+ args = [windows? && 'ruby', 'bin/licensee'].compact
8
+ Open3.capture3(*args)
9
+ end
8
10
 
9
11
  msg = "expected #{stdout} to include `License: MIT`"
10
12
  assert stdout.include?('License: MIT'), msg
@@ -18,8 +20,10 @@ class TestLicenseeBin < Minitest::Test
18
20
 
19
21
  should 'work via commandline with file argument' do
20
22
  root = File.expand_path '..', File.dirname(__FILE__)
21
- Dir.chdir root
22
- stdout, stderr, status = Open3.capture3("#{root}/bin/licensee LICENSE.md")
23
+ stdout, stderr, status = Dir.chdir root do
24
+ args = [windows? && 'ruby', 'bin/licensee', 'LICENSE.md'].compact
25
+ Open3.capture3(*args)
26
+ end
23
27
 
24
28
  msg = "expected #{stdout} to include `License: MIT`"
25
29
  assert stdout.include?('License: MIT'), msg
@@ -31,6 +31,12 @@ class TestLicenseeLicense < Minitest::Test
31
31
  assert_equal 'MIT License', @license.name
32
32
  end
33
33
 
34
+ should 'know the license properties' do
35
+ assert_equal 4, @license.meta['permissions'].length
36
+ assert_equal 1, @license.meta['conditions'].length
37
+ assert_equal 1, @license.meta['limitations'].length
38
+ end
39
+
34
40
  should 'know the license nickname' do
35
41
  expected = 'GNU AGPLv3'
36
42
  assert_equal expected, Licensee::License.find('agpl-3.0').nickname
@@ -58,16 +64,13 @@ class TestLicenseeLicense < Minitest::Test
58
64
  end
59
65
 
60
66
  should 'inject default meta without overriding' do
61
- license = Licensee::License.new('cc0-1.0')
67
+ license = Licensee::License.new('agpl-3.0')
62
68
 
63
69
  assert license.meta.key? 'featured'
64
70
  assert_equal false, license.meta['featured']
65
71
 
66
72
  assert license.meta.key? 'hidden'
67
73
  assert_equal false, license.meta['hidden']
68
-
69
- assert license.meta.key? 'variant'
70
- assert_equal true, license.meta['variant']
71
74
  end
72
75
 
73
76
  should 'know when the license is hidden' do
@@ -90,7 +93,7 @@ class TestLicenseeLicense < Minitest::Test
90
93
  end
91
94
 
92
95
  should 'strip leading newlines from the license' do
93
- assert_equal 'T', @license.body[0]
96
+ assert_equal 'M', @license.body[0]
94
97
  end
95
98
 
96
99
  should 'fail loudly for invalid licenses' do
@@ -107,7 +110,7 @@ class TestLicenseeLicense < Minitest::Test
107
110
  end
108
111
 
109
112
  should 'know the license hash' do
110
- assert_equal 'fb278496ea4663dfcf41ed672eb7e56eb70de798', @license.hash
113
+ assert_equal '750260c322080bab4c19fd55eb78bc73e1ae8f11', @license.hash
111
114
  end
112
115
 
113
116
  describe 'name without version' do
@@ -139,7 +142,7 @@ class TestLicenseeLicense < Minitest::Test
139
142
 
140
143
  should 'load the licenses' do
141
144
  assert_equal Array, Licensee::License.all.class
142
- assert_equal 15, Licensee::License.all.size
145
+ assert_equal 7, Licensee::License.all.size
143
146
  assert_equal Licensee::License, Licensee::License.all.first.class
144
147
  end
145
148
 
@@ -152,13 +155,13 @@ class TestLicenseeLicense < Minitest::Test
152
155
  should 'filter the licenses' do
153
156
  assert_equal 28, Licensee::License.all(hidden: true).size
154
157
  assert_equal 3, Licensee::License.all(featured: true).size
155
- assert_equal 12, Licensee::License.all(featured: false).size
158
+ assert_equal 4, Licensee::License.all(featured: false).size
156
159
 
157
160
  licenses = Licensee::License.all(featured: false, hidden: true)
158
161
  assert_equal 25, licenses.size
159
162
 
160
163
  licenses = Licensee::License.all(featured: false, hidden: false)
161
- assert_equal 12, licenses.size
164
+ assert_equal 4, licenses.size
162
165
  end
163
166
  end
164
167
  end
@@ -7,20 +7,29 @@ class TestLicenseeProject < Minitest::Test
7
7
  if project_type == 'git'
8
8
  def make_project(fixture_name)
9
9
  fixture = fixture_path fixture_name
10
- Licensee::GitProject.new(fixture)
10
+ @project = Licensee::GitProject.new(fixture)
11
+ end
12
+
13
+ def teardown
14
+ @project.close
11
15
  end
12
16
  else
13
17
  def make_project(fixture_name)
14
- dest = File.join('tmp', 'fixtures', fixture_name)
15
- FileUtils.mkdir_p File.dirname(dest)
16
- system 'git', 'clone', '-q', fixture_path(fixture_name), dest
17
- FileUtils.rm_r File.join(dest, '.git')
18
+ base_name = File.basename(fixture_name, '.git')
19
+ temp_name = Dir::Tmpname.make_tmpname(base_name, nil)
20
+ @dest = File.join('tmp', 'fixtures', temp_name)
21
+ FileUtils.rm_r @dest if File.directory? @dest
22
+ Rugged::Repository.clone_at(fixture_path(fixture_name), @dest).close
18
23
 
19
- Licensee::FSProject.new(dest)
24
+ Licensee::FSProject.new(@dest)
20
25
  end
21
26
 
22
27
  def teardown
23
- FileUtils.rm_rf 'tmp/fixtures'
28
+ FileUtils.rm_r @dest if File.directory? @dest
29
+
30
+ # Also remove the parent directories in case they are empty.
31
+ FileUtils.rmdir 'tmp/fixtures'
32
+ FileUtils.rmdir 'tmp'
24
33
  end
25
34
  end
26
35
 
@@ -1,13 +1,15 @@
1
1
  ---
2
2
  title: Academic Free License v3.0
3
+ spdx-id: AFL-3.0
3
4
  source: http://opensource.org/licenses/afl-3.0
4
5
 
5
- 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.
6
+ description: The Academic Free License is a variant of the Open Software 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.
6
7
 
7
- 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.
8
+ 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 AFL 3.0 must also include the notice "Licensed under the Academic Free License version 3.0" adjacent to the copyright notice.
8
9
 
9
10
  conditions:
10
11
  - include-copyright
12
+ - document-changes
11
13
 
12
14
  permissions:
13
15
  - commercial-use
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: GNU Affero General Public License v3.0
3
+ spdx-id: AGPL-3.0
3
4
  nickname: GNU AGPLv3
4
5
  redirect_from: /licenses/agpl/
5
- family: GNU GPL
6
- variant: true
7
6
  source: http://www.gnu.org/licenses/agpl-3.0.txt
7
+ hidden: false
8
8
 
9
- description: "The GNU GPL family of licenses is the most widely used free software license and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same license. GNU AGPLv3 is distinguished from GNU GPLv3 in that hosted services using the code are considered distribution and trigger the copyleft requirements."
9
+ description: Permissions of this strongest copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available.
10
10
 
11
11
  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.
12
12
 
@@ -28,8 +28,6 @@ permissions:
28
28
 
29
29
  limitations:
30
30
  - no-liability
31
-
32
- hidden: false
33
31
  ---
34
32
 
35
33
  GNU AFFERO GENERAL PUBLIC LICENSE
@@ -1,10 +1,12 @@
1
1
  ---
2
2
  title: Apache License 2.0
3
+ spdx-id: Apache-2.0
3
4
  redirect_from: /licenses/apache/
4
- featured: true
5
5
  source: http://www.apache.org/licenses/LICENSE-2.0.html
6
+ featured: true
7
+ hidden: false
6
8
 
7
- description: A permissive license that also provides an express grant of patent rights from contributors to users.
9
+ description: A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
8
10
 
9
11
  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.
10
12
 
@@ -29,8 +31,6 @@ permissions:
29
31
  limitations:
30
32
  - trademark-use
31
33
  - no-liability
32
-
33
- hidden: false
34
34
  ---
35
35
 
36
36
  Apache License
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Artistic License 2.0
3
+ spdx-id: Artistic-2.0
3
4
  redirect_from: /licenses/artistic/
4
5
  source: http://www.perlfoundation.org/attachment/legal/artistic-2_0.txt
5
6
 
@@ -21,8 +22,6 @@ permissions:
21
22
  limitations:
22
23
  - no-liability
23
24
  - trademark-use
24
-
25
- hidden: false
26
25
  ---
27
26
 
28
27
  The Artistic License 2.0
@@ -1,12 +1,10 @@
1
1
  ---
2
2
  title: BSD 2-clause "Simplified" License
3
- nickname: BSD 2-Clause
3
+ spdx-id: BSD-2-Clause
4
4
  redirect_from: /licenses/bsd/
5
- family: BSD
6
- variant: true
7
5
  source: http://opensource.org/licenses/BSD-2-Clause
8
6
 
9
- description: A permissive license that comes in two variants, the <a href="/licenses/bsd">BSD 2-Clause</a> and <a href="/licenses/bsd-3-clause">BSD 3-Clause</a>. Both have very minute differences to the MIT license.
7
+ description: A permissive license that comes in two variants, the <a href="/licenses/bsd-2-clause/">BSD 2-Clause</a> and <a href="/licenses/bsd-3-clause/">BSD 3-Clause</a>. Both have very minute differences to the MIT license.
10
8
 
11
9
  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. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.
12
10
 
@@ -21,10 +19,10 @@ permissions:
21
19
 
22
20
  limitations:
23
21
  - no-liability
24
-
25
- hidden: false
26
22
  ---
27
23
 
24
+ BSD 2-Clause License
25
+
28
26
  Copyright (c) [year], [fullname]
29
27
  All rights reserved.
30
28
 
@@ -1,9 +1,8 @@
1
1
  ---
2
2
  title: BSD 3-clause Clear License
3
- family: BSD
4
- variant: true
3
+ spdx-id: BSD-3-Clause-Clear
5
4
 
6
- description: A permissive license that comes in two variants, the <a href="/licenses/bsd">BSD 2-Clause</a> and <a href="/licenses/bsd-3-clause">BSD 3-Clause</a>. Both have very minute differences to the MIT license. The three clause variant prohibits others from using the name of the project or its contributors to promote derivative works without written consent.
5
+ description: A variant of the <a href="/licenses/bsd-3-clause/">BSD 3-Clause License</a> that explicitly does not grant any patent rights.
7
6
 
8
7
  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. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. Replace [project] with the project organization, if any, that sponsors this work.
9
8
 
@@ -21,7 +20,6 @@ permissions:
21
20
  limitations:
22
21
  - no-liability
23
22
  - patent-use
24
-
25
23
  ---
26
24
 
27
25
  The Clear BSD License
@@ -40,7 +38,7 @@ below) provided that the following conditions are met:
40
38
  this list of conditions and the following disclaimer in the documentation
41
39
  and/or other materials provided with the distribution.
42
40
 
43
- * Neither the name of [project] nor the names of its contributors may be used
41
+ * Neither the name of the copyright holder nor the names of its contributors may be used
44
42
  to endorse or promote products derived from this software without specific
45
43
  prior written permission.
46
44
 
@@ -1,11 +1,9 @@
1
1
  ---
2
2
  title: BSD 3-clause "New" or "Revised" License
3
- nickname: BSD 3-Clause
4
- family: BSD
5
- variant: true
3
+ spdx-id: BSD-3-Clause
6
4
  source: http://opensource.org/licenses/BSD-3-Clause
7
5
 
8
- description: A permissive license that comes in two variants, the <a href="/licenses/bsd">BSD 2-Clause</a> and <a href="/licenses/bsd-3-clause">BSD 3-Clause</a>. Both have very minute differences to the MIT license. The three clause variant prohibits others from using the name of the project or its contributors to promote derivative works without written consent.
6
+ description: A permissive license similar to the <a href="/licenses/bsd-2-clause/">BSD 2-Clause License</a>, but with a 3rd clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.
9
7
 
10
8
  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. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. Replace [project] with the project organization, if any, that sponsors this work.
11
9
 
@@ -20,10 +18,10 @@ permissions:
20
18
 
21
19
  limitations:
22
20
  - no-liability
23
-
24
- hidden: false
25
21
  ---
26
22
 
23
+ BSD 3-Clause License
24
+
27
25
  Copyright (c) [year], [fullname]
28
26
  All rights reserved.
29
27
 
@@ -37,7 +35,7 @@ modification, are permitted provided that the following conditions are met:
37
35
  this list of conditions and the following disclaimer in the documentation
38
36
  and/or other materials provided with the distribution.
39
37
 
40
- * Neither the name of [project] nor the names of its
38
+ * Neither the name of the copyright holder nor the names of its
41
39
  contributors may be used to endorse or promote products derived from
42
40
  this software without specific prior written permission.
43
41
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: Creative Commons Attribution 4.0
3
- nickname: CC-BY-4.0
3
+ spdx-id: CC-BY-4.0
4
4
  source: https://creativecommons.org/licenses/by/4.0/legalcode.txt
5
5
 
6
6
  description: Permits almost any use subject to providing credit and license notice. Frequently used for media assets and educational materials. The most common license for Open Access scientific publications. Not recommended for software.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: Creative Commons Attribution Share Alike 4.0
3
- nickname: CC-BY-SA-4.0
3
+ spdx-id: CC-BY-SA-4.0
4
4
  source: https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt
5
5
 
6
6
  description: Similar to <a href='/licenses/cc-by-4.0/'>CC-BY-4.0</a> but requires derivatives be distributed under the same or a similar, <a href="https://creativecommons.org/compatiblelicenses/">compatible</a> license. Frequently used for media assets and educational materials. A previous version is the default license for Wikipedia and other Wikimedia projects. Not recommended for software.
@@ -1,9 +1,7 @@
1
1
  ---
2
2
  title: Creative Commons Zero v1.0 Universal
3
- nickname: CC0 1.0 Universal
3
+ spdx-id: CC0-1.0
4
4
  redirect_from: /licenses/cc0/
5
- family: Public Domain
6
- variant: true
7
5
  source: http://creativecommons.org/publicdomain/zero/1.0/
8
6
 
9
7
  description: The <a href="http://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 Public Domain Dedication</a> waives copyright interest in any a work you've created and dedicates it to the world-wide public domain. Use CC0 to opt out of copyright entirely and ensure your work has the widest reach. As with the Unlicense and typical software licenses, CC0 disclaims warranties. CC0 is very similar to the Unlicense.
@@ -24,8 +22,6 @@ limitations:
24
22
  - no-liability
25
23
  - trademark-use
26
24
  - patent-use
27
-
28
- hidden: false
29
25
  ---
30
26
 
31
27
  CC0 1.0 Universal
@@ -1,19 +1,17 @@
1
1
  ---
2
2
  title: Eclipse Public License 1.0
3
+ spdx-id: EPL-1.0
3
4
  redirect_from: /licenses/eclipse/
4
- source: http://www.eclipse.org/legal/epl-v10.html
5
+ source: https://www.eclipse.org/legal/epl-v10.html
5
6
 
6
7
  description: This commercially-friendly copyleft license provides the ability to commercially license binaries; a modern royalty-free patent license grant; and the ability for linked works to use other licenses, including commercial ones.
7
8
 
8
9
  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.
9
10
 
10
11
  using:
11
- - The Eclipse Foundation: "http://www.eclipse.org"
12
- - OpenDaylight: "http://www.opendaylight.org/"
13
- - Clojure: "http://clojure.org/"
14
- - JUnit: "http://junit.org/"
15
- - Ruby: "https://github.com/jruby/jruby"
16
- - Mondrian: "https://en.wikipedia.org/wiki/Mondrian_OLAP_server"
12
+ - Clojure: https://github.com/clojure/clojure/blob/master/epl-v10.html
13
+ - JUnit: https://github.com/junit-team/junit/blob/master/LICENSE-junit.txt
14
+ - openHAB: https://github.com/openhab/openhab/blob/master/LICENSE.TXT
17
15
 
18
16
  conditions:
19
17
  - disclose-source
@@ -29,8 +27,6 @@ permissions:
29
27
 
30
28
  limitations:
31
29
  - no-liability
32
-
33
- hidden: false
34
30
  ---
35
31
 
36
32
  Eclipse Public License - v 1.0
@@ -1,16 +1,14 @@
1
1
  ---
2
2
  title: European Union Public License 1.1
3
- nickname: EUPL-1.1
3
+ spdx-id: EUPL-1.1
4
4
  redirect_from: /licenses/eupl-v1.1/
5
- family: EUPL
6
- featured: false
7
5
  source: https://joinup.ec.europa.eu/community/eupl/og_page/european-union-public-licence-eupl-v11
8
6
 
9
7
  description: The “European Union Public Licence” (EUPL) is a copyleft free/open source software license created on the initiative of and approved by the European Commission in 22 official languages of the European Union.
10
8
 
11
9
  how: Create a text file (typically named COPYING or LICENCE.txt) in the root of your source code and copy the text of the license into the file.
12
10
 
13
- note: The European Commission recommends taking the additional step of adding a boilerplate notice to the top of each file. The boilerplate can be found at https://joinup.ec.europa.eu/sites/default/files/ckeditor_files/files/EUPL%201_1%20Guidelines%20EN%20Joinup.pdf
11
+ note: The European Commission recommends taking the additional step of adding a [boilerplate notice](https://joinup.ec.europa.eu/sites/default/files/ckeditor_files/files/EUPL%201_1%20Guidelines%20EN%20Joinup.pdf#page=17) to the top of each file.
14
12
 
15
13
  conditions:
16
14
  - include-copyright
@@ -29,7 +27,6 @@ permissions:
29
27
  limitations:
30
28
  - no-liability
31
29
  - trademark-use
32
-
33
30
  ---
34
31
 
35
32
  European Union Public Licence
@@ -1,9 +1,8 @@
1
1
  ---
2
2
  title: GNU General Public License v2.0
3
+ spdx-id: GPL-2.0
3
4
  nickname: GNU GPLv2
4
5
  redirect_from: /licenses/gpl-v2/
5
- family: GNU GPL
6
- variant: true
7
6
  source: http://www.gnu.org/licenses/gpl-2.0.txt
8
7
 
9
8
  description: The GNU GPL is the most widely used free software license and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same license. There are multiple variants of the GNU GPL, each with different requirements.
@@ -26,13 +25,10 @@ permissions:
26
25
  - commercial-use
27
26
  - modifications
28
27
  - distribution
29
- - patent-use
30
28
  - private-use
31
29
 
32
30
  limitations:
33
31
  - no-liability
34
-
35
- hidden: false
36
32
  ---
37
33
 
38
34
  GNU GENERAL PUBLIC LICENSE
@@ -1,12 +1,13 @@
1
1
  ---
2
2
  title: GNU General Public License v3.0
3
+ spdx-id: GPL-3.0
3
4
  nickname: GNU GPLv3
4
5
  redirect_from: /licenses/gpl-v3/
5
- family: GNU GPL
6
- featured: true
7
6
  source: http://www.gnu.org/licenses/gpl-3.0.txt
7
+ featured: true
8
+ hidden: false
8
9
 
9
- description: The GNU GPL is the most widely used free software license and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same license.
10
+ description: Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.
10
11
 
11
12
  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.
12
13
 
@@ -32,8 +33,6 @@ permissions:
32
33
 
33
34
  limitations:
34
35
  - no-liability
35
-
36
- hidden: false
37
36
  ---
38
37
 
39
38
  GNU GENERAL PUBLIC LICENSE
@@ -1,12 +1,17 @@
1
1
  ---
2
2
  title: ISC License
3
- family: BSD
3
+ spdx-id: ISC
4
4
  source: http://opensource.org/licenses/isc-license
5
5
 
6
- description: A permissive license lets people do anything with your code with proper attribution and without warranty. The ISC license is functionally equivalent to the <a href="/licenses/bsd">BSD 2-Clause</a> and <a href="/licenses/mit">MIT</a> licenses, removing some language that is no longer necessary.
6
+ description: A permissive license lets people do anything with your code with proper attribution and without warranty. The ISC license is functionally equivalent to the <a href="/licenses/bsd-2-clause/">BSD 2-Clause</a> and <a href="/licenses/mit/">MIT</a> licenses, removing some language that is no longer necessary.
7
7
 
8
8
  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. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.
9
9
 
10
+ using:
11
+ - documentation.js: https://github.com/documentationjs/documentation/blob/master/LICENSE
12
+ - Node.js semver: https://github.com/npm/node-semver/blob/master/LICENSE
13
+ - OpenStreetMap iD: https://github.com/openstreetmap/iD/blob/master/LICENSE
14
+
10
15
  conditions:
11
16
  - include-copyright
12
17
 
@@ -18,10 +23,10 @@ permissions:
18
23
 
19
24
  limitations:
20
25
  - no-liability
21
-
22
- hidden: false
23
26
  ---
24
27
 
28
+ ISC License
29
+
25
30
  Copyright (c) [year], [fullname]
26
31
 
27
32
  Permission to use, copy, modify, and/or distribute this software for any
@@ -1,9 +1,8 @@
1
1
  ---
2
2
  title: GNU Lesser General Public License v2.1
3
+ spdx-id: LGPL-2.1
3
4
  nickname: GNU LGPLv2.1
4
5
  redirect_from: /licenses/lgpl-v2.1/
5
- family: GNU LGPL
6
- variant: true
7
6
  source: http://www.gnu.org/licenses/lgpl-2.1.txt
8
7
 
9
8
  description: Primarily used for software libraries, the GNU LGPL requires that derived works be licensed under the same license, but works that only link to it do not fall under this restriction. There are two commonly used versions of the GNU LGPL.
@@ -15,19 +14,17 @@ note: The Free Software Foundation recommends taking the additional step of addi
15
14
  conditions:
16
15
  - include-copyright
17
16
  - disclose-source
17
+ - document-changes
18
18
  - same-license
19
19
 
20
20
  permissions:
21
21
  - commercial-use
22
22
  - modifications
23
23
  - distribution
24
- - patent-use
25
24
  - private-use
26
25
 
27
26
  limitations:
28
27
  - no-liability
29
-
30
- hidden: false
31
28
  ---
32
29
 
33
30
  GNU LESSER GENERAL PUBLIC LICENSE
@@ -1,11 +1,12 @@
1
1
  ---
2
2
  title: GNU Lesser General Public License v3.0
3
+ spdx-id: LGPL-3.0
3
4
  nickname: GNU LGPLv3
4
5
  redirect_from: /licenses/lgpl-v3/
5
- family: GNU LGPL
6
6
  source: http://www.gnu.org/licenses/lgpl-3.0.txt
7
+ hidden: false
7
8
 
8
- description: Version 3 of the GNU LGPL is an additional set of permissions to the <a href="/licenses/gpl-3.0">GNU GPLv3 license</a> that requires that derived works be licensed under the same license, but works that only link to it do not fall under this restriction.
9
+ description: Permissions of this copyleft license are conditioned on making available complete source code of licensed works and modifications under the same license or the GNU GPLv3. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. However, a larger work using the licensed work through interfaces provided by the licensed work may be distributed under different terms and without source code for the larger work.
9
10
 
10
11
  how: This license is an additional set of permissions to the <a href="/licenses/gpl-3.0">GNU GPLv3</a> license. Follow the instructions to apply the GNU GPLv3. Then either paste this text to the bottom of the created file OR add a separate file (typically named COPYING.lesser or LICENSE.lesser) in the root of your source code and copy the text.
11
12
 
@@ -14,6 +15,7 @@ note: The Free Software Foundation recommends taking the additional step of addi
14
15
  conditions:
15
16
  - include-copyright
16
17
  - disclose-source
18
+ - document-changes
17
19
  - same-license
18
20
 
19
21
 
@@ -26,8 +28,6 @@ permissions:
26
28
 
27
29
  limitations:
28
30
  - no-liability
29
-
30
- hidden: false
31
31
  ---
32
32
 
33
33
  GNU LESSER GENERAL PUBLIC LICENSE
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  title: LaTeX Project Public License v1.3c
3
- hidden: true
4
- nickname: LPPL-1.3c
5
- family: LPPL
3
+ spdx-id: LPPL-1.3c
6
4
  source: https://latex-project.org/lppl/lppl-1-3c.html
7
5
 
8
6
  description: The LaTeX Project Public License (LPPL) is the primary license under which the LaTeX kernel and the base LaTeX packages are distributed.
@@ -24,7 +22,6 @@ permissions:
24
22
 
25
23
  limitations:
26
24
  - no-liability
27
-
28
25
  ---
29
26
 
30
27
  The LaTeX Project Public License
@@ -1,9 +1,11 @@
1
1
  ---
2
2
  title: MIT License
3
- featured: true
3
+ spdx-id: MIT
4
4
  source: https://opensource.org/licenses/MIT
5
+ featured: true
6
+ hidden: false
5
7
 
6
- description: A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.
8
+ description: A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
7
9
 
8
10
  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. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.
9
11
 
@@ -23,11 +25,9 @@ permissions:
23
25
 
24
26
  limitations:
25
27
  - no-liability
26
-
27
- hidden: false
28
28
  ---
29
29
 
30
- The MIT License (MIT)
30
+ MIT License
31
31
 
32
32
  Copyright (c) [year] [fullname]
33
33
 
@@ -1,12 +1,21 @@
1
1
  ---
2
2
  title: Mozilla Public License 2.0
3
+ spdx-id: MPL-2.0
3
4
  redirect_from: /licenses/mozilla/
4
5
  source: https://www.mozilla.org/media/MPL/2.0/index.txt
6
+ hidden: false
5
7
 
6
- description: The Mozilla Public License (MPL 2.0) is maintained by the Mozilla foundation. This license attempts to be a compromise between the permissive BSD license and the reciprocal GPL license.
8
+ description: Permissions of this weak copyleft license are conditioned on making available source code of licensed files and modifications of those files under the same license (or in certain cases, one of the GNU licenses). Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. However, a larger work using the licensed work may be distributed under different terms and without source code for files added in the larger work.
7
9
 
8
10
  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.
9
11
 
12
+ note: The Mozilla Foundation recommends taking the additional step of adding a boilerplate notice to the top of each file. The boilerplate can be found at the end of the license (Exhibit A).
13
+
14
+ using:
15
+ - Servo: https://github.com/servo/servo/blob/master/LICENSE
16
+ - TimelineJS3: https://github.com/NUKnightLab/TimelineJS3/blob/master/LICENSE
17
+ - LibreOffice: https://cgit.freedesktop.org/libreoffice/core/tree/COPYING.MPL
18
+
10
19
  conditions:
11
20
  - disclose-source
12
21
  - include-copyright
@@ -22,8 +31,6 @@ permissions:
22
31
  limitations:
23
32
  - no-liability
24
33
  - trademark-use
25
-
26
- hidden: false
27
34
  ---
28
35
 
29
36
  Mozilla Public License Version 2.0
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  title: Microsoft Public License
3
+ spdx-id: MS-PL
3
4
 
4
5
  source: http://opensource.org/licenses/ms-pl
5
6
 
6
- description: "Microsoft Open Source"
7
+ description: An open source license with a patent grant.
7
8
 
8
9
  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.
9
10
 
@@ -1,13 +1,15 @@
1
1
  ---
2
2
  title: Microsoft Reciprocal License
3
+ spdx-id: MS-RL
3
4
 
4
5
  source: http://opensource.org/licenses/ms-pl
5
6
 
6
- description: "Microsoft Open Source"
7
+ description: An open source license with a patent grant similar to the <a href="/licenses/ms-pl/">Microsoft Public License</a>, with the additional condition that any source code for any derived file be provided under this license.
7
8
 
8
9
  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.
9
10
 
10
11
  conditions:
12
+ - disclose-source
11
13
  - include-copyright
12
14
  - same-license
13
15
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: SIL Open Font License 1.1
3
+ spdx-id: OFL-1.1
3
4
  redirect_from: /licenses/ofl/
4
5
  source: http://scripts.sil.org/OFL_web
5
6
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Open Software License 3.0
3
+ spdx-id: OSL-3.0
3
4
  source: http://opensource.org/licenses/OSL-3.0
4
5
 
5
6
  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.
@@ -9,15 +10,15 @@ how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of
9
10
  note: OSL 3.0's author has <a href="http://rosenlaw.com/OSL3.0-explained.htm">provided an explanation</a> behind the creation of the license.
10
11
 
11
12
  using:
12
- - Magento Community Edition: "http://magento.com/"
13
- - Parsimony: "https://github.com/parsimony/parsimony"
14
- - PrestaShop: "https://www.prestashop.com"
15
- - Mulgara: "http://mulgara.org"
16
- - AbanteCart: "https://github.com/abantecart/abantecart-src"
13
+ - appserver.io: https://github.com/appserver-io/appserver/blob/master/LICENSE.txt
14
+ - Magento 2: https://github.com/magento/magento2/blob/develop/LICENSE.txt
15
+ - Restyaboard: https://github.com/RestyaPlatform/board/blob/master/LICENSE.txt
17
16
 
18
17
  conditions:
19
18
  - include-copyright
20
19
  - disclose-source
20
+ - document-changes
21
+ - network-use-disclose
21
22
  - same-license
22
23
 
23
24
  permissions:
@@ -62,7 +63,7 @@ the following:
62
63
 
63
64
  e) to display the Original Work publicly.
64
65
 
65
- 2) Grant of Patent License. Licensor grants You a worldwide, royalty- free,
66
+ 2) Grant of Patent License. Licensor grants You a worldwide, royalty-free,
66
67
  non-exclusive, sublicensable license, under patent claims owned or controlled
67
68
  by the Licensor that are embodied in the Original Work as furnished by the
68
69
  Licensor, for the duration of the patents, to make, use, sell, offer for sale,
@@ -1,9 +1,11 @@
1
1
  ---
2
2
  title: The Unlicense
3
- family: Public Domain
3
+ spdx-id: Unlicense
4
4
  source: http://unlicense.org/UNLICENSE
5
+ hidden: false
6
+
7
+ description: A license with no conditions whatsoever which dedicates works to the public domain. Unlicensed works, modifications, and larger works may be distributed under different terms and without source code.
5
8
 
6
- description: Because copyright is automatic in most countries, <a href="http://unlicense.org">the Unlicense</a> is a template to waive copyright interest in software you've written and dedicate it to the public domain. Use the Unlicense to opt out of copyright entirely. It also includes the no-warranty statement from the MIT/X11 license.
7
9
 
8
10
  how: Create a text file (typically named UNLICENSE or UNLICENSE.txt) in the root of your source code and copy the text of the license disclaimer into the file.
9
11
 
@@ -17,8 +19,6 @@ conditions: []
17
19
 
18
20
  limitations:
19
21
  - no-liability
20
-
21
- hidden: false
22
22
  ---
23
23
 
24
24
  This is free and unencumbered software released into the public domain.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: "Do What The F*ck You Want To Public License"
3
+ spdx-id: WTFPL
3
4
  source: http://www.wtfpl.net/
4
5
 
5
6
  description: The easiest licence out there. It gives the user permissions to do whatever they want with your code.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: licensee
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.1.0
4
+ version: 8.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Balter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-28 00:00:00.000000000 Z
11
+ date: 2016-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rugged