cucumber / cucumber-expressions

Human friendly alternative to Regular Expressions
MIT License
152 stars 51 forks source link

Released Ruby gem is missing LICENSE file. #292

Open jackorp opened 6 months ago

jackorp commented 6 months ago

I am working on updating a few packages in the Ruby cucumber stack in Fedora and I noticed the license file is missing from this library now, that wasn't the case with v14.

From what I understand the file should be present in the released gem as it's a copy of the software.

Not 100% sure how a proper fix should look like.

AFAICT, to build and then unpack/install the gem properly, the license has to be either on the same level with the .gemspec file in the Ruby gem or some level below. A file cannot be referenced a level up from gemspec, so doing something like s.files << "../LICENSE" is not going to work for unpacking the gem. Perhaps a Rakefile target that copies the LICENSE first and then builds the gem so that something like s.files << "./LICENSE" would then be OK.

mpkorstanje commented 6 months ago

Ah. That would have been my fault. I deduplicated the licenses in https://github.com/cucumber/cucumber-expressions/pull/195 and in other repos as well. We probably have this problem in quite a few projects then.

jackorp commented 3 months ago

We probably have this problem in quite a few projects then.

That would be correct observation, Probably also accross languages with $LIBRARY_MANAGER (npm, rubygems, ...). https://github.com/cucumber/messages also has the same problem.

BTW the section of the MIT license: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. is an easy downstream fix of just pulling the file, but it is a fix I'd prefer not to do in the first place.

mpkorstanje commented 3 months ago

@luke-hill anyway we can have a single licence file with Ruby?

mpkorstanje commented 2 months ago

Looks like fixing this in any other way but duplicating files is not going to work.

To fix:

V cucumber/gherkin-utils/LICENSE
X cucumber/gherkin-utils/java/LICENSE - not found
X cucumber/gherkin-utils/javascript/LICENSE - not found
X cucumber/query/LICENSE - differs
X cucumber/query/java/LICENSE - not found
X cucumber/query/javascript/LICENSE - not found
V cucumber/ci-environment/LICENSE
X cucumber/ci-environment/go/LICENSE - not found
X cucumber/ci-environment/java/LICENSE - not found
X cucumber/ci-environment/javascript/LICENSE - not found
X cucumber/ci-environment/python/LICENSE - not found
X cucumber/ci-environment/ruby/LICENSE - not found
V cucumber/tag-expressions/LICENSE
X cucumber/tag-expressions/go/LICENSE - not found
X cucumber/tag-expressions/java/LICENSE - not found
X cucumber/tag-expressions/javascript/LICENSE - not found
X cucumber/tag-expressions/perl/LICENSE - not found
X cucumber/tag-expressions/python/LICENSE - not found
X cucumber/tag-expressions/ruby/LICENSE - not found
V cucumber/cucumber-expressions/LICENSE
X cucumber/cucumber-expressions/dotnet/LICENSE - not found
X cucumber/cucumber-expressions/go/LICENSE - not found
X cucumber/cucumber-expressions/java/LICENSE - not found
X cucumber/cucumber-expressions/javascript/LICENSE - not found
X cucumber/cucumber-expressions/python/LICENSE - not found
X cucumber/cucumber-expressions/ruby/LICENSE - not found

https://github.com/cucumber/gherkin/pull/257

V cucumber/gherkin/LICENSE
X cucumber/gherkin/c/LICENSE - not found
X cucumber/gherkin/cpp/LICENSE - not found
X cucumber/gherkin/dart/LICENSE - not found
X cucumber/gherkin/dotnet/LICENSE - not found
X cucumber/gherkin/elixir/LICENSE - not found
X cucumber/gherkin/go/LICENSE - not found
X cucumber/gherkin/java/LICENSE - not found
X cucumber/gherkin/javascript/LICENSE - not found
X cucumber/gherkin/objective-c/LICENSE - not found
X cucumber/gherkin/perl/LICENSE - not found
X cucumber/gherkin/php/LICENSE - not found
X cucumber/gherkin/python/LICENSE - not found
X cucumber/gherkin/ruby/LICENSE - not found

https://github.com/cucumber/messages/pull/238

V cucumber/messages/LICENSE
X cucumber/messages/cpp/LICENSE - not found
X cucumber/messages/dotnet/LICENSE - not found
X cucumber/messages/elixir/LICENSE - not found
X cucumber/messages/go/LICENSE - not found
X cucumber/messages/java/LICENSE - not found
X cucumber/messages/javascript/LICENSE - not found
X cucumber/messages/perl/LICENSE - not found
X cucumber/messages/php/LICENSE - not found
X cucumber/messages/ruby/LICENSE - not found
V cucumber/html-formatter/LICENSE
X cucumber/html-formatter/java/LICENSE - not found
X cucumber/html-formatter/javascript/LICENSE - not found
X cucumber/html-formatter/ruby/LICENSE - not found
V cucumber/compatibility-kit/LICENSE
X cucumber/compatibility-kit/javascript/LICENSE - not found
X cucumber/compatibility-kit/ruby/LICENSE - not found