Feature #2000

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

Added by mtasaka (Mamoru Tasaka) over 2 years ago. Updated about 1 year ago.

[ruby-dev:39167]
Status:Closed Start date:08/26/2009
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:-

Description

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

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

Associated revisions

Revision 29262
Added by naruse (Yui NARUSE) over 1 year ago

* COPYING: change Ruby's License from a dual license with GPLv2 to a dual license with 2-clause BSDL. [ruby-dev:42166] [ruby-core:31971] [ruby-dev:39167] [ruby-core:25272] * COPYING.ja: ditto. * BSDL: added. this is from The FreeBSD License.

History

Updated by matz (Yukihiro Matsumoto) over 2 years ago

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 <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.

Updated by taca (Takahiro Kambe) over 2 years ago

In message <4a954aeb9bde1_212ee90f1247017@redmine.ruby-lang.org>
	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>

Updated by matz (Yukihiro Matsumoto) over 2 years ago

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 <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.

Updated by shyouhei (Shyouhei Urabe) over 2 years ago

  • Priority changed from High to Normal
Moved to feature category because this is not a bug definitely.

Updated by nobu (Nobuyoshi Nakada) over 2 years ago

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

Updated by naruse (Yui NARUSE) over 2 years ago

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>

Updated by naruse (Yui NARUSE) over 2 years ago

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  <naruse@airemix.jp>

Updated by matz (Yukihiro Matsumoto) over 2 years ago

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" <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.

Updated by mtasaka (Mamoru Tasaka) over 2 years ago

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.

Updated by taca (Takahiro Kambe) over 2 years ago

> 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.

Updated by nobu (Nobuyoshi Nakada) about 2 years ago

  • Status changed from Open to Closed

Also available in: Atom PDF