Feature #2000

Change the license to "GPLv2+ or Ruby's original".

Added by Mamoru Tasaka over 5 years ago. Updated almost 4 years ago.

[ruby-dev:39167]
Status:Closed
Priority:Normal
Assignee:-

Description

=begin
Hello.

Recently readline 6.0 was released and its license was changed from
GPLv2+ (GPL version 2 and any later) to GPLv3+ [1][2]
Unfortunately Ruby's license is still under GPLv2 and Ruby's original license [3],
which is incompatible with GPLv3 [4]. So unless Ruby's license is changed
to "GPLv2+ or Ruby's original license" or so , Ruby's readline module cannot be shipped
any more. Note that "Ruby's original license" is regarded as incompatible with
GPL [5].

So please change the Ruby's license to GPLv3 (and GPLv2) compat.

[1] http://tiswww.case.edu/php/chet/readline/rltop.html
[2] https://www.redhat.com/archives/fedora-devel-list/2009-July/msg00192.html
[3] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/COPYING?view=co
[4] https://fedoraproject.org/wiki/Licensing#GPL_Compatibility_Matrix
[5] https://fedoraproject.org/wiki/Licensing
=end


Related issues

Related to Ruby trunk - Feature #4698: drop Ruby license completely Rejected 05/15/2011
Duplicates Ruby trunk - Feature #2032: Change the license to "GPLv2+ or Ruby's original". Closed 09/02/2009

History

#1 Updated by Yukihiro Matsumoto over 5 years ago

=begin
Hi,

I guess this post might be better to go ruby-core.

In message "Re: [Bug #2000] Change the license to "GPLv2+ or Ruby's original"."
on Wed, 26 Aug 2009 23:47:10 +0900, Mamoru Tasaka redmine@ruby-lang.org writes:

|Recently readline 6.0 was released and its license was changed from
|GPLv2+ (GPL version 2 and any later) to GPLv3+ [1][2]
|Unfortunately Ruby's license is still under GPLv2 and Ruby's original license [3],
|which is incompatible with GPLv3 [4]. So unless Ruby's license is changed
|to "GPLv2+ or Ruby's original license" or so , Ruby's readline module cannot be shipped
|any more. Note that "Ruby's original license" is regarded as incompatible with
|GPL [5].
|
|So please change the Ruby's license to GPLv3 (and GPLv2) compat.

I am not sure how Fedra project think, but there's no such thing as
Ruby's license independent from GPL. It's always dual licensed, so as
a whole it's always GPL compatible (at least to GPLv2). It's already
known to FSF, see the compatibility note from them (I don't remember
the URL right now).

For license compatibility issue, I think we are still able to ship
readline extension without changing Ruby's license as a whole, since
the older version of readline library is always available. But to
avoid the potential problem, we should either, a) note that it's
incompatible with GPLv3 version of libreadline, or b) note that
readline extension can be distributed by GPLv3 as well (triple
license).

I recommend the latter.

Compatibility issues between free software licenses suck.

                        matz.

=end

#2 Updated by Takahiro Kambe over 5 years ago

=begin
In message
on Wed, 26 Aug 2009 23:47:10 +0900,
Mamoru Tasaka redmine@ruby-lang.org wrote:

Bug #2000: Change the license to "GPLv2+ or Ruby's original".
http://redmine.ruby-lang.org/issues/show/2000

起票者: Mamoru Tasaka
ステータス: Open, 優先度: High
ruby -v: 1.8.x/1.9.x

Hello.

Recently readline 6.0 was released and its license was changed from
GPLv2+ (GPL version 2 and any later) to GPLv3+ [1][2]
Unfortunately Ruby's license is still under GPLv2 and Ruby's original license [3],
which is incompatible with GPLv3 [4]. So unless Ruby's license is changed
to "GPLv2+ or Ruby's original license" or so , Ruby's readline module cannot be shipped
any more. Note that "Ruby's original license" is regarded as incompatible with
GPL [5].

So please change the Ruby's license to GPLv3 (and GPLv2) compat.
Another option is make Ruby use older readline library which was GPLv2
strictly.

And you need to know, Ruby's readline module work not only with GNU
readline but also editline library (contained in *BSD). So, importing
editline library is another option. :-)

--
Takahiro Kambe taca@back-street.net

=end

#3 Updated by Yukihiro Matsumoto over 5 years ago

=begin
Hi,

In message "Re: Re: [Bug #2000] Change the license to "GPLv2+ or Ruby's original"."
on Thu, 27 Aug 2009 00:13:31 +0900, Yukihiro Matsumoto matz@ruby-lang.org writes:

|It's already
|known to FSF, see the compatibility note from them (I don't remember
|the URL right now).

It's http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses.
And it says:

License of Ruby

 This is a free software license, compatible with the GPL
 via an explicit dual-licensing clause.

                        matz.

=end

#4 Updated by Shyouhei Urabe over 5 years ago

  • Priority changed from High to Normal

=begin
Moved to feature category because this is not a bug definitely.
=end

#5 Updated by Nobuyoshi Nakada over 5 years ago

=begin
Hi,

At Thu, 27 Aug 2009 00:20:03 +0900,
Takahiro Kambe wrote in :

So please change the Ruby's license to GPLv3 (and GPLv2) compat.
Another option is make Ruby use older readline library which was GPLv2
strictly.

A patch followed.

And you need to know, Ruby's readline module work not only with GNU
readline but also editline library (contained in *BSD). So, importing
editline library is another option. :-)

However, editline's compatibility is still incomplete a little.
I found it lacks rl_getc declaration and the type of
rl_getc_function differs from GNU readline's one.

Index: ext/readline/extconf.rb
===================================================================
--- ext/readline/extconf.rb (revision 24680)
+++ ext/readline/extconf.rb (working copy)
@@ -4,5 +4,5 @@ $readline_headers = ["stdio.h"]

def have_readline_header(header)
- if have_header(header)
+ if have_header(header, &$readline_extra_check)
$readline_headers.push(header)
return true
@@ -25,4 +25,10 @@ dir_config('termcap')
dir_config("readline")
enable_libedit = enable_config("libedit")
+$readline_extra_check = (proc {|src| src << <= 6
+#error GPLv2 incompatible
+#endif
+EOS
+
have_library("user32", nil) if /cygwin/ === RUBY_PLATFORM
have_library("ncurses", "tgetnum") ||

--
Nobu Nakada

=end

#6 Updated by Yui NARUSE over 5 years ago

=begin
2009/08/27 0:13, Yukihiro Matsumoto wrote:

I am not sure how Fedra project think, but there's no such thing as
Ruby's license independent from GPL. It's always dual licensed, so as
a whole it's always GPL compatible (at least to GPLv2). It's already
known to FSF, see the compatibility note from them (I don't remember
the URL right now).

I interpretd this paragraph says,
Ruby's License is alyways GPLv2 compat.

b) note that
readline extension can be distributed by GPLv3 as well (triple
license).

If the readline is GPLv3 and readline extension is linked to it,
the extension must be GPLv3 compat.
If the readline extension is GPLv3 and the extension is linked to Ruby,
Ruby must be GPLv3 compat.

b) is not acceptable.

--
NARUSE, Yui naruse@airemix.jp

=end

#7 Updated by Yui NARUSE over 5 years ago

=begin
2009/08/27 9:21, Nobuyoshi Nakada wrote:

At Thu, 27 Aug 2009 00:20:03 +0900,
Takahiro Kambe wrote in :

And you need to know, Ruby's readline module work not only with GNU
readline but also editline library (contained in *BSD). So, importing
editline library is another option. :-)

However, editline's compatibility is still incomplete a little.
I found it lacks rl_getc declaration and the type of
rl_getc_function differs from GNU readline's one.

I know knu said this as joke but for readers,
edtline (libedit) does not support multibytes.
So this can't be an acceptable option.

--
NARUSE, Yui naruse@airemix.jp

=end

#8 Updated by Yukihiro Matsumoto over 5 years ago

=begin
Hi,

In message "Re: Re: [Bug #2000] Change the license to "GPLv2+ or Ruby's original"."
on Thu, 27 Aug 2009 14:22:44 +0900, "NARUSE, Yui" naruse@airemix.jp writes:

|I interpretd this paragraph says,
|Ruby's License is alyways GPLv2 compat.
|
|> b) note that
|> readline extension can be distributed by GPLv3 as well (triple
|> license).
|
|If the readline is GPLv3 and readline extension is linked to it,
|the extension must be GPLv3 compat.
|If the readline extension is GPLv3 and the extension is linked to Ruby,
|Ruby must be GPLv3 compat.
|
|b) is not acceptable.

If it's true, life sucks. I hate licensing issues. So we have two
GPL software, both respecting the spirit of free software, but still
we have license problem. ****.

We have to someone to make clear what would happen if we change the
whole license to GPLv2+, or other work around. I am not going to add
an option to reject GPLv3 to readline, since most people don't add the
option, and would violate GPLv3 without knowing. That's dishonest.

We really should go to ruby-core.

                        matz.

=end

#9 Updated by Mamoru Tasaka over 5 years ago

=begin
Ah, I thought that I was already subscribing to this bug ticket.

The problem is:

|I interpretd this paragraph says,
|Ruby's License is alyways GPLv2 compat.
|
|> b) note that
|> readline extension can be distributed by GPLv3 as well (triple
|> license).
|
|If the readline is GPLv3 and readline extension is linked to it,
|the extension must be GPLv3 compat.
|If the readline extension is GPLv3 and the extension is linked to Ruby,
|Ruby must be GPLv3 compat.
|
|b) is not acceptable.

If it's true, life sucks. I hate licensing issues. So we have two
GPL software, both respecting the spirit of free software, but still
we have license problem. ****.

This is exactly true and if we use readline 6 and make ruby's readline.so
linked against both libreadline.so and libruby.so, ruby "itself" (not ruby's
readline module only) must be GPLv3 compat , so b) is not the option.
(By the way on Fedora not all softwares using readline have switched to GPLv3
compat license, so currently Fedora ships both readline 6 and readline 5)

Well, the license issue is always really annoying , however I hope this issue
is resolved somehow.

=end

#10 Updated by Takahiro Kambe over 5 years ago

=begin

We really should go to ruby-core.
Agree. Then how will this ticket be handled or someone change this ticket to ruby-core?
(I don't know how tickets are processed.)

I don't think that it is good idea to leave this ticket open.

=end

#11 Updated by Nobuyoshi Nakada almost 5 years ago

  • Status changed from Open to Closed

=begin

=end

Also available in: Atom PDF