Project

General

Profile

Actions

Feature #2000

closed

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

Added by mtasaka (Mamoru TASAKA) over 14 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-dev:39167]

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 2 (0 open2 closed)

Related to Ruby master - Feature #4698: drop Ruby license completelyRejected05/15/2011Actions
Is duplicate of Ruby master - Feature #2032: Change the license to "GPLv2+ or Ruby's original".Closedmatz (Yukihiro Matsumoto)09/02/2009Actions
Actions #1

Updated by matz (Yukihiro Matsumoto) over 14 years ago

=begin
Hi,

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

In message "Re: [ruby-dev:39167] [Bug #2000] Change the license to "GPLv2+ or Ruby's original"."
on Wed, 26 Aug 2009 23:47:10 +0900, Mamoru Tasaka 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

Actions #2

Updated by taca (Takahiro Kambe) over 14 years ago

=begin
In message
on Wed, 26 Aug 2009 23:47:10 +0900,
Mamoru Tasaka 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

=end

Actions #3

Updated by matz (Yukihiro Matsumoto) over 14 years ago

=begin
Hi,

In message "Re: [ruby-dev:39168] Re: [Bug #2000] Change the license to "GPLv2+ or Ruby's original"."
on Thu, 27 Aug 2009 00:13:31 +0900, Yukihiro Matsumoto 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

Actions #4

Updated by shyouhei (Shyouhei Urabe) over 14 years ago

  • Priority changed from 5 to Normal

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

Actions #5

Updated by nobu (Nobuyoshi Nakada) over 14 years ago

=begin
Hi,

At Thu, 27 Aug 2009 00:20:03 +0900,
Takahiro Kambe wrote in [ruby-dev:39169]:

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 << <<EOS} unless enable_config("readline-v6"))
    +#if RL_VERSION_MAJOR >= 6
    +#error GPLv2 incompatible
    +#endif
    +EOS

have_library("user32", nil) if /cygwin/ === RUBY_PLATFORM
have_library("ncurses", "tgetnum") ||

--
Nobu Nakada

=end

Actions #6

Updated by naruse (Yui NARUSE) over 14 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

=end

Actions #7

Updated by naruse (Yui NARUSE) over 14 years ago

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

At Thu, 27 Aug 2009 00:20:03 +0900,
Takahiro Kambe wrote in [ruby-dev:39169]:

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

=end

Actions #8

Updated by matz (Yukihiro Matsumoto) over 14 years ago

=begin
Hi,

In message "Re: [ruby-dev:39175] Re: [Bug #2000] Change the license to "GPLv2+ or Ruby's original"."
on Thu, 27 Aug 2009 14:22:44 +0900, "NARUSE, Yui" 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

Actions #9

Updated by mtasaka (Mamoru TASAKA) over 14 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

Actions #10

Updated by taca (Takahiro Kambe) over 14 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

Actions #11

Updated by nobu (Nobuyoshi Nakada) about 14 years ago

  • Status changed from Open to Closed

=begin

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0