DFSGとの適合性 | Yes[1] |
---|---|
FSFの承認 | Yes[2] |
OSIの承認 | No |
GPLとの適合性 | Yes(デュアルライセンスであるときのみ) |
コピーレフト | Yes |
異種ライセンスコード からのリンク | Unknown |
ウェブサイト | Ruby’s License |
Rubyライセンス(Ruby’s License[3]、License of Ruby[2][注釈 1])とは、プログラミング言語Rubyがその頒布物に適用するソフトウェアライセンスであり、オープンソースライセンスの一つである。その他関連するプロジェクトをはじめ、採用されているケースもある。
Rubyライセンスはライセンス条文と他ライセンスのいずれかを選択するデュアルライセンスの形態を取っている。他ライセンスの制約を思慮しない、Rubyライセンス本文のみを観点にしたものを狭義のRubyライセンスとして解釈する。狭義のRubyライセンスはArtistic Licenseをベースに、Ruby言語に適した制約に修正したライセンスである[4]。
RubyライセンスはGPLもしくはBSDLとのデュアルライセンスで用いられており、デュアルライセンスの制約を広義のRubyライセンスとして解釈する。Rubyコミュニティでは従来からRubyの処理系に許諾されたデュアルライセンスを「Rubyライセンス」(または「Rubyのライセンス」、"Ruby’s License")として解釈している。
プログラミング言語Rubyの処理系はこのライセンスが適用されたもっとも有名なソフトウェアであるが、その処理系は本ライセンス単独で頒布が許諾されているのではない。これは、処理系の一部にGPLが適用されたコードを含んでいるからである[4]。これにより、曖昧さの問題から本ライセンス単独ではRubyの処理系が頒布できなくなるため、GPLv2("any later version"表明文なし)とのデュアルライセンスになっている。
Rubyの処理系がデュアルライセンスで許諾するGPLv2には前述の通り"any later version"表明文がない。これによりRubyの処理系にはGPLv3で許諾されたコードを組み合わせると頒布出来なくなる[注釈 2]。これに対処するため、Rubyの処理系はそのバージョン1.9.3よりGPLに代わって、2条項BSDライセンスとのデュアルライセンスに許諾が変更される[5]。Ruby開発者によると、Ruby処理系の許諾条件変更は次のような手続きをたどった。まず頒布時のライセンスをデュアルライセンスの内、狭義のRubyライセンスを選択し、続いて当ライセンス第2節・第(d)項に従い追加的許諾条項にBSDライセンスを加えた。[6]
このライセンスに対するフリーソフトウェア財団(Free Software Foundation、略称FSF)のコメントは以下の通りである。
「これはフリーソフトウェアライセンスであり、GNU GPLと両立する(compatible; 互換性がある)ライセンスである。但しGPLと両立するには、双方を含む頒布物全体に、明示的にデュアルライセンス条項のもと許諾する旨記載しなければならない。」
またこれと関連して、以前、ストールマンはまつもとに「(Ruby Licenseは)派生物に対し、Artistic License(バージョン1.x)と同様の『曖昧さの問題』(ambiguity problems)がある」との電子メールを送っている[7]。この見解が正しければ、Rubyライセンスは、(Clarified Artistic LicenseやArtistic License 2.0、といったフリーソフトウェアライセンスとはまた別のライセンスである)Artistic Licenseバージョン1.xと同じく、それ単独ではフリーソフトウェアライセンスではない。