第13回 プロジェクトの障害まつもとゆきひろのハッカーズライフ(2/2 ページ)

» 2008年03月26日 00時00分 公開
[Yukihiro“Matz”Matsumoto,ITmedia]
前のページへ 1|2       

オープンソースライセンスの選び方

 あなたがオープンソースプロジェクトを開始するとして、将来問題が起きない(起きにくい)ライセンスを選ぶにはどうしたら良いでしょうか。

 世の中にはたくさんのオープンソースライセンス*が存在します。すでに多すぎるほどです。この中から選び出すだけで十分でしょう。それもメジャーなものを選択することをお勧めします。だいたいライセンス変更のようなトラブルが起きるのは、マイナーなライセンスを選んだプロジェクトと相場が決まっています。メジャーなものは広く使われているので、大きな問題が残っていないと考えられますし、いざというときに仲間が多いのも安心です。マイナーなライセンスでは、ほかのライセンスとの組み合わせなど十分な検討が行われていないことが多く、不安が残ります。

 ソフトウェアのライセンスを選ぶに当たって、まず考えなければならないのは「コピーレフトを望むかどうか」でしょう。コピーレフトとは、簡単に言うと「あなたの書いたフリーなソフトウェアに対して、自由を擁護しないものがタダ乗りすることを許さない」というものです。FSFはソフトウェアの自由の擁護者として、コピーレフトを強く推進しています。一方、コピーレフトについてそれほど気にしていない開発者も多いようです。あなたがコピーレフトを望むのであれば選択肢はほぼGPLしかありませんし、ライブラリとして使われるものであればLGPLも候補に挙がります。ライブラリにGPLを適用すると、事実上GPLソフトウェアからしか使えないので、より制限の緩いLGPLの方が広く使われる可能性があります。しかし、LGPLはあまり使い勝手が良くない上に、「分かりにくい」、「十分な考察が進んでいない」などの欠点がありますので、コピーレフトを強く望まない場合にはお勧めできません。

 コピーレフトにそれほどを強いこだわりのない人には、GPL以外の選択肢もあります。ここで重要なのは、「そのソフトウェアは、別のソフトウェアとのリンクが必要かどうか」です。将来、何らかの形でGPLソフトウェアとのリンクが予想される場合には、GPLとの互換性*が重要になります。プラグイン機能を持つソフトウェアやライブラリは、この点に注意しなくてはなりません。GPLと矛盾しないライセンスとしては、修正BSDライセンスX11ライセンスなどがあります。

 もう1つの検討すべき要素は、関連ソフトウェアとライセンスをそろえることでしょう。例えば、EclipseプラグインなどはCPL(Common Public License)を選択すべきでしょう。また、PHP関連のソフトウェアは、PHPとライセンスをそろえた方が無難です。Rubyで書かれたソフトウェアは、Ruby自身とはライセンス的に独立なのですが、それでもRubyライセンスを選ぶ人が多いようです。避けたいライセンストラブル

 すでに述べたように、ライセンスのトラブルは「面倒くさい」、「面白くない」などイヤなものです。しかも、悪いことに法的な問題は「問題があるのかないのかはっきりしない」というオマケ付きです。「はっきりしたことは裁判してみないとね」といわれても、被告になんかなりたくないし……。

 訴訟リスクをゼロにすることは不可能みたいですが、それでも面倒な問題を回避するためにも、ライセンスについては賢くつきあいたいものです。そして、われわれの本来の「仕事」であるプログラミングに集中しましょう。Happy Hacking。

このページで出てきた専門用語

たくさんのオープンソースライセンス

「オープンソースの定義」を満たすとしてOpen Source Initiativeが認定したライセンスは、60種類近くに上る。認定されていないが定義を満たすであろうライセンス(Rubyライセンスもその1つ)を含めると、いったい幾つになることやら。

GPLとの互換性

「さまざまなライセンスとそれらについての解説」には、GPLとほかのライセンスの組み合わせという観点からさまざまなフリーソフトウェアライセンスについて述べられている。ライセンスのことを知ろうと思ったら、まずここを読んでほしい。


本記事は、オープンソースマガジン2006年4月号「まつもとゆきひろのハッカーズライフ」を再構成したものです。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ