Rubyは実際の行動でGPLv 3にツッコミ、Ruby 1.9.3はBSDライセンスに変更してリリース

3100 ワード

Rubyは、次のバージョンである1.9.3から、従来のGPLv 2ライセンスから2-clause BSDライセンス(ほぼMITライセンスに相当)に変更されました.
初期Rubyはフリーソフトウェア財団が推奨するGPLv 2 or laterライセンス方式を採用していた.実際の操作では、このライセンス方式は非常に一般的で、このライセンス方式には2つの意味が含まれています.
  • ソフトウェア自体はGPLv 2ライセンスで
  • をリリース
  • フリーソフトウェア財団がGPLを改訂し、新しいGPLを発表するとき、授権側は受権者が新しいGPL条項でソフトウェアを発表することに同意する(*)
  • このうち(*)の部分は、実際にはフリーソフトウェア財団に発行された空白の小切手であり、様々な法律問題を引き起こす可能性があります.私の個人的な理解によると、ベイエリア企業の法務部門は通常、会社がこのような方法でソフトウェアを発表することを許さない.そのため、商業会社はGPLv 2 or laterライセンスのソフトウェアを使用する場合、通常、コードを発表すると同時に、このソフトウェアを使用する際に特定のバージョンのGPLに従うことを明確に説明し、潜在的な法律リスクを回避する.
    
    /*
     * [company] elects to have and use the contents of [filename] under and governed
     * by the GNU General Public License (GPL) Version 2, only.  However, the following
     * notice accompanied the original version of this file:
     */
    

    しかし、実際にはこのようにコードを使用するのもリスクがあります.たとえば、GPLv 3ライセンスのコードを同時に使用することはできません.GPLv 2では、
    
    4. You may not copy, modify, sublicense, or distribute the Program except as
    expressly provided under this License. Any attempt otherwise to copy, modify,
    sublicense or distribute the Program is void, and will automatically terminate
    your rights under this License. However, parties who have received copies, or
    rights, from you under this License will not have their licenses terminated so
    long as such parties remain in full compliance.
    

    また、GPLv 2では、
    
    6. Each time you redistribute the Program (or any work based on the Program), the
    recipient automatically receives a license from the original licensor to copy,
    distribute or modify the Program subject to these terms and conditions. You may
    not impose any further restrictions on the recipients' exercise of the rights
    granted herein. You are not responsible for enforcing compliance by third
    parties to this License.
    

    簡単に言えば、GPLv 2 onlyのコードとGPLv 3ライセンスのコードは、GPLv 3にハードウェアやソフトウェア特許などの問題を含む一連の制限自由を含む条項(第6条違反)が追加されたため、一緒にredistributeすることはできない.一方、フリーソフトウェアベースはRuby Licenseが非フリーソフトウェアライセンスであると判断するため、GPLv 3ライセンスのソフトウェアは、GPLv 3第10条の内容に違反しているため、RubyとRuby Licenseで編集することはできません.
    
    10. Automatic Licensing of Downstream Recipients.
    [...]
    You may not impose any further restrictions on the exercise of the rights
    granted or affirmed under this License. For example, you may not impose a
    license fee, royalty, or other charge for exercise of rights granted under
    this License, and you may not initiate litigation (including a cross-claim
    or counterclaim in a lawsuit) alleging that any patent claim is infringed
    by making, using, selling, offering for sale, or importing the Program or
    any portion of it.
    

    Rubyは2つのライセンスの1つでしか公開されていないため、コンパイルされた実行可能ファイルを公開することはGPLv 2に違反するかGPLv 3に違反するかのいずれかであるため、再公開の結果はソースコードの形式でしか提供されず、そのバイナリファイルを再公開することは許されない.
    フリーソフトウェア財団は6.0版からreadlineライブラリをGPLv 3 or laterに変更し、GPLv 2 onlyのRubyはreadlineに接続された実行可能ファイルを公開できなくなった.
    フリーソフトウェア財団のライセンスの変更によってエンドユーザーに迷惑をかける可能性があるため、昨年9月、Ruby Changeset r 29262はRubyのGPLv 2ライセンスを完全に削除し、FreeBSDライセンスに基づく2-clause BSDライセンスに変更し、ユーザーに選択の権利を与えた.
    Richard Stallmanとフリーソフトウェア財団に感謝して、より多くの人がBSDライセンスを選択しました.