以下の記事は著者の許諾を得て fixedpoint.jp が翻訳しました。

原題: How to choose a free software license.

原文: http://www.dina.kvl.dk/~abraham/rants/license.html

なお、著者から指摘があったように、原文の公開された日時に応じていくつかのライセンスについての言及やリンクが時代遅れになっていることに注意してください。

フリーソフトウェアライセンスを選ぶには

どの目的が第一かを理解すること。

本当に。ある理由のためにあなたはそのコードをリリースしようとしている。 あなたが選ぶライセンスはその目的にもっとも近づくものであるべきだ。 異なるフリーソフトウェアライセンスが存在する理由は、それらが異なる意図で書かれているからだ。 だが、まず法的な関連事項を理解しているか確かめること。

法的なこと: わかりきったことだが、あなたがそのコードを実際に所有していることが確かでなくてはならない。 そうでないと、あなたはそのライセンスを選択することができない。 あなたの雇用主やあなたのスポンサーがそのコードを所有している可能性は大いにある。 まずそれを確認すること。 疑いがあれば、法律家にたずねること。

実際上のこと: ライセンスを混ぜ合わせるのは実際的でなく、たとえ正しくやったとしても、 関与する利用者がより多くのライセンスを読んで理解しようとすることになる。 したがって、あなたの目的に差し支える(以下を見ること)のでない限り、 実際上の理由から"関係する"ソフトウェアと同じライセンスを用いることを提案する。 つまり、KDE デスクトップのためのプログラムは KDE と同じライセンスを用いるべきであり、 Perl ライブラリは Perl と同じライセンスを用いるべきであり、 X11 ユーティリティは X11 ライセンスを用いるべきである、などとなる。 あなたのプログラムがその一部となるであろうソフトウェア"コミュニティ"について考えて、 そしてそのコミュニティで支配的なライセンスを選択すること。 これらの実際的な関連事項は、しばしば以下に並んだ"政治的/個人的な"関連事項によって覆される。

"政治的/個人的な"目的:

1. 富を得る: あなたはその製品で儲けることを望んでおり、 マーケティングやもしかするとデバッグのためにフリー版を利用したいのかもしれない。 これは大いに結構なことで、多くの便利なフリーソフトウェアがこのように開発されており、 実例として QtGhostscriptCygwinMySQL および ReiserFS がある。 この5つの全ての開発元はフリーと非フリー版を入手できるようにしている。 さてここで、非フリーの市場で他者があなたより安く提供するのを防ぐ"コピーレフト" ライセンスを用いたくなる。GPL は Cygwin、MySQL および ReiserFS で用いられており、 Qt は QPL/GPL デュアルライセンスを、そして Ghostscript は OSI に承認されそこなった"Aladdin GPL"を用いているが、旧版は GPL の下で利用可能である。

QPL は GPL 以外のほとんどのフリーソフトウェアライセンスと組み合わせることができ、 GPL は GPL 自身、LGPL、およびパブリックドメインに近いライセンスとだけしか組み合わせることができない。

提案: GPL / QPL デュアルライセンスを用いる。

2. 手助けを得る: ソースコードをリリースする適切な理由の1つに、 バグ修正や他の貢献者、つまりフリーな開発者を得ることを望むということがある。 さてここで、人々に分け前を戻してもらうことを勧め、 さらにできるだけ多くの人々に使ってもらえるようなライセンスが欲しくなる。 GPL のようなコピーレフトや QPL は、非フリーなソフトウェアの開発者が使うのを妨げるし、 BSDL や X11 のようなパブリックドメインに似たライセンスは、 彼らの改善を彼らだけでしまっておくことを許すことになる。 そこで妥協として"ライブラリ"ライセンス、LGPL や MPL がある。 どちらも、非フリーな製品で使うことを許可あるいは推奨しているだけでなく、 ライブラリ(LGPL)もしくはファイル(MPL)の形でコード中のあなたの部分をフリーな状態で保つように設計されている。 理論的には、 このライセンスの"裏をかく"ために 開発者が改善やバグ修正を異なるライブラリやファイルの中で用意するかもしれないが、 完全な製品は非フリーのまま残るため、そんなことをする動機はほとんどない。 MPL は GPL なプロジェクトでは使えず、 LGPL は非フリーな製品の開発者が避けるようにする実際上の問題がいくつかある。

提案: MPL / LGPL デュアルライセンスを用いる。

3. 最高水準の技術を磨く。 あなたは科学技術を愛しており、かつ可能な限り速く進歩発展させたい。 あなたは実際それほど政治に関心がなく、かつフリー対非フリーの対決を品質ほど重視していない。 あなたは、どんな人であれ他の人がそのソフトウェアを使うことを推奨するライセンスが欲しい。 よりよい製品は、フリーであれ非フリーであれ、よりよい世界を作る。 (その場合は)制限が最小限でよく知られた信頼できるライセンスを選ぶこと。

提案: the new BSDL を用いる。

4. あなたはフリーソフトウェアを促進する手助けをしたい。 あなたはフリーソフトウェアが非フリーソフトウェアより断然良いという考えが好きで、 フリーソフトウェアが非フリーソフトウェアを価格同様に品質でも打ち負かすのを助けるために貢献したい。 そこで、あなたの改善が非フリーなソリューションにまねされるのを遅らせるために コピーレフトのライセンスが欲しい。

提案: GPL / QPL デュアルライセンスを用いる。

5. あなたはソフトウェアが使ってもらえるようしたい。 あなたはこのソフトウェアを用意して、 単純に出来るだけ多くの人がそれを使うようになってほしい。 ここで、あらゆる人にそれぞれの製品の一部として使ってもらうことを推奨し、 かつそれぞれのやり方を制限したいとは思わない。 パブリックドメインが最適かもしれないが、しかしその概念はどこでも通用するわけではなく、 訴訟に関してあなたが無防備になるという主張もある。 (というわけで)よく知られたライセンスで、最高に評価されている法律家によって書かれた、 だれからも信頼されているものを提案する。

提案: the new BSDL を用いる。

リンクと定義

この文脈での OSI とは Open Source Initiative のこと。彼らはオープンソースライセンスのための 証明書マーク を持っている。また 承認されたライセンス のリストがある。そこで上述のライセンスのほぼ全てが見つかる。

ここでの FSF は Free Software Foundation のこと。彼らは自前の フリーソフトウェアライセンスのリスト を持っており、またこの記事で使ったいくつかの用語の説明を用意している。

The "new BSDL license" は the BSD license の最新版のことであり、 そのオリジナル版が求めていたような University of California に帰するというクレジットを宣伝するように要求していない。

ここでのデュアルライセンスは、2つの異なるライセンスの いずれかもしくは両方に従うかどうか利用者が選択するものを意味する。 これは、その人が一方のライセンスが好きでもう一方が嫌いな場合、 好きな方のライセンスの条件に従う限り、 嫌いな方のライセンスの条件を無視することができることを意味する。

Per Abrahamsen <abraham@dina.kvl.dk>