自作ソースコードに、MITライセンスを適用する3つのやり方
※「オープンソース・ライセンスの談話室」から移動したページです。
自分の作ったソフトウェアをオープンソースとして公開する。まだまだ敷居が高いようです。人気のソースコード共有サービスGithubも、無償で使う場合にはソースコードをオープンソースにする必要があるのですが、「GitHub 上で公開されているソースコードの半分はライセンス的に問題あり」という話もあるくらいです。
では、なぜオープンソースライセンスが、なかなか適用されないのでしょうか。
その理由としては、
- オープンソースにしたくない
- オープンソースライセンスの適用方法が分からない
といったことが考えられますが、前者は、Githubの利用条件に合わないので、そもそも無理があります。
さて、後者の「ライセンスの適用方法が分からない」ですが、前回、Githubのライセンス解説サイトを取り上げた時も、「ライセンスが分からない、めんどう」といったコメントが、いくつか見受けられました。ですから、ライセンス適用の方法が分からないという人は、けっこういるのではないかと思います。
実はコレ、それほどむずかしくありません。とくに、ライセンス文が短いMITライセンスは、その条件も適用方法も簡単です。
そこで、本記事では、MITライセンスの適用方法をいくつかのケースに分けて説明します。
もちろん、ライセンス適用については、いろいろなスタイルがありますし、この方法だけが正解ではありませんが、とりあえずの参考になると思います。お気づきの点があれば、アドバイスを頂ければ、大変助かります。
そもそも、MITライセンスとは
MITライセンス(エム・アイ・ティー ライセンス, )は、わずか2個の条件をもったオープンソースライセンスです。1985年にMIT(マサチューセッツ工科大学)が、開発したGUIシステム「X Window System」に適用するために、このMITライセンスを作成しました(参考)。
MITライセンスのライセンス文は、2個の条件を備えています。その条件の概略は、次のようになっています。
Copyright (c) <著作権者名>
以下の条件を満たす限り、自由な複製・配布・修正を無制限に許可する。
・上記の著作権表示と本許諾書を、ソフトウェアの複製または重要な部分に記載する
・本ソフトウェアは無保証である。自己責任で使用する。
ライセンスの日本語参考訳も、とてもシンプルで、わずか500文字程度です。ぜひ一度、実物を読んでみてください(MITライセンス – 日本語参考訳)。
それでは、自分が開発したソフトウェアのソースコードに、MITライセンスを適用して公開する方法を、順番に説明していきましょう。
一番かんたんなMITライセンスの適用方法
まずは、一番簡単な方法です。
【1】ライセンス文書を用意する
英語の正文は、下記で参照できます。
http://opensource.org/licenses/mit-license.php
http://choosealicense.com/licenses/mit/
このライセンス文書を、ファイル名=LICENSE.txtとして保存しておきます。
【2】ライセンス文書の冒頭のコピーライト表記を書き換える
ライセンス文書の冒頭は、こんなふうになっています。
Copyright (c) [year] [fullname]
これを自作ソフトウェアに合わせて、こんなふうに書き換えます。
Copyright (c) [作成年] [著作権者名]
[作成年]には、ソースコードを作成した年を記載します。
[著作権者名]には、自分の氏名をローマ字表記で記載します。
具体的には、こんな感じになります。
Copyright (c) 2013 Yutaka Kachi
かんたんですね。
【3】公開するソフトウェアの簡単な説明文を用意する
公開するソフトウェアの簡単な説明文をREADME.txtファイルに記述します。ここで、このソフトウェアの適用ライセンスが、MITライセンスであると宣言します。これには、次のように記述します。
例: This software is released under the MIT License, see LICENSE.txt.
(このソフトウェアは、MITライセンスのもとで公開されている。LICENSE.txtを見よ。)
【4】ファイルを配置する
作成したLICENSE.txtとREADME.txtは、公開するソースコード集のトップディレクトリに配置します。
配置するファイルの拡張子は、それぞれの環境に合わせて調整してください。たとえば、README.txtをREADME.mdにするといった具合です。
あとは、ソースコードを丸ごと固めて、自分のWebサーバーで公開してもいいですし、Githubにおいてもいいでしょう。
ちなみにGithubでは、新しいリポジトリを作成するときに、「Add a LICENSE: MIT License」とすると、このようなライセンス文書を自動的に配置してくれます。
ソースコード単位で適用する場合
もう少し手間をかけるなら、各ソースコードファイルにも、著作権表示を記述しておくといいでしょう。ソースコードファイルの冒頭に、コメントとして次のように記述します。
/**
[Module name]Copyright (c) [year] [fullname]
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php
*/
これで、ソースコードファイルごとに流用された場合でも、著作権者名とライセンスを明示できます。
コメントの記述方法は、各プログラミング言語の文法に合わせてください。
このソースコードファイルを流用したい人も、この著作権表示をそのまま残しておけば、いいでしょう。
MITライセンスを適用したい自作ソフトウェアに、他のMIT/BSDライセンスなソフトウェアを同梱する場合
自分が開発したソフトウェアをMITライセンスで公開するとき、他のOSSをライブラリとして同梱したい場合は、どのようにすればいいでしょう。
同梱したいOSSが、jquely.jsのように、MITライセンス/BSDライセンスなどが適用されている場合(つまり、コピーレフト条項を持たないオープンソースライセンス)は、~そのソースコードをそのまま取り込んでしまって構いません。~、もとのライセンス条項にしたがって(つまり、ヘッダーの著作権表記とライセンス文書を残して)ライブラリにできます。慣習として、AUTHORS.txtというテキストファイルを用意して、そこに追加OSSの著作権者名を記載していきます。
MITライセンスを適用したい自作ソフトウェアに、他のGPLなソフトウェアを同梱できる
同梱したいOSSに、GPL/LGPL/AGPLなどGPL系のオープンソースライセンスが適用されている場合は、そのGPL-OSSを取り込んだ全体をMITライセンスを適用できません。なぜなら、MITライセンスとGPL系ライセンスを結合した場合、GPL系ライセンスでリリースしなければならないためです。
ただし、GPL-OSSを完全に独立したソフトウェアとして、APIやコマンドライン経由で自作ソフトウェアから呼び出す場合は、自作ソフトウェア部分にMITライセンスを適用できます(GPL-FAQ:自由でないプログラム向けのプラグインにGPLを適用することはできますか?)。ですから、自作ソフトウェアとGPL系ライセンスのOSSを1つのディストリビューションとして配布すればいいでしょう。
以上、とても簡単ですが、自作のソースコードにMITライセンスを適用する方法を解説しました。
ぜひ、自分が興味を持っているOSSのソースコードで、ライセンスがどのように適用されているのか、確認してみてください。そうすれば、自作のソースコードをOSS化するときにも、きっと役に立つでしょう。たとえば、jQuely.jsのライセンスは、コチラの記事で解説しています。
皆様のお役に立てば幸いです。
参考資料
-
MITライセンス – 参考日本語訳
http://sourceforge.jp/projects/opensource/wiki/licenses%2FMIT_license -
MITライセンス – Wikipedia
http://ja.wikipedia.org/wiki/MIT_License -
the MIT License
http://opensource.org/licenses/mit-license.php -
X Window System – Wikipedia
http://ja.wikipedia.org/wiki/X_Window_System