socketry / nio4r

Cross-platform asynchronous I/O primitives for scalable network clients and servers.
Other
966 stars 86 forks source link

Fix license #309

Closed voxik closed 10 months ago

voxik commented 10 months ago

Add libev licenses (BSD-2-Clause OR GPL-2.0-or-later) into gem metadata.

Types of Changes

Contribution

ioquatix commented 10 months ago

Thanks ☺️

viktorianer commented 9 months ago

@voxik Just trying to understand this PR, as it breaks my pipeline.

The gem nio4r uses libev, which was distributed under the BSD license. But, this fact was not reflected in nio4r gem metadata, since it was added in https://github.com/socketry/nio4r/commit/15cab7a09350eb49ed2804f56041585c58dfec35, 2011?

My pipeline checks dependencies for license and decisions, using https://rubygems.org/gems/license_finder. And before this change MIT was permitted, but now the nio4r license is different.

Also, as I understand, libev is not used in all cases?

Thank you for clarifications.

voxik commented 9 months ago

The gem nio4r uses libev, which was distributed under the BSD license. But, this fact was not reflected in nio4r gem metadata, since it was added in 15cab7a, 2011?

Right

Also, as I understand, libev is not used in all cases?

Not expert, but I assume that if you use NIO4R_PURE=true env variable, then libev is not used. Nonetheless, it is still installed.

viktorianer commented 9 months ago

@voxik Ok, thanks for these clarifications.

Could you please change the licenses spec to an array, as it is documented in Ruby gem specification reference? https://guides.rubygems.org/specification-reference/#licenses=

Because, using one string with multiple licenses is not distinguishable for automated processes, like license_finder.

So, it should be: spec.license ["MIT", "BSD-2-Clause", "GPL-2.0-or-later"]

Thank you in advance.