パスワードを忘れた? アカウント作成
251453 story
ソフトウェア

RubyのライセンスがBSDLとRuby'sのデュアルライセンスに変更へ 37

ストーリー by kazekiri
GPLではなくなることでGPLと互換性 部門より

あるAnonymous Coward 曰く、

Rubyのライセンスが、現在のGPLv2とRubyライセンスのデュアルライセンスから、 BSDLとRubyライセンスのデュアルライセンスに変更されることに決定されたようだ。 今日から二週間のパブリックコメント受付期間があるが、Matzが決定したということで、基本的な路線が変更されることはなさそうだ。 これまでの最大の問題は、GPLv3コードとの非互換性なのだと思うが、この変更で問題は解消されるだろう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 福岡県が「組み込み向けRuby」の開発を行うと発表 [srad.jp]という話がありましたが、今このタイミングでのBSDLへの変更というのは、これを見越したことかなと思いました。
    組み込みに使うとかの産業用とだと、GPLは使い勝手が悪いというかBSDLの使い勝手がすごく良い。

    GPLベースで考えた場合、「GPLでライセンスされているRuby処理系の一部をハードウェアで実装しなおしたもの」であるRubyチップコアの設計内にGPLなものが入ることになります。
    そうするとRubyチップの設計情報そのものがGPLになって、その設計をGPLで公開しなければならなくなり、
    さらに、RubyコアをベースにSoCを作ったりしたら、そのシステム全体までGPLになったりするんじゃないかな、とか。

    せっかくRubyチップを作っても、そんなライセンス問題で使い勝手が悪くなっては誰も使ってくれないでしょう…

    • ども、今回の話の直接の提案者です。
      で、組み込みの話は偶然ですね。

      なお、組み込みの方はBSDLにしなくてもMatzの許可条項でどうとでもなると思います。

      親コメント
    • by Anonymous Coward

      GPLベースで考えた場合、「GPLでライセンスされているRuby処理系の一部をハードウェアで実装しなおしたもの」であるRubyチップコアの設計内にGPLなものが入ることになります。

      ハードウェアで再実装したのなら別物なのでは?
      #でなければライセンスに問題のあるコードを書き直してクリーンに。って作業が出来なくなる。

      • by Anonymous Coward on 2010年09月02日 12時14分 (#1818778)
        元のソースを見ながら書いたら書き直しでもGPL汚染されちゃうんじゃねぇの?
        Rubyはソースが仕様だからソース見ないで再実装することはできないし。
        親コメント
      • > ハードウェアで再実装したのなら別物なのでは?

        ハードウェアかどうかは問題ではなくて、クリーンな再実装ができるかどうかの問題だと思います。
        ただでさえ、Rubyは長らく「仕様書はMatz氏の頭の中」もしくは「ソースが仕様書」という状態が続いてきてますし、

        Rubyチップの設計は「Rubyバイトコードコンパイラ」+「バイトコード実行ハードウェア」すなわち、
        「Rubyチップ」≒「YARVチップ」みたいな実装になるかと思いますが、

        このバイトコードコンパイラ部分を含めて全てを一から作るのではなく、
        既存のRuby処理系をベースに、コアの部分を抽出してハードウェア化する、
        という形態が実現性が高いと思います。
        (この場合、ソフトウェアからハードウェアへの翻案であり、ハードウェアでの再実装に対しソフトウェアの著作権が影響する)

        そうならないように、内部的な仕様を抽出してまでクリーンルーム方式で開発するのは無駄が多いし、
        ライセンス変更で解決するなら、そうすることを選ばない理由はないかな、と。

        親コメント
  • by Anonymous Coward on 2010年09月01日 22時27分 (#1818557)

    > Matzが決定したということで、
    Contributor全員の同意が必要だと思うんだけど。せめてRubyライセンスにバージョンアップ条項があればGFDL 1.3のような離れ技が使えたかもしれないけど。
    しかもRubyライセンスとGPLv2 or latorのデュアルライセンスだったのをRubyライセンスとGPLv2のみのデュアルライセンスに変更したあげくこの始末なんだから馬鹿の極み。

    • by Anonymous Coward on 2010年09月02日 4時08分 (#1818654)

      Matzひとりで決められることだそうです。

      Togetter - 「RubyとGPLv3」 [togetter.com]より

      Ruby's licenseの一部としてリライセンス権を含むので、contributorは著作権は保持するが、ライセンス変更を含めて(私に)供託していると解釈してます。つまり、私はいつでもライセンスを変更できるということ。

      今後どんなプロプライエタリなライセンスに変更されるか分かりませんので、新バージョンが公開されてもライセンスを確認するまではソースコードを見ない方が安全だと思います。
      (プロプラなソースで脆弱性の修正が行われていたら、それを見てしまったら手元のRubyに同じ変更を適用することが出来なくなってしまう)

      親コメント
      • by Anonymous Coward on 2010年09月02日 11時32分 (#1818755)

        >Matzひとりで決められることだそうです。

        厳密に言うとRubyライセンスが言うところの「作者」であるMatzだからこそ決められるということですね。

        従ってライセンス変更の流れとしては、

        GPLv2とRubyライセンスのデュアルライセンスから、「Rubyライセンス」を選択する
        (この時点でGPLv2は消える)

        Rubyライセンスの「作者と合意」条項に基づき、Matzが新条件としてBSDLを追加する

        BSDLとRubyライセンスのデュアルライセンスに

        ということなのでしょう。

        なので今回のライセンス変更に不服のあるcontributorは、そもそもGPLv2とRubyライセンスのデュアルライセンスであるコードベースにはパッチをコミットしてはいけなかったし、今後の身の振り方としては、ライセンス変更前のコードベースをforkさせて現行のGPLv2とRubyライセンスのデュアルライセンス体制を維持するか、あるいは「GPLv2」を選択してGPLv2のみを適用する、ということになるのでしょう。

        親コメント
      • by Anonymous Coward

        > 今後どんなプロプライエタリなライセンスに変更されるか分かりませんので、
        > 新バージョンが公開されてもライセンスを確認するまではソースコードを
        > 見ない方が安全だと思います。

        それはRubyに限らず、基本的にすべてのプロダクトについて必要な行為では?
        あるプロダクトAのライセンスがXだとして、Aの派生物Bのライセンスを、
        Xによって変更が許される範囲のライセンスYに変更して公開することは
        充分あり得るでしょう。
        具体的に言えば、ライセンスXがBSDLでライセンスYがプロプラだったり、
        ライセンスXがGPLv2でライセンスYがGPLv3だったりで、そのライセンスYが
        自分にとって都合の悪いものである可能性は常にあるわけで。

      • by Anonymous Coward

        > 今後どんなプロプライエタリなライセンスに変更されるか分かりませんので、

        変更前のソースからブランチができてそこが主流になるから大丈夫・・・
        と考えるのは甘すぎ?

    • パブリックコメントをこれから受け付けておいて、でもすでに「決定されました」なんですよね。

      某お役所のやり方をまねたのでしょうか。

      親コメント
      • まずライセンスの話は少なくともruby-dev(開発者のメーリングリスト)上で一年以上議論がなされています。

        その議論の結果得られた結論に対して

        でもすでに「決定されました」なんですよね。

        というコメントはどうかと。

        より良いアイデアがあるのなら、ruby-devに投稿されては如何でしょうか?

        親コメント
        • by ttm (8278) on 2010年09月02日 7時51分 (#1818672)

          たとえML上で全コミッタの合意が得られたとしても、
          パッチを作成した全コントリビュータの合意が得られたわけではないですね。

          たとえパッチを投げた時点で複製権や頒布権をコミッタに譲渡したと解釈したとしても
          ソースの改変についての規定を変更する以上は、著作者人格権にも関係すると思います。
          特に、今までGPLv2の規定に従ってパッチを貢献してきた人にとっては、
          Ruby's Lisenceにリライセンス権の規定があることなど関係ない話ですし。

          このあたり、matz氏はどうお考えなのでしょうかね?

          親コメント
          • Re:committer != contributer (スコア:3, すばらしい洞察)

            by Anonymous Coward on 2010年09月02日 9時02分 (#1818693)

            GPLってなんで外野だけが大騒ぎするんだろう???
            いつもいつも

            親コメント
          • by wd-nara (25864) on 2010年09月02日 10時30分 (#1818721) 日記
            後から「聞いてないよ」という人が出てきたら、著作権法第六十四条2項と第六十五条3項で対抗するんでしょうね。できるかどうか、わからないけど。

            著作権法

            (共同著作物の著作者人格権の行使)

            第六十四条  共同著作物の著作者人格権は、著作者全員の合意によらなければ、行使することができない。

            2  共同著作物の各著作者は、信義に反して前項の合意の成立を妨げることができない。

            3  共同著作物の著作者は、そのうちからその著作者人格権を代表して行使する者を定めることができる。

            4  前項の権利を代表して行使する者の代表権に加えられた制限は、善意の第三者に対抗することができない。

            (共有著作権の行使)

            第六十五条  共同著作物の著作権その他共有に係る著作権(以下この条において「共有著作権」という。)については、各共有者は、他の共有者の同意を得なければ、その持分を譲渡し、又は質権の目的とすることができない。

            2  共有著作権は、その共有者全員の合意によらなければ、行使することができない。

            3  前二項の場合において、各共有者は、正当な理由がない限り、第一項の同意を拒み、又は前項の合意の成立を妨げることができない。

            4  前条第三項及び第四項の規定は、共有著作権の行使について準用する。

            親コメント
          • by Anonymous Coward

            MLは知らないんですけど、明確に反対している人いたんでしょうか?
            特に声を上げないなら問題はないと判断されても仕方ないでしょうし。
            コミッタの中でも既にいろんな意味で「いない」人もいるでしょうしね。

          • by Anonymous Coward

            >パッチを作成した全コントリビュータの合意が得られたわけではないですね。

            反対した人がでれば、その部分のパッチを書き直せば良いだけの話では。

            パッチの著作権は書き直したコードにまで及ばないわけだから、
            特許を含んでない限り(通常は含んでないわけで)特に問題ないんだよね?

            ならばパッチを書いた人が反対表明をするのはその人の自由だけれど、
            それで書き直せと言うのはちょっとした嫌がらせ以上の意味はない。

        • by Anonymous Coward on 2010年09月02日 2時05分 (#1818635)

          で、contributer全員の合意は得られたんですか?
          漫然と時間をかければ合法になるわけではありませんよ。(全員死んで50年経つまで待つなら別だがたかだか1年やそこらじゃ)

          親コメント
      • by Anonymous Coward on 2010年09月02日 1時14分 (#1818627)

        「変更されました」じゃなくて「変更することに決定されました」だから、
        得られた意見によっては再度見直す余地がないわけじゃないってことでは。

        「Matzが決定したから変更されることはなさそう」ってのはそもそもタレコミ人の私見に過ぎないし。

        また、文面を見る限りコミッタの合意をこれで取るって話ではなく、
        第三者からの参考意見を求めているだけですよね。
        コミッタの同意については開発MLや個別の確認など、別ルートで確認とるなりしてるんじゃないの?

        第三者ではなく自分がコミットしたものが提供時に合意していない扱いをされている、
        という事実があるのであれば、今回の意見募集の有無に関わらず文句言えばいいだけかと。

        なお、そもそも国や自治体が行うパブコメは法に定められた行政手続なので、
        その範囲で意見の集約や見解を出すことが求められますが、
        今回のような私的な団体の意見募集については第三者に文句言われる筋合いは無いかと。

        親コメント
      • by Anonymous Coward

        「決定されました」とか一方的に言ってみたところで訴訟を起こされればそれまでなんだけど。
        訴訟を病的に嫌ってわざわざ「Appleのパッチは見てません(キリッ」とか言ってた [hatena.ne.jp]のは何だったの?

      • by Anonymous Coward
        Linus のやり方をまねたんじゃないですか
  • そもそも大昔に

    あれ自体がGPL非互換で云々というような指摘をFSFだかRMS本人から受ける。
    →ライセンスの見直し論議がはじまる。
    →るびべん登場。ruby-lang.orgのアカウントをもらっちゃってたりする。
    →僕らのオリバー大先生が登場。一連の議論に対して選択型ライセンスだから非互換に関しては問題ねーよとツッコむ。
    →しかし、るびべん様がそんなことはお構いなしにひたすら毒電波を放出しつづけるw

    なんてこともあったわけですが、コピーレフトなGPL v2をやめて、極めて制限の緩い2条項BSDライセンスorISCライセンス [wikipedia.org]を採用するなら、もはや残しておく意味がわからん。

    • by Anonymous Coward

      狭義のRuby'sライセンスは「ruby」という名前のプログラムへの流用を許さないので
      その点がGPLやBSDLより厳しいのだが、代わりに「ruby」という名前でないプログラムへは
      著作権表記すら削っちゃって流用してもかまわないという異様な緩さもある。

      つまりrubyを乗っ取られるのは困るけどコード自体は自由に使ってもらっていいよ、
      というライセンスなので、これはこれで存在意義があるのですよ。

    • by Anonymous Coward
      と、殿!

      #ちげーよ
    • by Anonymous Coward

      るびべんって誰かと思ったら MorphyOne の殿の弁護士でしたか。
      なんでそんなキモイ名前使ってるんだろ?

  • ライセンス変更となる対象は?
    • 1.9系のみ
    • 1.8/1.9系両方

    変更時期は?

    • パッチリリースから変更
    • TEENY更新時(1.9.3/1.8.8)から変更
  • by Anonymous Coward on 2010年09月04日 0時23分 (#1819873)
    GPLにするといろいろメンドウな事になるってのはよくわかった。
    • Javaで起こったことを考えると、GPLは大事だってわかると思うんだけどな。

      親コメント
      • by Anonymous Coward
        JavaVMをGPLにしてたら、邪悪なマイクロソフトのJavaVMにストップをかけられず、どんどん亜種が作られてしまったと思うぞ。
        Write Once, Run Anywhereを実現するためには、Sunのクローズドな製品であることは必要悪だった。
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...