礼儀作法:ライセンス
本来ソースコードは著作権で保護されており、ネットで公開されていたとしても無闇に拾ってきて使うべきではありません。
使いたければ作者に許可を取るのが筋ですが、一々そんな事をするのは面倒なので、作者が「これさえ守ってくれれば後はご自由に」と予め書き添えておくのがライセンス(licnse:使用許諾)です。
一般的なライセンス
ソースコードを公開する際に一からライセンスを書くのはなかなか大変なので、次の様なよく使われるライセンスを採用すると良いでしょう。
ここではざっくりした説明に留めていますが、実際にライセンスとして利用する際は必ず目を通して下さい。プレースホルダーがそのままになっているライセンスなど見つけた時は何とも言えない気分になるものです。
MIT ライセンス(参考訳)
最も緩い(利用者に大きな自由を与える)ライセンスの一つと言えます。
ソフトウェアは著作権・ライセンス表示と無保証である事を条件に、無制限の利用(改変・再配布・ライセンス変更・商用利用も含む)が許可されます。
修正 BSD ライセンス(参考訳)
3 条項 BSD ライセンスとも呼ばれます。
MIT ライセンスと同様な条件に加えて、派生製品の宣伝で勝手に作者の名前を用いない事を要求します。
GPLv3(参考訳)
正式には GNU 一般公衆ライセンス(GNU General Public License)のバージョン 3 です。
派生ソフトウェアにも同じ「自由」の保障を要求する、コピーレフト型のライセンスです。これについては後述します。
Apache ライセンス 2.0(参考訳)
このライセンスは特許に関する条項を含みます。
作者は利用者に対して自身の特許の利用許可を与えますが、利用者がライセンス対象のソフトウェアに特許訴訟を起こした場合、利用許可は取り消されます。
つまり、あまり知られていない特許を持った企業がソフトウェアにそれを組み込んで公開し、十分に浸透した後で「特許利用料を寄越せ」と訴訟を起こすサブマリン特許的な手口を封じるものとなっています。(改変・再配布も「利用」の内なので、訴訟を起こした時点でその企業自身もソフトウェアに含まれるの特許を侵害している事になります。)
パブリックドメイン
「パブリックドメイン」とは著作権などの保護が無い状態を言います。
通常は著作権法に定められた保護期間の満了したものを言いますが、「パブリックドメインである」と作者が宣言したものもパブリックドメインになるとの認識が一般的な様です。(これは法学の通説であるという事ではありません。)
しかし日本の著作権法では「著作権の破棄」は定められていないので、法的な効力を気にする場合は次項クリエイティブコモンズの CC0 を使うべきでしょう。
クリエイティブ・コモンズ
これは作品をより分かりやすいライセンスでネットに公開する為のフォーマットです。
一般にクリエイティブ・コモンズ・ライセンスはソフトウェアへの利用が推奨されていませんが、CC0 はより法的に意味がある形でのパブリックドメインとしての提供を可能にします。
「自由」という思想
「コピーレフト」というライセンス形態の成立にはやや複雑な背景があります。
まずリチャード・ストールマンの提案した自由ソフトウェア(free software)なる概念です。彼の言う「自由」とはソフトウェアを自由にコピーし変更できる事、具体的には
- どんな目的に対しても、プログラムを望むままに実行する自由
- プログラムがどのように動作しているか研究し、必要に応じて改造する自由
- 身近な人を助けられるよう、コピーを再配布する自由
- 改変した版を他に配布する自由
の四つを指しています(「自由ソフトウェアとは?」より)。逆にこうした自由が無く、特にソースコードにアクセスできない場合はプロプライエタリ(proprietary:独占的)であると言われます。
コンピュータが生まれてから暫くの間は、ソフトウェアについてあまり煩く権利を主張する人がおらず、ソフトウェアをエンジニア同士で共有し改良する文化が浸透していた様です。
しかし 1970 年代になるとビジネスとしてのソフトウェア開発が台頭し、米国著作権法の改正によりソフトウェアもまた法的保護の対象となりました。(これは上記の自由を奪う方向に働きます。)
こうした社会情勢に加え、ストールマン個人としては自身の職場で形成されていたエンジニアのコミュニティが企業の引き抜きによって崩壊した事が、自由の為の運動を始める重要な契機になった様に思われます。
斯くして自由な OS を創造する為の GNU プロジェクトが開始されたのですが、ストールマンは個々のソフトウェア自体が自由であるだけではなく、そこから派生したソフトウェアもまた等しく自由でなければならないと考えました。
それを実現する手段こそがコピーレフト(copyleft)、つまり「派生したソフトウェアもまた自由である事を条件に利用を認める」というライセンス形態であって、具体的には GPL が GNU 一般で用いる為に作成されたのです。
ここで、先に示したライセンスは(CC0 以外のクリエイティブ・コモンズ・ライセンスを除き)紛れもなく自由ソフトウェアライセンスである事に注意して下さい。(これは公式の見解です。参考:「さまざまなライセンスとそれらについての解説」)自由なライセンスとしてではなく、コピーレフトなライセンスとして特徴付けられるのが GPL です。