この記事はCodeIgniter Advent Calendar 2016の13日目です。
CodeIgniterでは、一時期ライセンス問題がありました。ライセンス問題の影響として、CodeIgniterの利用を避ける(将来的な懸念として)、FuelPHP(CodeIgniterに関わっていた人たちが開発したフレームワーク)やLaravel、CakePHPなどの他のPHP Webアプリケーションフレームワークへ移行した国内の企業や国内のエンジニアが多く発生する、CodeIgniterユーザー会の活動低下など、様々な問題を生じさせることとなりました。
現在リリースされているCodeIgniter3.xではライセンス問題は解消されていますが、本エントリでは過去にあったライセンス問題について解説をしていきたいと思います。
CodeIgniterはライセンス問題が継続していると誤解されている方がいれば(まだまだいるように感じますので)、そのような方々の誤解を解くきっかけになればと考えています。また、CodeIgniterに関心のある方、これからCodeIgniterの利用を検討している方の参考になれば幸いです。
CodeIgniterのライセンス問題とは
CodeIgniterのライセンス問題は、現在(本エントリの執筆時点)より5年前の2011年10月に遡ります。
大きくは次のとおりとなります。
- CodeIgniter 3.xのライセンスがOSL-3.0,AFL-3.0になる
- CodeIgniter 1.x, 2.xのライセンスであるCodeIgniter LicenseはGPL非互換である
それぞれの内容ついては、以下で解説をしていきます。
CodeIgniter 3.xのライセンスがOSL-3.0,AFL-3.0になる
2011/10/20に開催された、ExpressionEngine & CodeIgniter Conference 2011 (EECI 2011) において、当時のCodeIgniterのオーナーであった米EllisLab CEOのLeslie Camacho氏の発表内容が発端となります。「CodeIgniter licensed with Open Source License v3(CodeIgniterのライセンスがOpen Software License3.0へ変更される)」という発表が行われました。
また、2011/10/21にGithubへCommitされたCodeIgniterのリポジトリにおいては、「systemディレクトリ以下はOSL-3.0,applicationディレクトリ以下はAFL-3.0にする」旨の記載が追加されました。
https://github.com/bcit-ci/CodeIgniter/commit/f4a4bd8fac188ebc9cda822ffc811c218fd92b45
以上により、CodeIgniter3.x(当時)ではOSL-3.0,AFL-3.0の2つのライセンスが採用されるという方向になりました。
詳細は、@Kenji_sさんおよび@NEKOGETさんの以下の記事にわかりやすくまとめられていますので、そちらを参照いただければと思います。
「CodeIgniter のライセンス変更問題のタイムライン」
http://d.hatena.ne.jp/Kenji_s/20111118/1321603906
「CodeIgniterのライセンスについて」
http://www.slideshare.net/NEKOGET/code-igniter-talk-02
CodeIgniter 1.x, 2.xのライセンスであるCodeIgniter LicenseはGPL非互換である
2011/11/1にEllisLabよりCodeIgniter License(CodeIgniter1.x, CodeIgniter2.xに採用されているライセンス)はGPLの非互換のライセンスである旨の発表が行われました。この発表は、従来までBSDライクな(GPL互換の)ライセンスと考えて利用していたユーザーに混乱と不信感をもたらしました。
GPL or not to GPL
https://expressionengine.com/blog/gpl-or-not-to-gpl
ライセンス問題はその後どうなったか
現在リリースされているCodeIgniter3.xのライセンスはMITライセンスです。MITライセンスはGPL系ライセンスと互換性があります。
前述の通りCodeIgniter3.xはOSL-3.0とAFL-3.0のデュアルライセンスになる予定でしたが、CodeIgniterのオーナーがElislabからBCIT(ブリティッシュコロンビア工科大学)へ移管された際に、MITライセンスに変更されることが決まりました。
CodeIgniter 3のライセンスがMITライセンスに変更され、いわゆるライセンス問題は完全に解消
http://blog.a-way-out.net/blog/2014/10/31/codeigniter-3-license-mit/
以上により、GPLのプロダクトやライブラリ等と組み合わせて利用することも問題なく行え、また日本国内でも知名度のあるライセンスであることから、CodeIgniter3.xにおいては、ライセンス問題は解消されたといえます。
なお、Legacy VersionであったCodeIgniter1.xおよび2.xはCodeIgniter Licenseの(GPL系ライセンスと非互換)のままです。新規プロダクトでこれらのバージョンを利用するケースは極めて稀であると思いますが、GPL非互換という点に注意が必要です。とはいえ、GPL非互換であること以外に大きな問題はありませんので、その点注意して利用すれば問題ないといえます。