Project

General

Profile

Actions

Feature #20437

open

Could the licensing conditions be made less ambiguous?

Added by vo.x (Vit Ondruch) 8 months ago. Updated 3 months ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:117618]

Description

Current state

The current COPYING file says the following:

Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
You can redistribute it and/or modify it under either the terms of the
2-clause BSDL (see the file BSDL), or the conditions below:

1. You may make and give away verbatim copies of the source form of the

... snip ...

And this is quite ambiguous. Let me show a few examples:

Ambiguous examples

lib/net/protocol.rb

https://github.com/ruby/ruby/blob/6cfd929034f1fe3d93160365505a8b88bef56159/lib/net/protocol.rb#L11-L13

# This program is free software. You can re-distribute and/or
# modify this program under the same terms as Ruby itself,
# Ruby Distribute License or GNU General Public License.

So what is the license? Is it 2-clause BSDL + Ruby + GPL? Or is is just Ruby + GPL but not 2-clause BSDL?

Racc

https://github.com/ruby/racc/blob/d52fb64d166046bfde81e6e9c424fcd884ebcabf/README.rdoc?plain=1#L44-L45

Racc is distributed under the same terms of ruby.
(see the file COPYING).

where the COPYING contains just 2-clause BSDL.

Not even mentioning that Ruby used to be GPLv2 licensed:

https://github.com/ruby/racc/commit/cc7fe952a6b1fc2ef43477674fa13f2d9d99e818

Rubygems

https://github.com/rubygems/rubygems/blob/master/LICENSE.txt

The license is obviously modeled after Ruby COPYING file, but if it could say "licensed under MIT or Ruby", it would be much better.

Gettext

https://github.com/ruby-gettext/gettext/blob/8d84132efd888e68fffbce413316458788eeaf1e/README.md?plain=1#L294C1-L295C45

The license note is so old that it is not obvious what that means and what was the intention. Did the Ruby relicensing from "GPLv2 or Ruby" to "GPLv2 or BSD" influenced this project?

SPDX

https://spdx.org/licenses/Ruby.html

It quotes just the "conditions below" as a Ruby license, while referring to Ruby license file mentioning also 2-clause BSDL

Proposal

To me it seems that the whole world recognizes "Ruby" license, except Ruby. Therefore I think it would be nice if Ruby project recognized the "Ruby" license. There are two possibilities I can think of:

Refer the license by name

$ git diff
diff --git a/COPYING b/COPYING
index 48e5a96de7..a2d179a8a9 100644
--- a/COPYING
+++ b/COPYING
@@ -1,6 +1,6 @@
 Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
 You can redistribute it and/or modify it under either the terms of the
-2-clause BSDL (see the file BSDL), or the conditions below:
+2-clause BSDL (see the file BSDL), or the conditions of the Ruby license below:
 
 1. You may make and give away verbatim copies of the source form of the
    software without restriction, provided that you duplicate all of the

Extract the "conditions below" into "Ruby" license file

The "conditions below" text could be extracted into separate file (e.g. "RUBY_LICENSE") and the "COPYING" file rephrased to say:

Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
You can redistribute it and/or modify it under either the terms of the
2-clause BSDL (see the file BSDL), or Ruby license (see the file RUBY_LICENSE)

Updated by naruse (Yui NARUSE) 7 months ago

lib/net/protocol.rb

The description is obsoleted.
The license of the code is the same as Ruby

racc

Racc's license is the same as Ruby
see also https://github.com/ruby/racc

Rubygems

It looks MIT License and the Ruby license in a narrow sense "conditions below".

Gettext

It is not our project.

SPDX

As you notice, the "conditions below" is the narrow sense of the Ruby License

Proposal
To me it seems that the whole world recognizes "Ruby" license, except Ruby. Therefore I think it would be nice if Ruby project recognized the "Ruby" license. There are two possibilities I can think of:

The Ruby License is a dual license with 2-clause BSDL and the "conditions below". Your proposal is the proposal to change the Ruby license and it won't be accepted.

Updated by vo.x (Vit Ondruch) 7 months ago ยท Edited

The Ruby License is a dual license with 2-clause BSDL and the "conditions below". Your proposal is the proposal to change the Ruby license and it won't be accepted.

If these two are inseparable, forming together the "Ruby" license, then this should be probably elaborated somewhere in more detail. And then project such as Racc should claim only "Ruby" license (and the license file should be the same as the Ruby's license file). That also means that SPDX definition of Ruby license should also be clarified.

Of course you can claim that SPDX or Gettext are external to Ruby, so that is not Ruby's problem what is their license. But I would not consider this fair to the wider community.

IOW, I still think the license situation is ambiguous. I don't see that everybody is on the same page.

Actions #3

Updated by vo.x (Vit Ondruch) 7 months ago

  • Subject changed from Could be the licensing conditions be made less ambiguous? to Could be the licensing conditions made less ambiguous?
Actions #4

Updated by vo.x (Vit Ondruch) 7 months ago

  • Subject changed from Could be the licensing conditions made less ambiguous? to Could the licensing conditions be made less ambiguous?

Updated by vo.x (Vit Ondruch) 3 months ago

@matz (Yukihiro Matsumoto) would you mind to comment on the license? How it should be properly applied? What (SPDX) identifiers should be used?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0