RubyのライセンスがBSDLとRuby'sのデュアルライセンスに変更へ 37
ストーリー by kazekiri
GPLではなくなることでGPLと互換性 部門より
GPLではなくなることでGPLと互換性 部門より
あるAnonymous Coward 曰く、
Rubyのライセンスが、現在のGPLv2とRubyライセンスのデュアルライセンスから、 BSDLとRubyライセンスのデュアルライセンスに変更されることに決定されたようだ。 今日から二週間のパブリックコメント受付期間があるが、Matzが決定したということで、基本的な路線が変更されることはなさそうだ。 これまでの最大の問題は、GPLv3コードとの非互換性なのだと思うが、この変更で問題は解消されるだろう。
組み込みrubyに向けての下準備? (スコア:3, 興味深い)
福岡県が「組み込み向けRuby」の開発を行うと発表 [srad.jp]という話がありましたが、今このタイミングでのBSDLへの変更というのは、これを見越したことかなと思いました。
組み込みに使うとかの産業用とだと、GPLは使い勝手が悪いというかBSDLの使い勝手がすごく良い。
GPLベースで考えた場合、「GPLでライセンスされているRuby処理系の一部をハードウェアで実装しなおしたもの」であるRubyチップコアの設計内にGPLなものが入ることになります。
そうするとRubyチップの設計情報そのものがGPLになって、その設計をGPLで公開しなければならなくなり、
さらに、RubyコアをベースにSoCを作ったりしたら、そのシステム全体までGPLになったりするんじゃないかな、とか。
せっかくRubyチップを作っても、そんなライセンス問題で使い勝手が悪くなっては誰も使ってくれないでしょう…
Re:組み込みrubyに向けての下準備? (スコア:2)
ども、今回の話の直接の提案者です。
で、組み込みの話は偶然ですね。
なお、組み込みの方はBSDLにしなくてもMatzの許可条項でどうとでもなると思います。
Re: (スコア:0)
ハードウェアで再実装したのなら別物なのでは?
#でなければライセンスに問題のあるコードを書き直してクリーンに。って作業が出来なくなる。
Re:組み込みrubyに向けての下準備? (スコア:1, 興味深い)
Rubyはソースが仕様だからソース見ないで再実装することはできないし。
Re:組み込みrubyに向けての下準備? (スコア:1)
今ならRubySpecあるから出来ると思う
Re:組み込みrubyに向けての下準備? (スコア:1)
Ruby のソースから仕様だけを起こす人と、その仕様を見て実装する人を完全に分けてしまえば再実装できますよ。
# それをやっちゃったのが Microsoft の IronRuby だし。元々 BSDL だったらこんな必要なかったんだろうなー(笑)
Re:組み込みrubyに向けての下準備? (スコア:1)
> ハードウェアで再実装したのなら別物なのでは?
ハードウェアかどうかは問題ではなくて、クリーンな再実装ができるかどうかの問題だと思います。
ただでさえ、Rubyは長らく「仕様書はMatz氏の頭の中」もしくは「ソースが仕様書」という状態が続いてきてますし、
Rubyチップの設計は「Rubyバイトコードコンパイラ」+「バイトコード実行ハードウェア」すなわち、
「Rubyチップ」≒「YARVチップ」みたいな実装になるかと思いますが、
このバイトコードコンパイラ部分を含めて全てを一から作るのではなく、
既存のRuby処理系をベースに、コアの部分を抽出してハードウェア化する、
という形態が実現性が高いと思います。
(この場合、ソフトウェアからハードウェアへの翻案であり、ハードウェアでの再実装に対しソフトウェアの著作権が影響する)
そうならないように、内部的な仕様を抽出してまでクリーンルーム方式で開発するのは無駄が多いし、
ライセンス変更で解決するなら、そうすることを選ばない理由はないかな、と。
Matzひとりで決められることなの? (スコア:0)
> Matzが決定したということで、
Contributor全員の同意が必要だと思うんだけど。せめてRubyライセンスにバージョンアップ条項があればGFDL 1.3のような離れ技が使えたかもしれないけど。
しかもRubyライセンスとGPLv2 or latorのデュアルライセンスだったのをRubyライセンスとGPLv2のみのデュアルライセンスに変更したあげくこの始末なんだから馬鹿の極み。
Re:Matzひとりで決められることなの? (スコア:2, 興味深い)
Matzひとりで決められることだそうです。
Togetter - 「RubyとGPLv3」 [togetter.com]より
今後どんなプロプライエタリなライセンスに変更されるか分かりませんので、新バージョンが公開されてもライセンスを確認するまではソースコードを見ない方が安全だと思います。
(プロプラなソースで脆弱性の修正が行われていたら、それを見てしまったら手元のRubyに同じ変更を適用することが出来なくなってしまう)
Re:Matzひとりで決められることなの? (スコア:2, 興味深い)
>Matzひとりで決められることだそうです。
厳密に言うとRubyライセンスが言うところの「作者」であるMatzだからこそ決められるということですね。
従ってライセンス変更の流れとしては、
GPLv2とRubyライセンスのデュアルライセンスから、「Rubyライセンス」を選択する
(この時点でGPLv2は消える)
↓
Rubyライセンスの「作者と合意」条項に基づき、Matzが新条件としてBSDLを追加する
↓
BSDLとRubyライセンスのデュアルライセンスに
ということなのでしょう。
なので今回のライセンス変更に不服のあるcontributorは、そもそもGPLv2とRubyライセンスのデュアルライセンスであるコードベースにはパッチをコミットしてはいけなかったし、今後の身の振り方としては、ライセンス変更前のコードベースをforkさせて現行のGPLv2とRubyライセンスのデュアルライセンス体制を維持するか、あるいは「GPLv2」を選択してGPLv2のみを適用する、ということになるのでしょう。
Re:Matzひとりで決められることなの? (スコア:3, 参考になる)
ども、今回の話の直接の提案者です。
我々もこの解釈を採用しているので、端的にはまつもとさんが変えるといえば変えられると理解しています。
なので、2週間以内にまつもとさんを翻意、または躊躇わすことができれば、この話は止まるでしょう。
Re: (スコア:0)
> 今後どんなプロプライエタリなライセンスに変更されるか分かりませんので、
> 新バージョンが公開されてもライセンスを確認するまではソースコードを
> 見ない方が安全だと思います。
それはRubyに限らず、基本的にすべてのプロダクトについて必要な行為では?
あるプロダクトAのライセンスがXだとして、Aの派生物Bのライセンスを、
Xによって変更が許される範囲のライセンスYに変更して公開することは
充分あり得るでしょう。
具体的に言えば、ライセンスXがBSDLでライセンスYがプロプラだったり、
ライセンスXがGPLv2でライセンスYがGPLv3だったりで、そのライセンスYが
自分にとって都合の悪いものである可能性は常にあるわけで。
Re: (スコア:0)
> 今後どんなプロプライエタリなライセンスに変更されるか分かりませんので、
変更前のソースからブランチができてそこが主流になるから大丈夫・・・
と考えるのは甘すぎ?
Re:Matzひとりで決められることなの? (スコア:1)
パブリックコメントをこれから受け付けておいて、でもすでに「決定されました」なんですよね。
某お役所のやり方をまねたのでしょうか。
Re:Matzひとりで決められることなの? (スコア:2)
まずライセンスの話は少なくともruby-dev(開発者のメーリングリスト)上で一年以上議論がなされています。
その議論の結果得られた結論に対して
というコメントはどうかと。
より良いアイデアがあるのなら、ruby-devに投稿されては如何でしょうか?
committer != contributer (スコア:2)
たとえML上で全コミッタの合意が得られたとしても、
パッチを作成した全コントリビュータの合意が得られたわけではないですね。
たとえパッチを投げた時点で複製権や頒布権をコミッタに譲渡したと解釈したとしても
ソースの改変についての規定を変更する以上は、著作者人格権にも関係すると思います。
特に、今までGPLv2の規定に従ってパッチを貢献してきた人にとっては、
Ruby's Lisenceにリライセンス権の規定があることなど関係ない話ですし。
このあたり、matz氏はどうお考えなのでしょうかね?
Re:committer != contributer (スコア:3, すばらしい洞察)
GPLってなんで外野だけが大騒ぎするんだろう???
いつもいつも
Re:committer != contributer (スコア:1)
日本においてはクレクレ君の伝統がありますので、
お前が作ったものは俺のもの。
それができないのは許せないムキー。
Re:committer != contributer (スコア:1)
お前が作ったものは俺のもの。
それができないのは許せないムキー。
外国にもいますよ。(例 [srad.jp])
Re: (スコア:0)
public lisenceだからじゃね?
Re: (スコア:0)
そういう傾向があるので、基本的には無視していいのです。
関係者MLで特に異論が出てなければ、問題は起きません。
Re:committer != contributer (スコア:2)
Re: (スコア:0)
MLは知らないんですけど、明確に反対している人いたんでしょうか?
特に声を上げないなら問題はないと判断されても仕方ないでしょうし。
コミッタの中でも既にいろんな意味で「いない」人もいるでしょうしね。
Re: (スコア:0)
>パッチを作成した全コントリビュータの合意が得られたわけではないですね。
反対した人がでれば、その部分のパッチを書き直せば良いだけの話では。
パッチの著作権は書き直したコードにまで及ばないわけだから、
特許を含んでない限り(通常は含んでないわけで)特に問題ないんだよね?
ならばパッチを書いた人が反対表明をするのはその人の自由だけれど、
それで書き直せと言うのはちょっとした嫌がらせ以上の意味はない。
Re:Matzひとりで決められることなの? (スコア:1, 興味深い)
で、contributer全員の合意は得られたんですか?
漫然と時間をかければ合法になるわけではありませんよ。(全員死んで50年経つまで待つなら別だがたかだか1年やそこらじゃ)
Re:Matzひとりで決められることなの? (スコア:1)
合意が得られないコードの所は作り直せば良いのでは。
ソースは失念したが、RMSはGNU Emacsのソースコードに他のプログラムと
似た所があると指摘されて、その部分を全て作り直したと聞いた事が
あります。
Re:Matzひとりで決められることなの? (スコア:1, 参考になる)
「変更されました」じゃなくて「変更することに決定されました」だから、
得られた意見によっては再度見直す余地がないわけじゃないってことでは。
「Matzが決定したから変更されることはなさそう」ってのはそもそもタレコミ人の私見に過ぎないし。
また、文面を見る限りコミッタの合意をこれで取るって話ではなく、
第三者からの参考意見を求めているだけですよね。
コミッタの同意については開発MLや個別の確認など、別ルートで確認とるなりしてるんじゃないの?
第三者ではなく自分がコミットしたものが提供時に合意していない扱いをされている、
という事実があるのであれば、今回の意見募集の有無に関わらず文句言えばいいだけかと。
なお、そもそも国や自治体が行うパブコメは法に定められた行政手続なので、
その範囲で意見の集約や見解を出すことが求められますが、
今回のような私的な団体の意見募集については第三者に文句言われる筋合いは無いかと。
Re: (スコア:0)
「決定されました」とか一方的に言ってみたところで訴訟を起こされればそれまでなんだけど。
訴訟を病的に嫌ってわざわざ「Appleのパッチは見てません(キリッ」とか言ってた [hatena.ne.jp]のは何だったの?
Re: (スコア:0)
狭義のRuby'sライセンスってやつ、あれっていらなくね? (スコア:0)
そもそも大昔に
あれ自体がGPL非互換で云々というような指摘をFSFだかRMS本人から受ける。
→ライセンスの見直し論議がはじまる。
→るびべん登場。ruby-lang.orgのアカウントをもらっちゃってたりする。
→僕らのオリバー大先生が登場。一連の議論に対して選択型ライセンスだから非互換に関しては問題ねーよとツッコむ。
→しかし、るびべん様がそんなことはお構いなしにひたすら毒電波を放出しつづけるw
なんてこともあったわけですが、コピーレフトなGPL v2をやめて、極めて制限の緩い2条項BSDライセンスorISCライセンス [wikipedia.org]を採用するなら、もはや残しておく意味がわからん。
Re: (スコア:0)
狭義のRuby'sライセンスは「ruby」という名前のプログラムへの流用を許さないので
その点がGPLやBSDLより厳しいのだが、代わりに「ruby」という名前でないプログラムへは
著作権表記すら削っちゃって流用してもかまわないという異様な緩さもある。
つまりrubyを乗っ取られるのは困るけどコード自体は自由に使ってもらっていいよ、
というライセンスなので、これはこれで存在意義があるのですよ。
Re: (スコア:0)
#ちげーよ
Re: (スコア:0)
るびべんって誰かと思ったら MorphyOne の殿の弁護士でしたか。
なんでそんなキモイ名前使ってるんだろ?
で、結局どのバージョンからの適用を計画してるの? (スコア:0)
変更時期は?
とりあえず (スコア:0)
Re:とりあえず (スコア:2)
Javaで起こったことを考えると、GPLは大事だってわかると思うんだけどな。
Re: (スコア:0)
Write Once, Run Anywhereを実現するためには、Sunのクローズドな製品であることは必要悪だった。