自作ソースコードに、MITライセンスを適用する3つのやり方

MIT -1

自分の作ったソフトウェアをオープンソースとして公開する。まだまだ敷居が高いようです。人気のソースコード共有サービスGithubも、無償で使う場合にはソースコードをオープンソースにする必要があるのですが、「GitHub 上で公開されているソースコードの半分はライセンス的に問題あり」という話もあるくらいです。

では、なぜオープンソースライセンスが、なかなか適用されないのでしょうか。

その理由としては、

  1. オープンソースにしたくない
  2. オープンソースライセンスの適用方法が分からない

といったことが考えられますが、前者は、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