コラム

技術者なら知っておきたい、ソースコードのライセンスの話

2015-03-19

RM STAFF

WRITER:

RM STAFF

こんにちは、フロントエンドエンジニアの古沢です。

古沢

業務で、効率化のためにJavaScriptのライブラリを追加しようと思ったのですが、MITやGPLといったソースコードのライセンスについて、詳しくは知っていなかったので、この機会に調べてみました。

 

今回は主要な2つのライセンスについて調べてみました。

 

ライセンス

MITライセンス

Githubなどでよく見るのは、このライセンスですよね。

例えば、有名なJavaScriptのライブラリjQueryはこのライセンスです。

 

Wikipediaには以下のようにあります。

要約すると、MIT Licenseとは次のようなライセンスである。

  1. このソフトウェアを誰でも無償で無制限に扱って良い。ただし、著作権表示および本許諾表示をソフトウェアのすべての複製または重要な部分に記載しなければならない。

  2. 作者または著作権者は、ソフトウェアに関してなんら責任を負わない。

 

自由に使っても良いが、使って問題が発生した場合にも、作成者に文句は言えない、ということですね。

MITライセンスは、ライセンスの中でも非常に制約のゆるいライセンスのようです。

GPLライセンス

Wikipediaには、以下のようにあります。

GPLは、プログラム(日本国著作権法ではプログラムの著作物)の複製物を所持している者に対し、概ね以下のことを許諾するライセンスである。

  1. プログラムの実行
  2. プログラムの動作を調べ、それを改変すること(ソースコードへのアクセスは、その前提になる)
  3. 複製物の再頒布
  4. プログラムを改良し、改良を公衆にリリースする権利(ソースコードへのアクセスは、その前提になる)

 

一見、MITを同じような感じがしますが、MITライセンスとは、いったい何が違うのでしょうか?

よくよく読み進めてみると、以下の様な一文がありました。

GPLでライセンスされた著作物は、その二次的著作物に関してもGPLでライセンスされなければならない

 

ここが、MITのようなライセンスとの大きな違いのようです。

キーボード

MITの場合は、二次的著作物に関して、作った本人が自由にライセンスを変更することができますが、

GPLライセンスの場合は、オリジナルがGPLならば、二次的著作物に関してもGPLライセンスでなければなりません。

 

この仕組みのことをコピーレフトと呼ぶようです。

オープンソースソフトウェアの活動を大きくしていく、ライセンスですね。

コード

まとめ

今回は、オープンソース・ソフトウェアでよく使われる2つのライセンスについて紹介しました。

 

いずれにせよ、業務で使う際にはしっかりと、そのプラグインを検証して、取り入れても問題ないか、確認はしっかりとしなければなりません。

目の前の実装に夢中になってしまい、ライセンスのことは忘れがちになってしまいますが、イチ、エンジニアとして、しっかりと理解して使っていきたいと思います。

 

また、自分でライブラリや、ソースを公開する際も、ライセンスを明記していくようにしていきたいと思いました。

こうた笑顔

参考

http://www.gnu.org/licenses/gpl.html

http://ja.wikipedia.org/wiki/GNU_General_Public_License

 

【関連記事】

大学3年ほぼ文系の僕が、サーバーサイド開発のインターンを1ヶ月やってみて感じたこと

開発環境改善!ヘルシーなWEB開発環境に近づくまでの軌跡