licensee 8.9.0 → 8.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/licensee.rb +1 -1
  3. data/lib/licensee/content_helper.rb +6 -1
  4. data/lib/licensee/project_file.rb +4 -1
  5. data/lib/licensee/version.rb +1 -1
  6. data/spec/fixtures/copyright-encoding/COPYING +1 -0
  7. data/spec/fixtures/fcpl-modified-mpl/LICENSE +193 -0
  8. data/spec/fixtures/wrk-modified-apache/LICENSE +182 -0
  9. data/spec/integration_spec.rb +16 -0
  10. data/spec/licensee/content_helper_spec.rb +8 -0
  11. data/spec/licensee/project_spec.rb +10 -0
  12. data/vendor/choosealicense.com/_data/meta.yml +4 -4
  13. data/vendor/choosealicense.com/_licenses/afl-3.0.txt +2 -0
  14. data/vendor/choosealicense.com/_licenses/agpl-3.0.txt +2 -0
  15. data/vendor/choosealicense.com/_licenses/artistic-2.0.txt +2 -0
  16. data/vendor/choosealicense.com/_licenses/bsd-2-clause.txt +2 -0
  17. data/vendor/choosealicense.com/_licenses/bsd-3-clause-clear.txt +2 -0
  18. data/vendor/choosealicense.com/_licenses/bsd-3-clause.txt +2 -0
  19. data/vendor/choosealicense.com/_licenses/bsl-1.0.txt +2 -0
  20. data/vendor/choosealicense.com/_licenses/cc-by-4.0.txt +3 -1
  21. data/vendor/choosealicense.com/_licenses/cc-by-sa-4.0.txt +3 -1
  22. data/vendor/choosealicense.com/_licenses/cc0-1.0.txt +2 -0
  23. data/vendor/choosealicense.com/_licenses/eupl-1.1.txt +3 -1
  24. data/vendor/choosealicense.com/_licenses/lgpl-2.1.txt +2 -0
  25. data/vendor/choosealicense.com/_licenses/lgpl-3.0.txt +2 -0
  26. data/vendor/choosealicense.com/_licenses/lppl-1.3c.txt +2 -0
  27. data/vendor/choosealicense.com/_licenses/ms-pl.txt +2 -0
  28. data/vendor/choosealicense.com/_licenses/ms-rl.txt +2 -0
  29. data/vendor/choosealicense.com/_licenses/ncsa.txt +0 -1
  30. data/vendor/choosealicense.com/_licenses/ofl-1.1.txt +2 -0
  31. data/vendor/choosealicense.com/_licenses/unlicense.txt +2 -2
  32. data/vendor/choosealicense.com/_licenses/wtfpl.txt +2 -0
  33. data/vendor/choosealicense.com/_licenses/zlib.txt +2 -0
  34. metadata +5 -3
  35. data/README.md +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f42e79b0d67e4f07903fcd743577d3b1ffc25b7
4
- data.tar.gz: a526511974c7bb03179d11d556288024359e8653
3
+ metadata.gz: 7bd286955df8a0e4dff2cbeb964fcdfc28595250
4
+ data.tar.gz: fd1cac842289dd0399faf4fca39344955999d07b
5
5
  SHA512:
6
- metadata.gz: a693bc163e0cab6683f954b62533d5fb167d840451ec4e6e26d77b8a3df40eb1cfb66ccdbe3071281aa28de85cd92678f7aa420a26737952989a853c53829b70
7
- data.tar.gz: e8ee3124e634b40c7974d12aeff99a328230bdb268291f1b37fe84687e71c6302fa8e3f3911a36d78895e05ea595e601a292a49fe2239874951a0825d3e0d1cc
6
+ metadata.gz: e5e506fa77c9718cad668dd3d4f5aaac281073ebe8822a33d7e30db258c1a2ad0ce4052355cdb48063729b0cfabd55097b9052ac7228d189a673b2812e184bba
7
+ data.tar.gz: 192310645fd0a2fe87ee0c530d795e568490e19bd7ac973a9f3d1d1553413e8e3980c14dd12e38725456e18a04f2f45600a4dd9e2b358bc4910e4a8243d3a32e
@@ -55,7 +55,7 @@ module Licensee
55
55
  end
56
56
 
57
57
  # Inverse of the confidence threshold, represented as a float
58
- # By default this will be 0.1
58
+ # By default this will be 0.05
59
59
  def inverse_confidence_threshold
60
60
  @inverse ||= (1 - Licensee.confidence_threshold / 100.0).round(2)
61
61
  end
@@ -11,6 +11,7 @@ module Licensee
11
11
  'bsd-3-clause' => /bsd 3-clause( \"new\" or \"revised\")? license/i,
12
12
  'bsd-3-clause-clear' => /bsd 3-clause( clear)? license/i
13
13
  }.freeze
14
+ MAX_SCALED_DELTA = 150
14
15
 
15
16
  # A set of each word in the license, without duplicates
16
17
  def wordset
@@ -28,7 +29,7 @@ module Licensee
28
29
  # Number of characters that could be added/removed to still be
29
30
  # considered a potential match
30
31
  def max_delta
31
- (length * Licensee.inverse_confidence_threshold).to_i
32
+ scaled_delta < MAX_SCALED_DELTA ? scaled_delta : MAX_SCALED_DELTA
32
33
  end
33
34
 
34
35
  # Given another license or project file, calculates the difference in length
@@ -114,5 +115,9 @@ module Licensee
114
115
  def strip_whitespace(string)
115
116
  string.tr("\n", ' ').squeeze(' ').strip
116
117
  end
118
+
119
+ def scaled_delta
120
+ @scaled_delta ||= (length * Licensee.inverse_confidence_threshold).to_i
121
+ end
117
122
  end
118
123
  end
@@ -12,7 +12,10 @@ module Licensee
12
12
 
13
13
  def initialize(content, filename = nil)
14
14
  @content = content
15
- @content.encode!(ENCODING, ENCODING_OPTIONS)
15
+ @content.force_encoding(ENCODING)
16
+ unless @content.valid_encoding?
17
+ @content.encode!(ENCODING, ENCODING_OPTIONS)
18
+ end
16
19
  @filename = filename
17
20
  end
18
21
 
@@ -1,3 +1,3 @@
1
1
  module Licensee
2
- VERSION = '8.9.0'.freeze
2
+ VERSION = '8.9.2'.freeze
3
3
  end
@@ -0,0 +1 @@
1
+ Copyright © 2013–2016 by Peder Ås, 王二麻子, and Seán Ó Rudaí
@@ -0,0 +1,193 @@
1
+ Foundation Center Public License v. 1.0
2
+
3
+ 1. Definitions
4
+
5
+ 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.
6
+
7
+ 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that
8
+ particular Contributor's Contribution.
9
+
10
+ 1.3. "Contribution" means Covered Software of a particular Contributor.
11
+
12
+ 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A,
13
+ the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.
14
+
15
+ 1.5. "Incompatible With Secondary Licenses" means
16
+ 1.5.1. that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
17
+ 1.5.2. that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License.
18
+
19
+ 1.6. "Executable Form" means any form of the work other than Source Code Form.
20
+
21
+ 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software.
22
+
23
+ 1.8. "License" means this document.
24
+
25
+ 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial
26
+ grant or subsequently, any and all of the rights conveyed by this License.
27
+
28
+ 1.10. "Modifications" means any of the following:
29
+ 1.10.1. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
30
+ 1.10.2. any new file in Source Code Form that contains any Covered Software.
31
+
32
+ 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent
33
+ Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having
34
+ made, import, or transfer of either its Contributions or its Contributor Version.
35
+
36
+ 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero
37
+ General Public License, Version 3.0, or any later versions of those licenses.
38
+
39
+ 1.13. "Source Code Form" means the form of the work preferred for making modifications.
40
+
41
+ 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that
42
+ controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to
43
+ cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding
44
+ shares or beneficial ownership of such entity.
45
+
46
+ 2. License Grants and Conditions
47
+
48
+ 2.1. Grants. Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
49
+ 2.1.1. under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify,
50
+ display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and
51
+ 2.1.2. under Patent Claims of such Contributor to make, use, have made, import, or transfer either its Contributions or its Contributor Version.
52
+
53
+ 2.2. Effective Date. The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the
54
+ Contributor first distributes such Contribution.
55
+
56
+ 2.3. Limitations on Grant Scope. The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses
57
+ will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is
58
+ granted by a Contributor:
59
+ 2.3.1. for any code that a Contributor has removed from Covered Software; or
60
+ 2.3.2. for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions
61
+ with other software (except as part of its Contributor Version); or
62
+ 2.3.3. under Patent Claims infringed by Covered Software in the absence of its Contributions.
63
+
64
+ This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice
65
+ requirements in Section 3.4).
66
+
67
+ Additionally, this License does not grant any rights to You for use of the Covered Software in any commercial use , including but not limited to the sale or
68
+ offer to sell the Covered Software, without proper properly attribution to Foundation Center or other Contributor.
69
+
70
+ 2.4. Subsequent Licenses. No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version
71
+ of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).
72
+
73
+ 2.5. Representation. Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights
74
+ to grant the rights to its Contributions conveyed by this License.
75
+
76
+ 2.6. Fair Use. This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other
77
+ equivalents.
78
+
79
+ 2.7. Conditions. Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.
80
+
81
+ 3. Responsibilities
82
+
83
+ 3.1. Distribution of Source Form. All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You
84
+ contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the
85
+ terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form.
86
+
87
+ 3.2. Distribution of Executable Form. If You distribute Covered Software in Executable Form then:
88
+ 3.2.1. such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable
89
+ Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the
90
+ recipient; and
91
+ 3.2.2. You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the
92
+ Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License.
93
+
94
+ 3.3. Distribution of a Larger Work. You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the
95
+ requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more
96
+ Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such
97
+ Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the
98
+ Covered Software under the terms of either this License or such Secondary License(s).
99
+
100
+ 3.4. Notices.
101
+
102
+ 3.4.1. You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or
103
+ limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent
104
+ required to remedy known factual inaccuracies.
105
+
106
+ 3.4.2. Furthermore, for any use of the Covered Software by You not used solely for internal use, You must include in a visible and conspicuous manner to
107
+ the user, attribution to the Foundation Center.
108
+
109
+ 3.4.3.5. Application of Additional Terms. You may choose to offer, and to charge a fee only for, warranty, support, indemnity or liability obligations to
110
+ one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it
111
+ absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every
112
+ Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include
113
+ additional disclaimers of warranty and limitations of liability specific to any jurisdiction.
114
+
115
+ 4. Inability to Comply Due to Statute or Regulation
116
+
117
+ If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order,
118
+ or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they
119
+ affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent
120
+ prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
121
+
122
+ 5. Termination
123
+
124
+ 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant,
125
+ then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly
126
+ and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means
127
+ prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such
128
+ Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this
129
+ License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice.
130
+
131
+ 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and
132
+ cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors
133
+ for the Covered Software under Section 2.1 of this License shall terminate.
134
+
135
+ 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been
136
+ validly granted by You or Your distributors under this License prior to termination shall survive termination.
137
+
138
+ 6. Disclaimer of Warranty
139
+
140
+ Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including,
141
+ without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as
142
+ to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor)
143
+ assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any
144
+ Covered Software is authorized under this License except under this disclaimer.
145
+
146
+ 7. Limitation of Liability
147
+
148
+ Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes
149
+ Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including,
150
+ without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or
151
+ losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death
152
+ or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion
153
+ or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
154
+
155
+ 8. Litigation
156
+
157
+ Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and
158
+ such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a
159
+ party's ability to bring cross-claims or counter-claims.
160
+
161
+ 9. Miscellaneous
162
+
163
+ This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such
164
+ provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be
165
+ construed against the drafter shall not be used to construe this License against a Contributor.
166
+
167
+ 10. Versions of the License
168
+
169
+ 10.1. New Versions. Foundation Center is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to
170
+ modify or publish new versions of this License. Each version will be given a distinguishing version number.
171
+
172
+ 10.2. Effect of New Versions. You may distribute the Covered Software under the terms of the version of the License under which You originally received
173
+ the Covered Software, or under the terms of any subsequent version published by the license steward.
174
+
175
+ 10.3. Modified Versions. If you create software not governed by this License, and you want to create a new license for such software, you may create and
176
+ use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such
177
+ modified license differs from this License).
178
+
179
+ 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses. If You choose to distribute Source Code Form that is Incompatible With
180
+ Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.
181
+
182
+ Exhibit A - Source Code Form License Notice
183
+
184
+ This Source Code Form is subject to the terms of this License. If a copy of the License was not distributed with this file, You can obtain one at
185
+ http://gis.foundationcenter.org/licenses/LICENSE-1.0.html
186
+
187
+ Note: If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a
188
+ relevant directory) where a recipient would be likely to look for such a notice.
189
+
190
+
191
+ Exhibit B - "Incompatible With Secondary Licenses" Notice
192
+
193
+ This Source Code Form is "Incompatible With Secondary Licenses", as defined by this License.
@@ -0,0 +1,182 @@
1
+
2
+ Modified Apache 2.0 License
3
+ Version 2.0.1, February 2015
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ (e) If the Derivative Work includes substantial changes to features
124
+ or functionality of the Work, then you must remove the name of
125
+ the Work, and any derivation thereof, from all copies that you
126
+ distribute, whether in Source or Object form, except as required
127
+ in copyright, patent, trademark, and attribution notices.
128
+
129
+ You may add Your own copyright statement to Your modifications and
130
+ may provide additional or different license terms and conditions
131
+ for use, reproduction, or distribution of Your modifications, or
132
+ for any such Derivative Works as a whole, provided Your use,
133
+ reproduction, and distribution of the Work otherwise complies with
134
+ the conditions stated in this License.
135
+
136
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
137
+ any Contribution intentionally submitted for inclusion in the Work
138
+ by You to the Licensor shall be under the terms and conditions of
139
+ this License, without any additional terms or conditions.
140
+ Notwithstanding the above, nothing herein shall supersede or modify
141
+ the terms of any separate license agreement you may have executed
142
+ with Licensor regarding such Contributions.
143
+
144
+ 6. Trademarks. This License does not grant permission to use the trade
145
+ names, trademarks, service marks, or product names of the Licensor,
146
+ except as required for reasonable and customary use in describing the
147
+ origin of the Work and reproducing the content of the NOTICE file.
148
+
149
+ 7. Disclaimer of Warranty. Unless required by applicable law or
150
+ agreed to in writing, Licensor provides the Work (and each
151
+ Contributor provides its Contributions) on an "AS IS" BASIS,
152
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
153
+ implied, including, without limitation, any warranties or conditions
154
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
155
+ PARTICULAR PURPOSE. You are solely responsible for determining the
156
+ appropriateness of using or redistributing the Work and assume any
157
+ risks associated with Your exercise of permissions under this License.
158
+
159
+ 8. Limitation of Liability. In no event and under no legal theory,
160
+ whether in tort (including negligence), contract, or otherwise,
161
+ unless required by applicable law (such as deliberate and grossly
162
+ negligent acts) or agreed to in writing, shall any Contributor be
163
+ liable to You for damages, including any direct, indirect, special,
164
+ incidental, or consequential damages of any character arising as a
165
+ result of this License or out of the use or inability to use the
166
+ Work (including but not limited to damages for loss of goodwill,
167
+ work stoppage, computer failure or malfunction, or any and all
168
+ other commercial damages or losses), even if such Contributor
169
+ has been advised of the possibility of such damages.
170
+
171
+ 9. Accepting Warranty or Additional Liability. While redistributing
172
+ the Work or Derivative Works thereof, You may choose to offer,
173
+ and charge a fee for, acceptance of support, warranty, indemnity,
174
+ or other liability obligations and/or rights consistent with this
175
+ License. However, in accepting such obligations, You may act only
176
+ on Your own behalf and on Your sole responsibility, not on behalf
177
+ of any other Contributor, and only if You agree to indemnify,
178
+ defend, and hold each Contributor harmless for any liability
179
+ incurred by, or claims asserted against, such Contributor by reason
180
+ of your accepting any such warranty or additional liability.
181
+
182
+ END OF TERMS AND CONDITIONS
@@ -53,6 +53,22 @@ RSpec.describe 'integration test' do
53
53
  end
54
54
  end
55
55
 
56
+ context 'with WRK Modified Apache 2.0.1' do
57
+ let(:fixture) { 'wrk-modified-apache' }
58
+
59
+ it 'matches nothing' do
60
+ expect(subject.license).to eql(nil)
61
+ end
62
+ end
63
+
64
+ context 'with FCPL Modified MPL' do
65
+ let(:fixture) { 'fcpl-modified-mpl' }
66
+
67
+ it 'matches nothing' do
68
+ expect(subject.license).to eql(nil)
69
+ end
70
+ end
71
+
56
72
  context 'MPL with HRs removed' do
57
73
  let(:license) { Licensee::License.find('mpl-2.0') }
58
74
  let(:fixture) { 'mpl-without-hrs' }
@@ -35,6 +35,14 @@ EOS
35
35
  expect(subject.max_delta).to eql(1)
36
36
  end
37
37
 
38
+ context 'a very long license' do
39
+ let(:content) { 'license' * 1000 }
40
+
41
+ it 'does not return a max delta larger than 150' do
42
+ expect(subject.max_delta).to eql(150)
43
+ end
44
+ end
45
+
38
46
  it 'knows the length delta' do
39
47
  expect(subject.length_delta(mit)).to eql(1000)
40
48
  expect(subject.length_delta(subject)).to eql(0)
@@ -58,6 +58,16 @@
58
58
  end
59
59
  end
60
60
 
61
+ context 'encoding correctness' do
62
+ let(:fixture) { 'copyright-encoding' }
63
+
64
+ it "returns a file's content" do
65
+ expect(subject.license_file.content).to match(
66
+ 'Copyright © 2013–2016 by Peder Ås, 王二麻子, and Seán Ó Rudaí'
67
+ )
68
+ end
69
+ end
70
+
61
71
  context 'readme detection' do
62
72
  let(:fixture) { 'readme' }
63
73
  subject { described_class.new(path, detect_readme: true) }
@@ -33,6 +33,10 @@
33
33
  description: Bulleted list of limited rules
34
34
  required: true
35
35
 
36
+ - name: using
37
+ description: 'A list of 3 notable projects using the license with straightforward LICENSE files which serve as examples newcomers can follow and that can be detected by [licensee](https://github.com/benbalter/licensee) in the form of `project_name: license_file_url`'
38
+ required: true
39
+
36
40
  # Optional fields
37
41
 
38
42
  - name: featured
@@ -51,10 +55,6 @@
51
55
  description: Additional information about the licenses
52
56
  required: false
53
57
 
54
- - name: using
55
- description: 'A list of up to 3 notable projects using the license with straightforward LICENSE files which serve as examples newcomers can follow and that can be detected by [licensee](https://github.com/benbalter/licensee) in the form of `project_name: license_file_url`'
56
- required: false
57
-
58
58
  - name: redirect_from
59
59
  description: Relative path(s) to redirect to the license from, to prevent breaking old URLs
60
60
  required: false
@@ -7,6 +7,8 @@ description: The Academic Free License is a variant of the Open Software License
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. 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.
9
9
 
10
+ using:
11
+
10
12
  permissions:
11
13
  - commercial-use
12
14
  - modifications
@@ -12,6 +12,8 @@ how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of
12
12
 
13
13
  note: The Free Software 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.
14
14
 
15
+ using:
16
+
15
17
  permissions:
16
18
  - commercial-use
17
19
  - modifications
@@ -8,6 +8,8 @@ description: Heavily favored by the Perl community, the Artistic license require
8
8
 
9
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. Do not replace the copyright notice (year, author), which refers to the license itself, not the licensed project.
10
10
 
11
+ using:
12
+
11
13
  permissions:
12
14
  - commercial-use
13
15
  - modifications
@@ -9,6 +9,8 @@ description: A permissive license that comes in two variants, the <a href="/lice
9
9
 
10
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.
11
11
 
12
+ using:
13
+
12
14
  permissions:
13
15
  - commercial-use
14
16
  - modifications
@@ -7,6 +7,8 @@ description: A variant of the <a href="/licenses/bsd-3-clause/">BSD 3-Clause Lic
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. Replace [project] with the project organization, if any, that sponsors this work.
9
9
 
10
+ using:
11
+
10
12
  permissions:
11
13
  - commercial-use
12
14
  - modifications
@@ -8,6 +8,8 @@ description: A permissive license similar to the <a href="/licenses/bsd-2-clause
8
8
 
9
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. Replace [project] with the project organization, if any, that sponsors this work.
10
10
 
11
+ using:
12
+
11
13
  permissions:
12
14
  - commercial-use
13
15
  - modifications
@@ -9,6 +9,8 @@ how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of
9
9
 
10
10
  note: Boost recommends taking the additional step of adding a boilerplate notice to the top of each file. The boilerplate can be found at the [Boost Software License FAQ](http://www.boost.org/users/license.html#FAQ).
11
11
 
12
+ using:
13
+
12
14
  permissions:
13
15
  - commercial-use
14
16
  - modifications
@@ -5,7 +5,9 @@ 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.
7
7
 
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. It is also acceptable to soley supply a link to a copy of the license, usually to the <a href='https://creativecommons.org/licenses/by/4.0/'>canonical URL for the license</a>.
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. It is also acceptable to solely supply a link to a copy of the license, usually to the <a href='https://creativecommons.org/licenses/by/4.0/'>canonical URL for the license</a>.
9
+
10
+ using:
9
11
 
10
12
  permissions:
11
13
  - commercial-use
@@ -5,7 +5,9 @@ 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.
7
7
 
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. It is also acceptable to soley supply a link to a copy of the license, usually to the <a href='https://creativecommons.org/licenses/by-sa/4.0/'>canonical URL for the license</a>.
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. It is also acceptable to solely supply a link to a copy of the license, usually to the <a href='https://creativecommons.org/licenses/by-sa/4.0/'>canonical URL for the license</a>.
9
+
10
+ using:
9
11
 
10
12
  permissions:
11
13
  - commercial-use
@@ -10,6 +10,8 @@ how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of
10
10
 
11
11
  note: Creative Commons recommends taking the additional step of adding a boilerplate notice to the top of each file. The boilerplate can be <a href="https://wiki.creativecommons.org/wiki/CC0_FAQ#May_I_apply_CC0_to_computer_software.3F_If_so.2C_is_there_a_recommended_implementation.3F">found on their website</a>.
12
12
 
13
+ using:
14
+
13
15
  permissions:
14
16
  - commercial-use
15
17
  - modifications
@@ -2,7 +2,7 @@
2
2
  title: European Union Public License 1.1
3
3
  spdx-id: EUPL-1.1
4
4
  redirect_from: /licenses/eupl-v1.1/
5
- source: https://joinup.ec.europa.eu/community/eupl/og_page/european-union-public-licence-eupl-v11
5
+ source: https://joinup.ec.europa.eu/community/eupl/og_page/eupl-text-11-12
6
6
 
7
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.
8
8
 
@@ -10,6 +10,8 @@ how: Create a text file (typically named COPYING or LICENCE.txt) in the root of
10
10
 
11
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.
12
12
 
13
+ using:
14
+
13
15
  permissions:
14
16
  - commercial-use
15
17
  - modifications
@@ -12,6 +12,8 @@ how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of
12
12
 
13
13
  note: The Free Software 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.
14
14
 
15
+ using:
16
+
15
17
  permissions:
16
18
  - commercial-use
17
19
  - modifications
@@ -12,6 +12,8 @@ how: This license is an additional set of permissions to the <a href="/licenses/
12
12
 
13
13
  note: The Free Software 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 <a href="/licenses/gpl-3.0">GNU GPLv3 license</a>. Insert the word “Lesser” before “General” in all three places in the boilerplate notice to make sure that you refer to the GNU LGPLv3 and not the GNU GPLv3.
14
14
 
15
+ using:
16
+
15
17
  permissions:
16
18
  - commercial-use
17
19
  - modifications
@@ -9,6 +9,8 @@ how: To use this license, place in each of the components of your work both an e
9
9
 
10
10
  note: An example boilerplate and more information about how to use the license can be found at the end of the license.
11
11
 
12
+ using:
13
+
12
14
  permissions:
13
15
  - commercial-use
14
16
  - modifications
@@ -7,6 +7,8 @@ description: An open source license with a patent grant.
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.
9
9
 
10
+ using:
11
+
10
12
  permissions:
11
13
  - commercial-use
12
14
  - modifications
@@ -7,6 +7,8 @@ description: An open source license with a patent grant similar to the <a href="
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.
9
9
 
10
+ using:
11
+
10
12
  permissions:
11
13
  - commercial-use
12
14
  - modifications
@@ -13,7 +13,6 @@ using:
13
13
  - ROCR-Runtime: https://github.com/RadeonOpenCompute/ROCR-Runtime/blob/master/LICENSE.txt
14
14
  - RLTK: https://github.com/chriswailes/RLTK/blob/master/LICENSE
15
15
 
16
-
17
16
  permissions:
18
17
  - commercial-use
19
18
  - modifications
@@ -10,6 +10,8 @@ how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of
10
10
 
11
11
  note: This license doesn't require source provision, but recommends it. All files derived from OFL files must remain licensed under the OFL.
12
12
 
13
+ using:
14
+
13
15
  permissions:
14
16
  - private-use
15
17
  - commercial-use
@@ -10,8 +10,8 @@ how: Create a text file (typically named UNLICENSE or UNLICENSE.txt) in the root
10
10
 
11
11
  using:
12
12
  - youtube-dl: https://github.com/rg3/youtube-dl/blob/master/LICENSE
13
- - stacktrace.js: https://github.com/stacktracejs/stacktrace.js/blob/master/LICENSE
14
13
  - kakoune: https://github.com/mawww/kakoune/blob/master/UNLICENSE
14
+ - RDF.rb: https://github.com/ruby-rdf/rdf/blob/master/UNLICENSE
15
15
 
16
16
  permissions:
17
17
  - private-use
@@ -50,4 +50,4 @@ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
50
50
  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
51
51
  OTHER DEALINGS IN THE SOFTWARE.
52
52
 
53
- For more information, please refer to <http://unlicense.org>
53
+ For more information, please refer to <https://unlicense.org>
@@ -7,6 +7,8 @@ description: The easiest license out there. It gives the user permissions to do
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.
9
9
 
10
+ using:
11
+
10
12
  permissions:
11
13
  - commercial-use
12
14
  - modifications
@@ -7,6 +7,8 @@ description: A short permissive license, compatible with GPL. Requires altered s
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
+
10
12
  permissions:
11
13
  - commercial-use
12
14
  - modifications
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.9.0
4
+ version: 8.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Balter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-24 00:00:00.000000000 Z
11
+ date: 2017-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rugged
@@ -104,7 +104,6 @@ extensions: []
104
104
  extra_rdoc_files: []
105
105
  files:
106
106
  - LICENSE.md
107
- - README.md
108
107
  - bin/licensee
109
108
  - lib/licensee.rb
110
109
  - lib/licensee/content_helper.rb
@@ -130,8 +129,10 @@ files:
130
129
  - spec/fixtures/case-sensitive/LiCeNsE.TxT
131
130
  - spec/fixtures/cc-by-nc-sa/LICENSE
132
131
  - spec/fixtures/cc-by-nd/LICENSE
132
+ - spec/fixtures/copyright-encoding/COPYING
133
133
  - spec/fixtures/description-license/DESCRIPTION
134
134
  - spec/fixtures/description-license/LICENSE
135
+ - spec/fixtures/fcpl-modified-mpl/LICENSE
135
136
  - spec/fixtures/gemspec/project._gemspec
136
137
  - spec/fixtures/gpl3-without-instructions/LICENSE
137
138
  - spec/fixtures/lgpl/COPYING.lesser
@@ -141,6 +142,7 @@ files:
141
142
  - spec/fixtures/mit/README.md
142
143
  - spec/fixtures/mpl-without-hrs/LICENSE
143
144
  - spec/fixtures/readme/README.md
145
+ - spec/fixtures/wrk-modified-apache/LICENSE
144
146
  - spec/integration_spec.rb
145
147
  - spec/licensee/content_helper_spec.rb
146
148
  - spec/licensee/license_spec.rb
data/README.md DELETED
@@ -1 +0,0 @@
1
- ./docs/README.md