licensee 9.16.1 → 9.17.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/bin/licensee +3 -1
  3. data/lib/licensee/commands/detect.rb +1 -0
  4. data/lib/licensee/license_meta.rb +1 -1
  5. data/lib/licensee/projects/github_project.rb +14 -5
  6. data/lib/licensee/projects/project.rb +3 -3
  7. data/lib/licensee/version.rb +1 -1
  8. data/spec/fixtures/detect.json +1 -1
  9. data/spec/fixtures/license-hashes.json +2 -0
  10. data/spec/fixtures/webmock/licensee_alternate_ref.json +26 -0
  11. data/spec/licensee/license_spec.rb +2 -2
  12. data/spec/licensee/projects/git_hub_project_spec.rb +36 -4
  13. data/spec/licensee_spec.rb +1 -1
  14. data/vendor/choosealicense.com/_licenses/blueoak-1.0.0.txt +84 -0
  15. data/vendor/choosealicense.com/_licenses/bsd-2-clause-patent.txt +76 -0
  16. data/vendor/choosealicense.com/_licenses/gpl-2.0.txt +1 -1
  17. data/vendor/choosealicense.com/_licenses/upl-1.0.txt +1 -1
  18. data/vendor/license-list-XML/src/0BSD.xml +2 -1
  19. data/vendor/license-list-XML/src/Apache-2.0.xml +2 -0
  20. data/vendor/license-list-XML/src/BSD-2-Clause-Patent.xml +91 -0
  21. data/vendor/license-list-XML/src/BSD-3-Clause-Clear.xml +1 -1
  22. data/vendor/license-list-XML/src/BSD-3-Clause.xml +1 -1
  23. data/vendor/license-list-XML/src/BlueOak-1.0.0.xml +31 -0
  24. data/vendor/license-list-XML/src/CC-BY-4.0.xml +12 -12
  25. data/vendor/license-list-XML/src/CC-BY-SA-4.0.xml +12 -12
  26. data/vendor/license-list-XML/src/CECILL-2.1.xml +1 -1
  27. data/vendor/license-list-XML/src/EPL-2.0.xml +1 -1
  28. data/vendor/license-list-XML/src/EUPL-1.2.xml +1 -1
  29. data/vendor/license-list-XML/src/GPL-2.0.xml +4 -4
  30. data/vendor/license-list-XML/src/LGPL-2.1.xml +3 -0
  31. data/vendor/license-list-XML/src/MIT.xml +2 -2
  32. data/vendor/license-list-XML/src/MulanPSL-2.0.xml +1 -1
  33. data/vendor/license-list-XML/src/UPL-1.0.xml +1 -1
  34. data/vendor/license-list-XML/src/Unlicense.xml +1 -1
  35. data/vendor/license-list-XML/src/Vim.xml +1 -1
  36. data/vendor/license-list-XML/src/WTFPL.xml +1 -1
  37. metadata +20 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4f5ee0aef5bea7c09d85b5fe00cde34590331108dea73bede502928d3e863809
4
- data.tar.gz: 4ce51466168c4b9aaf354ffe897f6727e598cc534aadff4846f028a2a66dff7c
3
+ metadata.gz: 00e6cf6abd7d331e0ef90b23896aa31b7da46df2dd0b05473b3ff95aa1fbae02
4
+ data.tar.gz: 5dbf325ff4a9f1f92f8841af4902cec2df599411ce036d2bd55ebc200534f99f
5
5
  SHA512:
6
- metadata.gz: 314636d52fd93d47a39b9b9835fe3b305735fc84be5767f1ab31a6bb0f933abb0e837d7bb9c4cb20ce64be0bcb0e2043adbce964b09dfc05776d955e6a089012
7
- data.tar.gz: 308beab7147f0e4f5f8f16c70533e899c5106b30245544d0d27cea2727d28a929e5b328031dd1658be998da04b477e2adc6c5e3f0686cfbe8d2cd05fb93eca25
6
+ metadata.gz: 8139ba1822c008ac4200b4fde9f3240e85b5210017f032b70781c3407537268a40f5c81ddfa0dbcd8d6202c39f785a4c36128d49aee626664b84525c22e8385f
7
+ data.tar.gz: f93f0a52091ec71e002d20105e9bd82144247720578c35801ec573ead17923e546a82a60c57f6f617bbf9f6037f1417d535d0e443ee3d2a4f51b1c01907dd62e
data/bin/licensee CHANGED
@@ -28,7 +28,9 @@ class LicenseeCLI < Thor
28
28
 
29
29
  def project
30
30
  @project ||= Licensee.project(path,
31
- detect_packages: options[:packages], detect_readme: options[:readme])
31
+ detect_packages: options[:packages],
32
+ detect_readme: options[:readme],
33
+ ref: options[:ref])
32
34
  end
33
35
 
34
36
  def remote?
@@ -13,6 +13,7 @@ class LicenseeCLI < Thor
13
13
  option :confidence, type: :numeric, default: Licensee.confidence_threshold, desc: 'Confidence threshold'
14
14
  option :license, type: :string, desc: 'The SPDX ID or key of the license to compare (implies --diff)'
15
15
  option :diff, type: :boolean, desc: 'Compare the license to the closest match'
16
+ option :ref, type: :string, desc: 'The name of the commit/branch/tag to search (github.com only)'
16
17
  def detect(_path = nil)
17
18
  Licensee.confidence_threshold = options[:confidence]
18
19
 
@@ -54,7 +54,7 @@ module Licensee
54
54
  # Backward compatibalize `#["spdx-id"]` calls to avoid a breaking change
55
55
  def [](key)
56
56
  key = 'spdx_id' if key == 'spdx-id'
57
- super(key)
57
+ super
58
58
  end
59
59
 
60
60
  def source
@@ -12,6 +12,8 @@ autoload :Octokit, 'octokit'
12
12
  module Licensee
13
13
  module Projects
14
14
  class GitHubProject < Licensee::Projects::Project
15
+ attr_reader :ref, :repo
16
+
15
17
  # If there's any trailing data (e.g. `.git`) this pattern will ignore it:
16
18
  # we're going to use the API rather than clone the repo.
17
19
  GITHUB_REPO_PATTERN =
@@ -19,15 +21,15 @@ module Licensee
19
21
 
20
22
  class RepoNotFound < StandardError; end
21
23
 
22
- def initialize(github_url, **args)
24
+ def initialize(github_url, ref: nil, **args)
23
25
  @repo = github_url[GITHUB_REPO_PATTERN, 1]
24
26
  raise ArgumentError, "Not a github URL: #{github_url}" unless @repo
25
27
 
28
+ @ref = ref
29
+
26
30
  super(**args)
27
31
  end
28
32
 
29
- attr_reader :repo
30
-
31
33
  private
32
34
 
33
35
  def files
@@ -40,14 +42,21 @@ module Licensee
40
42
  raise RepoNotFound, msg
41
43
  end
42
44
 
45
+ def query_params
46
+ return { ref: @ref } unless @ref.nil?
47
+
48
+ {}
49
+ end
50
+
43
51
  def load_file(file)
44
52
  client.contents(@repo, path: file[:path],
45
- accept: 'application/vnd.github.v3.raw').to_s
53
+ accept: 'application/vnd.github.v3.raw',
54
+ query: query_params).to_s
46
55
  end
47
56
 
48
57
  def dir_files(path = nil)
49
58
  path = path.gsub('./', '') if path
50
- files = client.contents(@repo, path: path)
59
+ files = client.contents(@repo, path: path, query: query_params)
51
60
  files = files.select { |data| data[:type] == 'file' }
52
61
  files.each { |data| data[:dir] = File.dirname(data[:path]) }
53
62
  files.map(&:to_h)
@@ -15,7 +15,7 @@ module Licensee
15
15
  include Licensee::HashHelper
16
16
  HASH_METHODS = %i[licenses matched_files].freeze
17
17
 
18
- def initialize(detect_packages: false, detect_readme: false)
18
+ def initialize(detect_packages: false, detect_readme: false, **)
19
19
  @detect_packages = detect_packages
20
20
  @detect_readme = detect_readme
21
21
  end
@@ -119,10 +119,10 @@ module Licensee
119
119
  # Given a block, passes each filename to that block, and expects a numeric
120
120
  # score in response. Returns a hash representing the top scoring file
121
121
  # or nil, if no file scored > 0
122
- def find_file(&block)
122
+ def find_file(...)
123
123
  return if files.empty? || files.nil?
124
124
 
125
- file = find_files(&block).first
125
+ file = find_files(...).first
126
126
  [load_file(file), file] if file
127
127
  end
128
128
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Licensee
4
- VERSION = '9.16.1'
4
+ VERSION = '9.17.1'
5
5
  end
@@ -93,7 +93,7 @@
93
93
  },
94
94
  {
95
95
  "filename": "licensee.gemspec",
96
- "content": "# frozen_string_literal: true\n\nrequire File.expand_path('lib/licensee/version', __dir__)\n\nGem::Specification.new do |gem|\n gem.name = 'licensee'\n gem.version = Licensee::VERSION\n\n gem.summary = 'A Ruby Gem to detect open source project licenses'\n gem.description = <<-DESC\n Licensee automates the process of reading LICENSE files and\n compares their contents to known licenses using a fancy maths.\n DESC\n\n gem.authors = ['Ben Balter']\n gem.email = 'ben.balter@github.com'\n gem.homepage = 'https://github.com/benbalter/licensee'\n gem.license = 'MIT'\n gem.metadata['rubygems_mfa_required'] = 'true'\n\n gem.bindir = 'bin'\n gem.executables << 'licensee'\n\n gem.add_dependency('dotenv', '~> 2.0')\n gem.add_dependency('octokit', '>= 4.20', '< 9.0')\n gem.add_dependency('reverse_markdown', '>= 1', '< 3')\n gem.add_dependency('rugged', '>= 0.24', '<2.0')\n gem.add_dependency('thor', '>= 0.19', '< 2.0')\n\n gem.add_development_dependency('gem-release', '~> 2.0')\n gem.add_development_dependency('mustache', '>= 0.9', '< 2.0')\n gem.add_development_dependency('pry', '~> 0.9')\n gem.add_development_dependency('rspec', '~> 3.5')\n gem.add_development_dependency('rubocop', '~> 1.0')\n gem.add_development_dependency('rubocop-performance', '~> 1.5')\n gem.add_development_dependency('rubocop-rspec', '~> 2.0')\n gem.add_development_dependency('simplecov', '~> 0.16')\n gem.add_development_dependency('webmock', '~> 3.1')\n\n gem.required_ruby_version = '>= 3.0'\n\n # ensure the gem is built out of versioned files\n gem.files = Dir[\n '{bin,lib,man,test,vendor,spec}/**/*',\n 'README*', 'LICENSE*'\n ] & `git ls-files -z`.split(\"\\0\")\nend\n",
96
+ "content": "# frozen_string_literal: true\n\nrequire File.expand_path('lib/licensee/version', __dir__)\n\nGem::Specification.new do |gem|\n gem.name = 'licensee'\n gem.version = Licensee::VERSION\n\n gem.summary = 'A Ruby Gem to detect open source project licenses'\n gem.description = <<-DESC\n Licensee automates the process of reading LICENSE files and\n compares their contents to known licenses using a fancy maths.\n DESC\n\n gem.authors = ['Ben Balter']\n gem.email = 'ben.balter@github.com'\n gem.homepage = 'https://github.com/benbalter/licensee'\n gem.license = 'MIT'\n gem.metadata['rubygems_mfa_required'] = 'true'\n\n gem.bindir = 'bin'\n gem.executables << 'licensee'\n\n gem.add_dependency('dotenv', '>= 2', '< 4')\n gem.add_dependency('octokit', '>= 4.20', '< 9.0')\n gem.add_dependency('reverse_markdown', '>= 1', '< 3')\n gem.add_dependency('rugged', '>= 0.24', '<2.0')\n gem.add_dependency('thor', '>= 0.19', '< 2.0')\n\n gem.add_development_dependency('gem-release', '~> 2.0')\n gem.add_development_dependency('mustache', '>= 0.9', '< 2.0')\n gem.add_development_dependency('pry', '~> 0.9')\n gem.add_development_dependency('rspec', '~> 3.5')\n gem.add_development_dependency('rubocop', '~> 1.0')\n gem.add_development_dependency('rubocop-performance', '~> 1.5')\n gem.add_development_dependency('rubocop-rspec', '~> 2.0')\n gem.add_development_dependency('simplecov', '~> 0.16')\n gem.add_development_dependency('webmock', '~> 3.1')\n\n gem.required_ruby_version = '>= 3.0'\n\n # ensure the gem is built out of versioned files\n gem.files = Dir[\n '{bin,lib,man,test,vendor,spec}/**/*',\n 'README*', 'LICENSE*'\n ] & `git ls-files -z`.split(\"\\0\")\nend\n",
97
97
  "content_hash": null,
98
98
  "content_normalized": null,
99
99
  "matcher": {
@@ -4,7 +4,9 @@
4
4
  "agpl-3.0": "10486392ac9e730ec8f77bd1233edfc2d47dd23c",
5
5
  "apache-2.0": "bec905d850e7f5dc2e2db78a950d4a9db560a0b8",
6
6
  "artistic-2.0": "707698f0c53ab48d54b7fd2dc4a6f40533e8ebb3",
7
+ "blueoak-1.0.0": "4b1a6751488e0f5ac96e40f26cf4e3fc731b9daf",
7
8
  "bsd-2-clause": "a307ca750c21f262c95d2bce55e69c05e6c3dee9",
9
+ "bsd-2-clause-patent": "4098aa43dc82fbb6da400e2f5b1840d8b9fcea7f",
8
10
  "bsd-3-clause": "a961b19cc6921d510e29a13b0ba1a826fcffe41c",
9
11
  "bsd-3-clause-clear": "0fcdb12c4060ce8f406e17bc67787e50a9b36a61",
10
12
  "bsd-4-clause": "3b2917580b2b6f13efaaea37546b8b7a53716a30",
@@ -0,0 +1,26 @@
1
+ [
2
+ {
3
+ "name": "LICENSE",
4
+ "path": "LICENSE",
5
+ "sha": "sha1",
6
+ "size": 11357,
7
+ "url": "https://api.github.com/repos/benbalter/licensee/contents/LICENSE?ref=my-ref",
8
+ "html_url": "https://github.com/benbalter/licensee/blob/my-ref/LICENSE",
9
+ "git_url": "https://api.github.com/repos/benbalter/licensee/git/blobs/sha1",
10
+ "download_url": "https://raw.githubusercontent.com/benbalter/licensee/my-ref/LICENSE",
11
+ "type": "file",
12
+ "_links": {}
13
+ },
14
+ {
15
+ "name": "README.md",
16
+ "path": "README.md",
17
+ "sha": "sha2",
18
+ "size": 608,
19
+ "url": "https://api.github.com/repos/benbalter/licensee/contents/README.md?ref=my-ref",
20
+ "html_url": "https://github.com/benbalter/licensee/blob/my-ref/README.md",
21
+ "git_url": "https://api.github.com/repos/benbalter/licensee/git/blobs/sha2",
22
+ "download_url": "https://raw.githubusercontent.com/benbalter/licensee/my-ref/README.md",
23
+ "type": "file",
24
+ "_links": {}
25
+ }
26
+ ]
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Licensee::License do
4
- let(:license_count) { 47 }
5
- let(:hidden_license_count) { 34 }
4
+ let(:license_count) { 49 }
5
+ let(:hidden_license_count) { 36 }
6
6
  let(:featured_license_count) { 3 }
7
7
  let(:pseudo_license_count) { 2 }
8
8
  let(:non_featured_license_count) do
@@ -6,8 +6,10 @@ RSpec.describe Licensee::Projects::GitHubProject do
6
6
  let(:repo) { 'benbalter/licensee' }
7
7
  let(:github_url) { "https://github.com/#{repo}" }
8
8
  let(:mit) { Licensee::License.find('mit') }
9
- let(:readme_file) { File.read(fixture_path('mit/README.md')) }
10
- let(:license_file) { File.read(fixture_path('mit/LICENSE.txt')) }
9
+ let(:mit_readme_file) { File.read(fixture_path('mit/README.md')) }
10
+ let(:mit_license_file) { File.read(fixture_path('mit/LICENSE.txt')) }
11
+ let(:apache2) { Licensee::License.find('apache-2.0') }
12
+ let(:apache2_license_file) { File.read(fixture_path('apache-with-readme-notice/LICENSE')) }
11
13
 
12
14
  describe '#initialize' do
13
15
  context 'with a GitHub URI' do
@@ -52,11 +54,11 @@ RSpec.describe Licensee::Projects::GitHubProject do
52
54
 
53
55
  stub_request(:get, 'https://api.github.com/repos/benbalter/licensee/contents/LICENSE.txt')
54
56
  .with(headers: { 'accept' => 'application/vnd.github.v3.raw' })
55
- .to_return(status: 200, body: license_file)
57
+ .to_return(status: 200, body: mit_license_file)
56
58
 
57
59
  stub_request(:get, 'https://api.github.com/repos/benbalter/licensee/contents/README.md')
58
60
  .with(headers: { 'accept' => 'application/vnd.github.v3.raw' })
59
- .to_return(status: 200, body: readme_file)
61
+ .to_return(status: 200, body: mit_readme_file)
60
62
  end
61
63
 
62
64
  it 'returns the license' do
@@ -95,6 +97,36 @@ RSpec.describe Licensee::Projects::GitHubProject do
95
97
  expect(subject.license).to eql(mit)
96
98
  end
97
99
  end
100
+
101
+ context 'when initialized with a ref' do
102
+ subject { described_class.new(github_url, ref: 'my-ref') }
103
+
104
+ before do
105
+ stub_request(:get, 'https://api.github.com/repos/benbalter/licensee/contents/?ref=my-ref')
106
+ .to_return(
107
+ status: 200,
108
+ body: fixture_contents('webmock/licensee_alternate_ref.json'),
109
+ headers: { 'Content-Type' => 'application/json' }
110
+ )
111
+
112
+ stub_request(:get, 'https://api.github.com/repos/benbalter/licensee/contents/LICENSE?ref=my-ref')
113
+ .with(headers: { 'accept' => 'application/vnd.github.v3.raw' })
114
+ .to_return(status: 200, body: apache2_license_file)
115
+ end
116
+
117
+ it 'returns the ref' do
118
+ expect(subject.ref).to eql('my-ref')
119
+ end
120
+
121
+ it 'returns query params' do
122
+ expect(subject.send(:query_params)).to eql({ ref: subject.ref })
123
+ end
124
+
125
+ it 'returns the license' do
126
+ expect(subject.license).to be_a(Licensee::License)
127
+ expect(subject.license).to eql(apache2)
128
+ end
129
+ end
98
130
  end
99
131
 
100
132
  context 'when the repo cannot be found' do
@@ -4,7 +4,7 @@ RSpec.describe Licensee do
4
4
  let(:project_path) { fixture_path('mit') }
5
5
  let(:license_path) { fixture_path('mit/LICENSE.txt') }
6
6
  let(:mit_license) { Licensee::License.find('mit') }
7
- let(:hidden_license_count) { 47 }
7
+ let(:hidden_license_count) { 49 }
8
8
 
9
9
  it 'exposes licenses' do
10
10
  expect(described_class.licenses).to be_an(Array)
@@ -0,0 +1,84 @@
1
+ ---
2
+ title: Blue Oak Model License 1.0.0
3
+ spdx-id: BlueOak-1.0.0
4
+
5
+ description: A permissive license whose main conditions require providing notice of the license. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
6
+
7
+ how: Create a text file (typically named LICENSE.md) in the root of your source code and copy the text of the license into the file.
8
+
9
+ using:
10
+ drone-gc: https://github.com/drone/drone-gc/blob/master/LICENSE.md
11
+ oh-my-git: https://github.com/git-learning-game/oh-my-git/blob/main/LICENSE.md
12
+ punct: https://github.com/otherjoel/punct/blob/main/LICENSE.md
13
+
14
+ permissions:
15
+ - commercial-use
16
+ - modifications
17
+ - distribution
18
+ - patent-use
19
+ - private-use
20
+
21
+ conditions:
22
+ - include-copyright
23
+
24
+ limitations:
25
+ - liability
26
+ - warranty
27
+
28
+ ---
29
+
30
+ # Blue Oak Model License
31
+
32
+ Version 1.0.0
33
+
34
+ ## Purpose
35
+
36
+ This license gives everyone as much permission to work with
37
+ this software as possible, while protecting contributors
38
+ from liability.
39
+
40
+ ## Acceptance
41
+
42
+ In order to receive this license, you must agree to its
43
+ rules. The rules of this license are both obligations
44
+ under that agreement and conditions to your license.
45
+ You must not do anything with this software that triggers
46
+ a rule that you cannot or will not follow.
47
+
48
+ ## Copyright
49
+
50
+ Each contributor licenses you to do everything with this
51
+ software that would otherwise infringe that contributor's
52
+ copyright in it.
53
+
54
+ ## Notices
55
+
56
+ You must ensure that everyone who gets a copy of
57
+ any part of this software from you, with or without
58
+ changes, also gets the text of this license or a link to
59
+ <https://blueoakcouncil.org/license/1.0.0>.
60
+
61
+ ## Excuse
62
+
63
+ If anyone notifies you in writing that you have not
64
+ complied with [Notices](#notices), you can keep your
65
+ license by taking all practical steps to comply within 30
66
+ days after the notice. If you do not do so, your license
67
+ ends immediately.
68
+
69
+ ## Patent
70
+
71
+ Each contributor licenses you to do everything with this
72
+ software that would otherwise infringe any patent claims
73
+ they can license or become able to license.
74
+
75
+ ## Reliability
76
+
77
+ No contributor can revoke this license.
78
+
79
+ ## No Liability
80
+
81
+ ***As far as the law allows, this software comes as is,
82
+ without any warranty or condition, and no contributor
83
+ will be liable to anyone for any damages related to this
84
+ software or this license, under any kind of legal claim.***
@@ -0,0 +1,76 @@
1
+ ---
2
+ title: BSD-2-Clause Plus Patent License
3
+ spdx-id: BSD-2-Clause-Patent
4
+
5
+ description: "This license is designed to provide: a) a simple permissive license; b) that is compatible with the GNU GPL-2.0; and c) which also has an express patent grant included."
6
+
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.
8
+
9
+ using:
10
+ Manubot: https://github.com/manubot/manubot/blob/main/LICENSE.md
11
+ obonet: https://github.com/dhimmel/obonet/blob/main/LICENSE.md
12
+ Preprint Similarity Search: https://github.com/greenelab/preprint-similarity-search/blob/master/LICENSE.md
13
+
14
+ permissions:
15
+ - commercial-use
16
+ - modifications
17
+ - distribution
18
+ - patent-use
19
+ - private-use
20
+
21
+ conditions:
22
+ - include-copyright
23
+
24
+ limitations:
25
+ - liability
26
+ - warranty
27
+
28
+ ---
29
+
30
+ Copyright (c) [year] [fullname]
31
+
32
+ Redistribution and use in source and binary forms, with or without
33
+ modification, are permitted provided that the following conditions are met:
34
+
35
+ 1. Redistributions of source code must retain the above copyright notice,
36
+ this list of conditions and the following disclaimer.
37
+
38
+ 2. Redistributions in binary form must reproduce the above copyright notice,
39
+ this list of conditions and the following disclaimer in the documentation
40
+ and/or other materials provided with the distribution.
41
+
42
+ Subject to the terms and conditions of this license, each copyright holder
43
+ and contributor hereby grants to those receiving rights under this license
44
+ a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
45
+ (except for failure to satisfy the conditions of this license) patent license
46
+ to make, have made, use, offer to sell, sell, import, and otherwise transfer
47
+ this software, where such license applies only to those patent claims, already
48
+ acquired or hereafter acquired, licensable by such copyright holder or
49
+ contributor that are necessarily infringed by:
50
+
51
+ (a) their Contribution(s) (the licensed copyrights of copyright holders and
52
+ non-copyrightable additions of contributors, in source or binary form) alone;
53
+ or
54
+
55
+ (b) combination of their Contribution(s) with the work of authorship to which
56
+ such Contribution(s) was added by such copyright holder or contributor, if,
57
+ at the time the Contribution is added, such addition causes such combination
58
+ to be necessarily infringed. The patent license shall not apply to any other
59
+ combinations which include the Contribution.
60
+
61
+ Except as expressly stated above, no rights or licenses from any copyright
62
+ holder or contributor is granted under this license, whether expressly, by
63
+ implication, estoppel or otherwise.
64
+
65
+ DISCLAIMER
66
+
67
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
68
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
69
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
70
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
71
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
72
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
73
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
74
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
75
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
76
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -14,7 +14,7 @@ note: The Free Software Foundation recommends taking the additional step of addi
14
14
  using:
15
15
  AliSQL: https://github.com/alibaba/AliSQL/blob/master/COPYING
16
16
  Discourse: https://github.com/discourse/discourse/blob/master/LICENSE.txt
17
- Joomla!: https://github.com/joomla/joomla-cms/blob/staging/LICENSE.txt
17
+ Jellyfin: https://github.com/jellyfin/jellyfin/blob/master/LICENSE
18
18
 
19
19
  permissions:
20
20
  - commercial-use
@@ -2,7 +2,7 @@
2
2
  title: Universal Permissive License v1.0
3
3
  spdx-id: UPL-1.0
4
4
 
5
- description: A permissive, OSI and FSF approved, GPL compatible license, expressly allowing attribution with just a copyright notice and a short form link rather than the full text of the license. Includes an express grant of patent rights. Licensed works and modifications may be distributed under different terms and without source code, and the patent grant may also optionally be expanded to larger works to permit use as a contributor license agreement.
5
+ description: A permissive, OSI- and FSF-approved, GPL-compatible license, expressly allowing attribution with just a copyright notice and a short form link rather than the full text of the license. Includes an express grant of patent rights. Licensed works and modifications may be distributed under different terms and without source code, and the patent grant may also optionally be expanded to larger works to permit use as a contributor license agreement.
6
6
 
7
7
  how: Insert the license or a link to it along with a copyright notice into your source file(s), and/or 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, replacing [year] with the current year and [fullname] with the name (or names) of the copyright holders.
8
8
 
@@ -1,6 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
- <license isOsiApproved="true" licenseId="0BSD" name="BSD Zero Clause License">
3
+ <license isOsiApproved="true" licenseId="0BSD"
4
+ name="BSD Zero Clause License" listVersionAdded="2.2">
4
5
  <crossRefs>
5
6
  <crossRef>http://landley.net/toybox/license.html</crossRef>
6
7
  <crossRef>https://opensource.org/licenses/0BSD</crossRef>
@@ -196,6 +196,8 @@
196
196
 
197
197
  <optional>
198
198
  <p>END OF TERMS AND CONDITIONS</p>
199
+ </optional>
200
+ <optional>
199
201
  <p>APPENDIX: How to apply the Apache License to your work.</p>
200
202
  <p>To apply the Apache License to your work, attach the following boilerplate notice, with the fields
201
203
  enclosed by brackets "[]" replaced with your own identifying information. (Don't
@@ -0,0 +1,91 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
+ <license licenseId="BSD-2-Clause-Patent"
4
+ name="BSD-2-Clause Plus Patent License" listVersionAdded="2.7"
5
+ isOsiApproved="true">
6
+ <crossRefs>
7
+ <crossRef>https://opensource.org/licenses/BSDplusPatent</crossRef>
8
+ </crossRefs>
9
+ <notes>
10
+ <p>
11
+ Note: This license is designed to provide: a) a simple
12
+ permissive license; b) that is compatible with the
13
+ GNU General Public License (GPL), version 2; and
14
+ c) which also has an express patent grant included.
15
+ </p>
16
+ </notes>
17
+ <text>
18
+ <copyrightText>
19
+ <p>
20
+ Copyright (c) &lt;YEAR&gt; &lt;COPYRIGHT HOLDERS&gt;
21
+ </p>
22
+ </copyrightText>
23
+ <p>
24
+ Redistribution and use in source and binary
25
+ forms, with or without modification, are permitted
26
+ provided that the following conditions are met:
27
+ </p>
28
+ <list>
29
+ <item>
30
+ <bullet>1.</bullet>
31
+ Redistributions of source code must retain the above copyright
32
+ notice, this list of conditions and the following disclaimer.
33
+ </item>
34
+ <item>
35
+ <bullet>2.</bullet>
36
+ Redistributions in binary form must reproduce the above copyright
37
+ notice, this list of conditions and the following disclaimer in the
38
+ documentation and/or other materials provided with the distribution.
39
+ </item>
40
+ </list>
41
+ <p>
42
+ Subject to the terms and conditions of this license, each copyright
43
+ holder and contributor hereby grants to those receiving rights under this
44
+ license a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
45
+ irrevocable (except for failure to satisfy the conditions of this license)
46
+ patent license to make, have made, use, offer to sell, sell, import,
47
+ and otherwise transfer this software, where such license applies only to
48
+ those patent claims, already acquired or hereafter acquired, licensable
49
+ by such copyright holder or contributor that are necessarily infringed by:
50
+ </p>
51
+ <list>
52
+ <item>
53
+ <bullet>(a)</bullet>
54
+ their Contribution(s) (the licensed copyrights of
55
+ copyright holders and non-copyrightable additions
56
+ of contributors, in source or binary form) alone; or
57
+ </item>
58
+ <item>
59
+ <bullet>(b)</bullet>
60
+ combination of their Contribution(s) with the work of authorship
61
+ to which such Contribution(s) was added by such copyright
62
+ holder or contributor, if, at the time the Contribution
63
+ is added, such addition causes such combination to be
64
+ necessarily infringed. The patent license shall not apply
65
+ to any other combinations which include the Contribution.
66
+ </item>
67
+ </list>
68
+ <p>
69
+ Except as expressly stated above, no rights or licenses from any
70
+ copyright holder or contributor is granted under this license,
71
+ whether expressly, by implication, estoppel or otherwise.
72
+ </p>
73
+ <p>
74
+ DISCLAIMER
75
+ </p>
76
+ <p>
77
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
78
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
79
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
80
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
81
+ HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
82
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
83
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
84
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
85
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
86
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
87
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
88
+ </p>
89
+ </text>
90
+ </license>
91
+ </SPDXLicenseCollection>
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="false" licenseId="BSD-3-Clause-Clear"
4
- name="BSD 3-Clause Clear License">
4
+ name="BSD 3-Clause Clear License" listVersionAdded="1.17">
5
5
  <crossRefs>
6
6
  <crossRef>http://labs.metacarta.com/license-explanation.html#license</crossRef>
7
7
  </crossRefs>
@@ -28,7 +28,7 @@
28
28
  </item>
29
29
  <item>
30
30
  <bullet>3.</bullet>
31
- <alt match="(The name of.+may not)|(Neither the names? of.+nor the names of its contributors may)|( Neither the name of.+nor the names of its authors and contributors may)|(Neither the name of.+nor the names of contributors may)|(Neither the name.+nor the names of contributors may)|(The names of its contributors may not)|(The names of any contributors may not)|(The names of the contributors may not)|(None of the names of.+and any contributors may)|(Neither my name .+ nor the names of contributors to this code may)" name="organizationClause3">
31
+ <alt match="(The\s+name\s+of.+may\s+not)|(Neither\s+the\s+names?\s+of.+nor\s+the\s+names\s+of\s+its\s+contributors\s+may)|(Neither\s+the\s+names?\s+of.+nor\s+the\s+names\s+of\s+their\s+contributors\s+may)|(\s*Neither\s+the\s+name\s+of.+nor\s+the\s+names\s+of\s+its\s+authors\s+and\s+contributors\s+may)|(Neither\s+the\s+name\s+of.+nor\s+the\s+names\s+of\s+(specific\s+)?contributors,?\s+may)|(Neither\s+the\s+name.+nor\s+the\s+names\s+of\s+contributors\s+may)|(The\s+names\s+of\s+its\s+contributors\s+may\s+not)|(The\s+names\s+of\s+any\s+contributors\s+may\s+not)|(The\s+names\s+of\s+the\s+contributors\s+may\s+not)|(None\s+of\s+the\s+names\s+of.+and\s+any\s+contributors\s+may)|(Neither\s+my\s+name.+nor\s+the\s+names\s+of\s+contributors\s+to\s+this\s+code\s+may)" name="organizationClause3">
32
32
  Neither the name of the copyright holder nor the names of its contributors may</alt>
33
33
  be used to endorse or promote products derived from this
34
34
  <alt match="software|work" name="software">software</alt> without specific prior written permission.
@@ -0,0 +1,31 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
+ <license isOsiApproved="true" licenseId="BlueOak-1.0.0" name="Blue Oak Model License 1.0.0" listVersionAdded="3.6">
4
+ <crossRefs>
5
+ <crossRef>https://blueoakcouncil.org/license/1.0.0</crossRef>
6
+ </crossRefs>
7
+ <notes>This license was released on March 6, 2019.</notes>
8
+ <text>
9
+ <titleText>
10
+ <p><optional># </optional>Blue Oak Model License</p>
11
+ </titleText>
12
+ <p>Version 1.0.0</p>
13
+ <p><optional>## </optional>Purpose</p>
14
+ <p>This license gives everyone as much permission to work with this software as possible, while protecting contributors from liability.</p>
15
+ <p><optional>## </optional>Acceptance</p>
16
+ <p>In order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow.</p>
17
+ <p><optional>## </optional>Copyright</p>
18
+ <p>Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it.</p>
19
+ <p><optional>## </optional>Notices</p>
20
+ <p>You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to &lt;https://blueoakcouncil.org/license/1.0.0&gt;.</p>
21
+ <p><optional>## </optional>Excuse</p>
22
+ <p>If anyone notifies you in writing that you have not complied with <alt name="noticesRef" match="\[Notices\]\(\#notices\)|Notices">[Notices](#notices)</alt>, you can keep your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your license ends immediately.</p>
23
+ <p><optional>## </optional>Patent</p>
24
+ <p>Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license.</p>
25
+ <p><optional>## </optional>Reliability</p>
26
+ <p>No contributor can revoke this license.</p>
27
+ <p><optional>## </optional>No Liability</p>
28
+ <p>***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.***</p>
29
+ </text>
30
+ </license>
31
+ </SPDXLicenseCollection>
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="false" licenseId="CC-BY-4.0"
4
- name="Creative Commons Attribution 4.0 International">
4
+ name="Creative Commons Attribution 4.0 International" listVersionAdded="1.20">
5
5
  <crossRefs>
6
6
  <crossRef>https://creativecommons.org/licenses/by/4.0/legalcode</crossRef>
7
7
  </crossRefs>
@@ -26,8 +26,8 @@
26
26
  Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the
27
27
  license they choose before applying it. Licensors should also secure all rights necessary before
28
28
  applying our licenses so that the public can reuse the material as expected. Licensors should clearly
29
- mark any material not subject to the license. This includes other CC-licensed material, or material
30
- used under an exception or limitation to copyright. More considerations for licensors<alt match=": wiki.creativecommons.org/Considerations_for_licensors|\." name="considerationsLicensors">: wiki.creativecommons.org/Considerations_for_licensors</alt></p>
29
+ mark any material not subject to the license. This includes other <alt match="CC-[ \t\r\n\f]{0,10}licensed" name="ccLicensed"/> material, or material
30
+ used under an exception or limitation to copyright. More considerations for licensors<alt match=":[ \t\r\n\f]{1,10}wiki\.creativecommons\.org/Considerations_for_licensors|\." name="considerationsLicensors">: wiki.creativecommons.org/Considerations_for_licensors</alt></p>
31
31
  <p>Considerations for the public: By using one of our public licenses, a licensor grants the public
32
32
  permission to use the licensed material under specified terms and conditions. If the licensor’s
33
33
  permission is not necessary for any reason–for example, because of any applicable exception or
@@ -36,7 +36,7 @@
36
36
  the licensed material may still be restricted for other reasons, including because others have
37
37
  copyright or other rights in the material. A licensor may make special requests, such as asking that
38
38
  all changes be marked or described. Although not required by our licenses, you are encouraged to
39
- respect those requests where reasonable. <alt match="More considerations|More_considerations" name="spaceUnderscore">More considerations</alt> for the public<alt match=": wiki.creativecommons.org/Considerations_for_licensees|\." name="considerationsLicensees">: wiki.creativecommons.org/Considerations_for_licensees</alt></p>
39
+ respect those requests where reasonable. <alt match="More considerations|More_considerations" name="spaceUnderscore">More considerations</alt> for the public<alt match=":[ \t\r\n\f]{1,10}wiki\.creativecommons\.org/Considerations_for_licensees|\." name="considerationsLicensees">: wiki.creativecommons.org/Considerations_for_licensees</alt></p>
40
40
  </optional>
41
41
 
42
42
  <titleText>
@@ -48,7 +48,7 @@
48
48
  Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You
49
49
  such rights in consideration of benefits the Licensor receives from making the Licensed Material
50
50
  available under these terms and conditions.</p>
51
- <p>Section 1 Definitions.</p>
51
+ <p>Section 1 <alt match="-{1,2}" name="section1TitleHyphens"/> Definitions.</p>
52
52
  <list>
53
53
  <item>
54
54
  <bullet>a.</bullet>
@@ -123,7 +123,7 @@
123
123
  Your has a corresponding meaning.
124
124
  </item>
125
125
  </list>
126
- <p>Section 2 Scope.</p>
126
+ <p>Section 2 <alt match="-{1,2}" name="section2TitleHyphens"/> Scope.</p>
127
127
  <list>
128
128
  <item>
129
129
  <bullet>a.</bullet>
@@ -221,7 +221,7 @@
221
221
  </list>
222
222
  </item>
223
223
  </list>
224
- <p>Section 3 License Conditions.</p>
224
+ <p>Section 3 <alt match="-{1,2}" name="section3TitleHyphens"/> License Conditions.</p>
225
225
  <p>Your exercise of the Licensed Rights is expressly made subject to the following conditions.</p>
226
226
  <list>
227
227
  <item>
@@ -293,7 +293,7 @@
293
293
  </list>
294
294
  </item>
295
295
  </list>
296
- <p>Section 4 Sui Generis Database Rights.</p>
296
+ <p>Section 4 <alt match="-{1,2}" name="section4TitleHyphens"/> Sui Generis Database Rights.</p>
297
297
  <p>Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of
298
298
  the Licensed Material:</p>
299
299
  <list>
@@ -318,7 +318,7 @@
318
318
  obligations under this Public License where the Licensed Rights include other
319
319
  Copyright and Similar Rights.
320
320
  </p>
321
- <p>Section 5 Disclaimer of Warranties and Limitation of Liability.</p>
321
+ <p>Section 5 <alt match="-{1,2}" name="section5TitleHyphens"/> Disclaimer of Warranties and Limitation of Liability.</p>
322
322
  <list>
323
323
  <item>
324
324
  <bullet>a.</bullet>
@@ -348,7 +348,7 @@
348
348
  and waiver of all liability.
349
349
  </item>
350
350
  </list>
351
- <p>Section 6 Term and Termination.</p>
351
+ <p>Section 6 <alt match="-{1,2}" name="section6TitleHyphens"/> Term and Termination.</p>
352
352
  <list>
353
353
  <item>
354
354
  <bullet>a.</bullet>
@@ -387,7 +387,7 @@
387
387
  Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
388
388
  </item>
389
389
  </list>
390
- <p>Section 7 Other Terms and Conditions.</p>
390
+ <p>Section 7 <alt match="-{1,2}" name="section7TitleHyphens"/> Other Terms and Conditions.</p>
391
391
  <list>
392
392
  <item>
393
393
  <bullet>a.</bullet>
@@ -401,7 +401,7 @@
401
401
  License.
402
402
  </item>
403
403
  </list>
404
- <p>Section 8 Interpretation.</p>
404
+ <p>Section 8 <alt match="-{1,2}" name="section8TitleHyphens"/> Interpretation.</p>
405
405
  <list>
406
406
  <item>
407
407
  <bullet>a.</bullet>
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="false" licenseId="CC-BY-SA-4.0"
4
- name="Creative Commons Attribution Share Alike 4.0 International">
4
+ name="Creative Commons Attribution Share Alike 4.0 International" listVersionAdded="1.20">
5
5
  <crossRefs>
6
6
  <crossRef>https://creativecommons.org/licenses/by-sa/4.0/legalcode</crossRef>
7
7
  </crossRefs>
@@ -27,8 +27,8 @@
27
27
  Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the
28
28
  license they choose before applying it. Licensors should also secure all rights necessary before
29
29
  applying our licenses so that the public can reuse the material as expected. Licensors should clearly
30
- mark any material not subject to the license. This includes other CC-licensed material, or material
31
- used under an exception or limitation to copyright. More considerations for licensors<alt match=": wiki.creativecommons.org/Considerations_for_licensors|\." name="considerationsLicensors">: wiki.creativecommons.org/Considerations_for_licensors</alt></p>
30
+ mark any material not subject to the license. This includes other <alt match="CC-[ \t\r\n\f]{0,10}licensed" name="ccLicensed"/> material, or material
31
+ used under an exception or limitation to copyright. More considerations for licensors<alt match=":[ \t\r\n\f]{1,10}wiki\.creativecommons\.org/Considerations_for_licensors|\." name="considerationsLicensors">: wiki.creativecommons.org/Considerations_for_licensors</alt></p>
32
32
  <p>Considerations for the public: By using one of our public licenses, a licensor grants the public
33
33
  permission to use the licensed material under specified terms and conditions. If the licensor’s
34
34
  permission is not necessary for any reason–for example, because of any applicable exception or
@@ -38,7 +38,7 @@
38
38
  copyright or other rights in the material. A licensor may make special requests, such as asking that
39
39
  all changes be marked or described.</p>
40
40
  <p>Although not required by our licenses, you are encouraged to respect those requests where reasonable.
41
- <alt match="More considerations|More_considerations" name="spaceUnderscore">More considerations</alt> for the public<alt match=": wiki.creativecommons.org/Considerations_for_licensees|\." name="considerationsLicensees">: wiki.creativecommons.org/Considerations_for_licensees</alt></p>
41
+ <alt match="More considerations|More_considerations" name="spaceUnderscore">More considerations</alt> for the public<alt match=":[ \t\r\n\f]{1,10}wiki\.creativecommons\.org/Considerations_for_licensees|\." name="considerationsLicensees">: wiki.creativecommons.org/Considerations_for_licensees</alt></p>
42
42
  <p>Creative Commons Attribution-ShareAlike 4.0 International Public License</p>
43
43
  <p>By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and
44
44
  conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public
@@ -46,7 +46,7 @@
46
46
  Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor
47
47
  grants You such rights in consideration of benefits the Licensor receives from making the Licensed
48
48
  Material available under these terms and conditions.</p>
49
- <p>Section 1 Definitions.</p>
49
+ <p>Section 1 <alt match="-{1,2}" name="section1TitleHyphens"/> Definitions.</p>
50
50
  <list>
51
51
  <item>
52
52
  <bullet>a.</bullet>
@@ -131,7 +131,7 @@
131
131
  Your has a corresponding meaning.
132
132
  </item>
133
133
  </list>
134
- <p>Section 2 Scope.</p>
134
+ <p>Section 2 <alt match="-{1,2}" name="section2TitleHyphens"/> Scope.</p>
135
135
  <list>
136
136
  <item>
137
137
  <bullet>a.</bullet>
@@ -236,7 +236,7 @@
236
236
  </list>
237
237
  </item>
238
238
  </list>
239
- <p>Section 3 License Conditions.</p>
239
+ <p>Section 3 <alt match="-{1,2}" name="section3TitleHyphens"/> License Conditions.</p>
240
240
  <p>Your exercise of the Licensed Rights is expressly made subject to the following conditions.</p>
241
241
  <list>
242
242
  <item>
@@ -323,7 +323,7 @@
323
323
  </list>
324
324
  </item>
325
325
  </list>
326
- <p>Section 4 Sui Generis Database Rights.</p>
326
+ <p>Section 4 <alt match="-{1,2}" name="section4TitleHyphens"/> Sui Generis Database Rights.</p>
327
327
  <p>Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of
328
328
  the Licensed Material:</p>
329
329
  <list>
@@ -349,7 +349,7 @@
349
349
 
350
350
  </item>
351
351
  </list>
352
- <p>Section 5 Disclaimer of Warranties and Limitation of Liability.</p>
352
+ <p>Section 5 <alt match="-{1,2}" name="section5TitleHyphens"/> Disclaimer of Warranties and Limitation of Liability.</p>
353
353
  <list>
354
354
  <item>
355
355
  <bullet>a.</bullet>
@@ -379,7 +379,7 @@
379
379
  and waiver of all liability.
380
380
  </item>
381
381
  </list>
382
- <p>Section 6 Term and Termination.</p>
382
+ <p>Section 6 <alt match="-{1,2}" name="section6TitleHyphens"/> Term and Termination.</p>
383
383
  <list>
384
384
  <item>
385
385
  <bullet>a.</bullet>
@@ -418,7 +418,7 @@
418
418
  Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
419
419
  </item>
420
420
  </list>
421
- <p>Section 7 Other Terms and Conditions.</p>
421
+ <p>Section 7 <alt match="-{1,2}" name="section7TitleHyphens"/> Other Terms and Conditions.</p>
422
422
  <list>
423
423
  <item>
424
424
  <bullet>a.</bullet>
@@ -432,7 +432,7 @@
432
432
  License.
433
433
  </item>
434
434
  </list>
435
- <p>Section 8 Interpretation.</p>
435
+ <p>Section 8 <alt match="-{1,2}" name="section8TitleHyphens"/> Interpretation.</p>
436
436
  <list>
437
437
  <item>
438
438
  <bullet>a.</bullet>
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="true" licenseId="CECILL-2.1"
4
- name="CeCILL Free Software License Agreement v2.1">
4
+ name="CeCILL Free Software License Agreement v2.1" listVersionAdded="2.2">
5
5
  <crossRefs>
6
6
  <crossRef>http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html</crossRef>
7
7
  </crossRefs>
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="true" licenseId="EPL-2.0"
4
- name="Eclipse Public License 2.0">
4
+ name="Eclipse Public License 2.0" listVersionAdded="2.7">
5
5
  <crossRefs>
6
6
  <crossRef>https://www.eclipse.org/legal/epl-2.0</crossRef>
7
7
  <crossRef>https://www.opensource.org/licenses/EPL-2.0</crossRef>
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license licenseId="EUPL-1.2" isOsiApproved="true"
4
- name="European Union Public License 1.2">
4
+ name="European Union Public License 1.2" listVersionAdded="2.7">
5
5
  <crossRefs>
6
6
  <crossRef>https://joinup.ec.europa.eu/page/eupl-text-11-12</crossRef>
7
7
  <crossRef>https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl_v1.2_en.pdf</crossRef>
@@ -27,8 +27,8 @@
27
27
  <p>
28
28
  You should have received a copy of the GNU General Public License
29
29
  along with this program; if not, write to the Free Software Foundation,
30
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301<optional spacing="after">,</optional>
31
- USA.
30
+ Inc., <alt match=".{54,64}" name="freeSoftwareFoundationAddress">51
31
+ Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA</alt>.
32
32
  </p>
33
33
  </standardLicenseHeader>
34
34
  <text>
@@ -40,8 +40,8 @@
40
40
  </titleText>
41
41
  <p>
42
42
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.<alt name="incComma" match=",|"/><br/>
43
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301<optional spacing="after">,</optional>
44
- USA
43
+ <alt match=".{54,64}" name="freeSoftwareFoundationAddress">51 Franklin
44
+ Street, Fifth Floor, Boston, MA 02110-1301, USA</alt>
45
45
  </p>
46
46
  <p>
47
47
  Everyone is permitted to copy and distribute verbatim copies
@@ -166,6 +166,9 @@
166
166
  The former contains code derived from the library, whereas
167
167
  the latter must be combined with the library in order to run.
168
168
  </p>
169
+ <p>
170
+ GNU LESSER GENERAL PUBLIC LICENSE
171
+ </p>
169
172
  <p>
170
173
  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
171
174
  </p>
@@ -2,7 +2,7 @@
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="true" licenseId="MIT" name="MIT License">
4
4
  <crossRefs>
5
- <crossRef>https://opensource.org/licenses/MIT</crossRef>
5
+ <crossRef>https://opensource.org/license/mit/</crossRef>
6
6
  </crossRefs>
7
7
  <text>
8
8
  <titleText>
@@ -13,7 +13,7 @@
13
13
  </p>
14
14
  </copyrightText>
15
15
 
16
- <p>Permission is hereby granted, free of charge, to any person obtaining a copy of <alt match="this software and associated documentation files|this source file" name="software">this software and
16
+ <p>Permission is hereby granted, free of charge, to any person obtaining a copy of <alt match="this\s+software\s+and\s+associated\s+documentation\s+files|this\s+source\s+file" name="software">this software and
17
17
  associated documentation files</alt> (the "Software"), to deal in the Software without restriction,
18
18
  including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
19
19
  and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
@@ -2,7 +2,7 @@
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="true" licenseId="MulanPSL-2.0" name="Mulan Permissive Software License, Version 2" listVersionAdded="3.9">
4
4
  <crossRefs>
5
- <crossRef>https://license.coscl.org.cn/MulanPSL2/</crossRef>
5
+ <crossRef>https://license.coscl.org.cn/MulanPSL2</crossRef>
6
6
  </crossRefs>
7
7
  <notes>Both the Chinese and English translations of this license have been included in the markup, because current examples of use appear to include both translations in license documents.</notes>
8
8
  <text>
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="true" licenseId="UPL-1.0"
4
- name="Universal Permissive License v1.0">
4
+ name="Universal Permissive License v1.0" listVersionAdded="2.1">
5
5
  <crossRefs>
6
6
  <crossRef>https://opensource.org/licenses/UPL</crossRef>
7
7
  </crossRefs>
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
- <license isOsiApproved="true" licenseId="Unlicense" name="The Unlicense">
3
+ <license isOsiApproved="true" licenseId="Unlicense" name="The Unlicense" listVersionAdded="1.19">
4
4
  <crossRefs>
5
5
  <crossRef>https://unlicense.org/</crossRef>
6
6
  </crossRefs>
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
- <license isOsiApproved="false" licenseId="Vim" name="Vim License">
3
+ <license isOsiApproved="false" licenseId="Vim" name="Vim License" listVersionAdded="1.20">
4
4
  <crossRefs>
5
5
  <crossRef>http://vimdoc.sourceforge.net/htmldoc/uganda.html</crossRef>
6
6
  </crossRefs>
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <SPDXLicenseCollection xmlns="http://www.spdx.org/license">
3
3
  <license isOsiApproved="false" licenseId="WTFPL"
4
- name="Do What The F*ck You Want To Public License">
4
+ name="Do What The F*ck You Want To Public License" listVersionAdded="1.17">
5
5
  <crossRefs>
6
6
  <crossRef>http://www.wtfpl.net/about/</crossRef>
7
7
  <crossRef>http://sam.zoy.org/wtfpl/COPYING</crossRef>
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: licensee
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.16.1
4
+ version: 9.17.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Balter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-31 00:00:00.000000000 Z
11
+ date: 2024-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '4'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '2.0'
29
+ version: '2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '4'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: octokit
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -33,7 +39,7 @@ dependencies:
33
39
  version: '4.20'
34
40
  - - "<"
35
41
  - !ruby/object:Gem::Version
36
- version: '9.0'
42
+ version: '10.0'
37
43
  type: :runtime
38
44
  prerelease: false
39
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +49,7 @@ dependencies:
43
49
  version: '4.20'
44
50
  - - "<"
45
51
  - !ruby/object:Gem::Version
46
- version: '9.0'
52
+ version: '10.0'
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: reverse_markdown
49
55
  requirement: !ruby/object:Gem::Requirement
@@ -359,6 +365,7 @@ files:
359
365
  - spec/fixtures/unlicense_markdown/LICENSE.md
360
366
  - spec/fixtures/vim/LICENSE
361
367
  - spec/fixtures/webmock/licensee.json
368
+ - spec/fixtures/webmock/licensee_alternate_ref.json
362
369
  - spec/fixtures/wrk-modified-apache/LICENSE
363
370
  - spec/integration_spec.rb
364
371
  - spec/licensee/commands/detect_spec.rb
@@ -403,6 +410,8 @@ files:
403
410
  - vendor/choosealicense.com/_licenses/agpl-3.0.txt
404
411
  - vendor/choosealicense.com/_licenses/apache-2.0.txt
405
412
  - vendor/choosealicense.com/_licenses/artistic-2.0.txt
413
+ - vendor/choosealicense.com/_licenses/blueoak-1.0.0.txt
414
+ - vendor/choosealicense.com/_licenses/bsd-2-clause-patent.txt
406
415
  - vendor/choosealicense.com/_licenses/bsd-2-clause.txt
407
416
  - vendor/choosealicense.com/_licenses/bsd-3-clause-clear.txt
408
417
  - vendor/choosealicense.com/_licenses/bsd-3-clause.txt
@@ -448,11 +457,13 @@ files:
448
457
  - vendor/license-list-XML/src/AGPL-3.0.xml
449
458
  - vendor/license-list-XML/src/Apache-2.0.xml
450
459
  - vendor/license-list-XML/src/Artistic-2.0.xml
460
+ - vendor/license-list-XML/src/BSD-2-Clause-Patent.xml
451
461
  - vendor/license-list-XML/src/BSD-2-Clause.xml
452
462
  - vendor/license-list-XML/src/BSD-3-Clause-Clear.xml
453
463
  - vendor/license-list-XML/src/BSD-3-Clause.xml
454
464
  - vendor/license-list-XML/src/BSD-4-Clause.xml
455
465
  - vendor/license-list-XML/src/BSL-1.0.xml
466
+ - vendor/license-list-XML/src/BlueOak-1.0.0.xml
456
467
  - vendor/license-list-XML/src/CC-BY-4.0.xml
457
468
  - vendor/license-list-XML/src/CC-BY-SA-4.0.xml
458
469
  - vendor/license-list-XML/src/CC0-1.0.xml
@@ -508,7 +519,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
508
519
  - !ruby/object:Gem::Version
509
520
  version: '0'
510
521
  requirements: []
511
- rubygems_version: 3.4.10
522
+ rubygems_version: 3.4.19
512
523
  signing_key:
513
524
  specification_version: 4
514
525
  summary: A Ruby Gem to detect open source project licenses