Skip to content

ライセンス変更について

topdownstrategy edited this page Mar 21, 2012 · 13 revisions

ライセンス変更についてのユーザ会での議論のまとめ(作成中)

経緯など

  • EllisLabのFAQによると、EllisLabはCodeIgniterを本当のオープンソースとするためにOSL 3.0を採用した。
    • CodeIgniter 2.xまではBSDライクな独自ライセンスである「CodeIgniter License」であり、このライセンスはOSIにより認証されたオープンソースライセンスではなかった。
    • OSI(オープンソース・イニシアティブ)とは、オープンソースソフトウェアを促進することを目的とする組織で、オープンソースという用語の定義を公表し、オープンソースライセンスの認証を行っている。
    • 独自ライセンスであるため、ライセンスに関する疑問に弁護士も答えるのが難しいという問題が生じていた。
  • GPLを選択しなかった理由は、気に入らない条項があるため。
    • 気に入らない条項とは、CodeIgniterを「利用して」作ったアプリケーションもGPLにしなければならないというもの。EllisLabの立場としてはユーザが作ったアプリケーションについては、ユーザが自由にライセンス方法を選べるようにしたいのに、GPLはそれを許していないのが気に入らない。
    • GPLは、ソフトウェア本体を改変せずにリンクしたものも派生物とみなす。GPLのソフトウェアを利用したソフトウェアを配布する場合、ソフトウェア全体をGPLでライセンスして配布しないといけない。
    • GPLのこういった条項が気に入らないので、CodeIgniterがGPLでライセンスされることを許可するライセンス(GPLと互換性のあるライセンス)は選択しなかった。
  • OSL 3.0を選択したのはEllisLabの希望を満たすライセンスがOSL 3.0しかなかったから。希望とは次の2つ。
    • CodeIgniterに基づいたソフトウェアは、そのことを人々に知ってほしい。
    • CodeIgniterの商標がうっかり第三者にライセンスされてしまわないことを保証したい。
  • 問題になっているのは、OSL 3.0にすることによってGPLのコードを利用することができない(GPLと互換性がない)ことがはっきりすることになったという点(GPLの要請を満たせないため)。ただし、CodeIgniter 2.x以前の「CodeIgniter License」には宣伝条項が含まれることより、同じくGPLの要請を満たせないため、GPLと互換性がないことに変わりはない。
  • 現在の混乱は、CodeIgniterがGPL互換だと思っていたのに、そうじゃなかったことに対して裏切られたという感情を持つ人がいること、GPLのコードを組み込んでしまったアプリケーションが既に開発されていること、EllisLabのやり方に反感を持つ人がいること、など。

ライセンスについて

  • 法的なわかりにくい問題なので、ユーザ会としての公式見解を出すのは難しい。
  • ユーザ会として見解をまとめたとしても、法的にはなんの意味もない。
  • 最終的にはユーザが自分で判断するしかない。

他のライセンスとの互換性

EllisLabのFAQによる互換性は次の通り。

ライセンス名 互換性は?
Artistic License Yes
Apache-2.0 Yes
BSD 3 Clause Yes
BSD 2 Clause Yes
GPL No
MIT (Expat) Yes
MIT (X-11) Yes
Your custom license Yes

ライセンスの互換性とは、異なるライセンスのソフトウェアを組み合わせることが可能かどうかということ。ライセンスAの要求する内容とライセンスBの要求する内容が矛盾する場合、両方の要求を同時に満たすことはできないため、ライセンスAとライセンスBのソフトウェアを結合して配布することができなくなる。

つまり、上記の表は、CodeIgniterを使ったアプリケーションにGPLのライブラリを使用して配布することはできなくなることを意味する。

懸念点

  • 不明点が多い(不利な)ライセンス下、ユーザ会主体で行なっている翻訳などの作業に対して自分の貴重な時間が割けるか?
  • 不明点が多い(不利な)ライセンス下でお客さんに対する成果物が作れるか?
  • EllisLabのFAQによれば、Applicationフォルダ以下のアプリケーションに関しては、ライセンスの対象外であることを明記しているので、コア部分をいじらない限り問題ない。
  • その場合、Powered by CodeIgniterなどの表示が必要?
  • コア部分にも手を入れた場合はどうすべきか?(フック等で挙動を制御できるので、コアをいじる必然性はない)