• Showing Page History #14346

オープンソースの定義

八田真行訳、2004年2月21日
バージョン 1.9

以下において、インデントされイタリック体で表示されている 節はオープンソースの定義(The Open Source Definition, OSD)への注釈であり、OSD自体の一部ではありません。注釈の無いプレーンなOSDはここにあります。

はじめに

「オープンソース」とは、単にソースコードが入手できるということだけを意味するのではありません。「オープンソース」であるプログラムの頒布条件は、以下の基準を満たしていなければなりません。

1. 再頒布の自由

「オープンソース」であるライセンス(以下「ライセンス」と略)は、出自の様々なプログラムを集めたソフトウェア頒布物(ディストリビューション)の 一部として、ソフトウェアを販売あるいは無料で頒布することを制限してはなりません。 ライセンスは、このような販売に関して印税その他の報酬を要求してはなりません。

理由: ライセンスが自由な再頒布を要求するよう強制することにより、数多くの長期的利益をちょっとした短期的な販売収益を得るために投げ捨ててしまうというような誘惑を除くことができます。このような縛りをかけないと、協力者たちは変節せよという強い圧力にさらされてしまうでしょう。

2. ソースコード

「オープンソース」であるプログラムはソースコードを含んでいなければならず 、コンパイル済形式と同様にソースコードでの頒布も許可されていなければなりません。何らかの事情でソースコードと共に頒布しない場合には、 ソースコードを複製に要するコストとして妥当な額程度の費用で入手できる方法を用意し、それをはっきりと公表しなければなりません。方法として好ましいのはインターネットを通じての無料ダウンロードです。ソースコードは、プログラマがプログラムを変更しやすい形態でなければなりません。意図的にソースコードを分かりにくくすることは許されませんし、プリプロセッサや変換プログラムの出力のような中間形式は認められません。

理由: 私たちは、意図的に分かりにくくされていないソースコードが入手できることを要求します。プログラムを改変することなしにはプログラムを発展させることはできないからです。私たちの目的はソフトウェアの発展をより容易なものにすることですから、変更が簡単に行えることを必要条件に加えています。

3. 派生ソフトウェア

ライセンスは、ソフトウェアの変更と派生ソフトウェアの作成、並びに派生ソフトウェアを元のソフトウェアと同じライセンスの下で頒布することを許可しなければなりません。

理由: 単にソースを読むことができるだけでは、独立したピアレビューや急速な発展的淘汰を維持するのに十分ではありません。急速な進化を実際に起こすためには、人々がそのソフトウェアでさまざまに実験し、変更点を再頒布することができる必要があります。

4. 作者のソースコードの完全性(integrity)

バイナリ構築の際にプログラムを変更するため、ソースコードと一緒に「パッチファイル」を頒布することを認める場合に限り、ライセンスによって変更されたソースコードの頒布を制限することができます。ライセンスは、変更されたソースコードから構築されたソフトウェアの頒布を明確に許可していなければなりませんが、派生ソフトウェアに元のソフトウェアとは異なる名前やバージョン番号をつけるよう義務付けるのは構いません。

理由: 盛んに改良することを奨励するのは良いことですが、ユーザには彼らが使っているソフトウェアについて誰が責任を持っているのか知る 権利があります。反対に、ソフトウェアの作者と管理者にも彼らの名声を保護し、何をサポートすることが要求されているのか知る権利があります。
それゆえ、オープンソースなライセンスはそのソースが容易に入手可能であることを保証しなければならないのですが、一方でそれがいっさい変更されていない本来の基本ソースとパッチという形で頒布することを義務付けても構わないということにします。こうすれば、「非公式」な変更点は利用可能でありつつも、元のソースとは簡単に見分けがつくわけです。

5. 個人やグループに対する差別の禁止

ライセンスは特定の個人やグループを差別してはなりません。

理由: 進化の過程から最大の恩恵を引き出すためには、可能な限り多種多様な人々やグループに、平等にオープンソースに貢献する資格が与えられている必要があります。そこで、オープンソースなライセンスによって誰かを進化の過程から締め出すことは禁止されています。
アメリカ合衆国を含むいくつかの国では、ある種のソフトウェアに輸出制限を課しています。OSD準拠のライセンスは、適用される可能性がある制限 についてライセンス受諾者に警告し、また彼らには法に従う義務があることを示唆しても構いません。しかし、ライセンス自身にそのような制限を取り込んではなりません。

6. 利用する分野(fields of endeavor)に対する差別の禁止

ライセンスはある特定の分野でプログラムを使うことを制限してはなりません。 例えば、プログラムの企業での使用や、遺伝子研究の分野での使用を 制限してはなりません。

理由: この条項の主な意図は、ライセンスによってオープンソースが商業的に使われることを妨げるような策略を禁止することです。私たちは、 営利的なユーザも私たちのコミュニティに加入してくれることを望んでおり、 彼らがそこから排除されているような気分になっては欲しくないのです。

7. ライセンスの分配(distribution)

プログラムに付随する権利はそのプログラムが再頒布された者全てに等しく認め られなければならず、彼らが何らかの追加的ライセンスに同意することを必要としてはなりません。

理由: この条項は、ソフトウェアを機密保持契約への同意を要求するなどの間接的な手段によって囲い込むことの禁止を目的としています。

8. 特定製品でのみ有効なライセンスの禁止

プログラムに付与された権利は、それがある特定のソフトウェア頒布物の一部であるということに依存するものであってはなりません。プログラムをそ の頒布物から取り出したとしても、そのプログラム自身のライセンスの範囲内で使用あるいは頒布される限り、プログラムが再頒布される全ての人々が、 元のソフトウェア頒布物において与えられていた権利と同等の権利を有することを保証しなければなりません。

理由: この条項は、ライセンスによるこれまたよくあるタイプの策略を禁止します。

9. 他のソフトウェアを制限するライセンスの禁止

ライセンスはそのソフトウェアと共に頒布される他のソフトウェアに制限を設けてはなりません。例えば、ライセンスは同じ媒体で頒布される他のプロ グラムが全てオープンソースソフトウェアであることを要求してはなりません。

理由: オープンソースなソフトウェアの頒布者には、彼ら自身のソフトウェアについては彼ら自身で選択する権利があります。
もちろんGPLはこの要件を満たしています。GPLが適用されたライブラリとリンクされたソフトウェアは、それが単一の著作物を形成する場合のみ GPLを継承するのであって、単に一緒に頒布されるというだけならば他のソフトウェアには影響しません。

10. ライセンスは技術中立的でなければならない

ライセンス中に、特定の技術やインターフェースの様式に強く依存するような規定があってはなりません。

理由: この規定で特に念頭に置いているのは、ライセンサーとライセンシーの間で契約を成立させるために明示的な同意の意思表示を必要とするようなライセンスです。いわゆる「クリックラップ(click-wrap)」を要求する規定は、ソフトウェア頒布において重要な手法であるFTPダウンロードやCD-ROM アンソロジー、ウェブのミラーリングなどと衝突する可能性がありますので、このような規定もコードの再利用を妨げてしまいます。よって、本定義に 準拠するライセンスは、(a) ソフトウェアの再頒布が、ダウンロード時のクリックラップをサポートしないようなウェブ以外の経路で起こりうるという 可能性 (b) ライセンスで保護されるコード (あるいは保護されるコードの再利用された部分) はポップアップダイアログをサポートできない非GUIの環境でも実行されれうるという可能性、を認めなければなりません。

準拠について

(この節は「オープンソースの定義」の一部ではありません)

私たちはこの「オープンソースの定義」が、ソフトウェア界の人々の大多数が 「オープンソース」という語に元来込めていて、今も依然として込めている意味を捉えていると思っていますが、この語が広く使われるようになるにつれて、その意味するところがいくぶん正確さを失っている感は否めません。 そこでOSIでは、ソフトウェアの頒布に適用されるライセンスがOSDに準拠していることをOSI認定マークで証明することにしています。 私たちは 「オープンソース」という用語をOSDに準拠しているという意味で使うことを推奨していますが、 総称的用語としての「オープンソース」には何の保障もありません。

更新履歴

  • 1.0 – DFSGと基本的には同一内容、MPLとQPLを10節に追加。
  • 1.1 – LGPLを10節に追加。
  • 1.2 – パブリックドメイン扱いを10節に追加。
  • 1.3 – 10節の名称を変更し、ライセンスの一覧を分離。手続についての資料を追加。
  • 1.4 – パブリックドメインソフトウェアにおけるソースコードの要件を明確にした。
  • 1.5 – GPLに合わせて、「複製に要するコストとして妥当な額」を認めた。
  • 1.6 – 10節を削除。元の内容は別のところへ移した。
  • 1.7 – 10節を「準拠について」で新たに置き換えた。
  • 1.8 – 1節: "may not"を"shall not"で置き換えた(日本語訳には影響なし)。
  • 1.9 – 9節: GPLの効果について「汚染」と表現した部分を削除。セクション10の追加

起源

Bruce Perensが「Debianフリーソフトウェアガイドライン」としてこの文書の最初の草稿を書きました。その後彼は、Debian の開発者たちが1997年6月 に行った、1ヵ月にも及ぶ電子メールによる討議において寄せられた意見を採り入れて 推敲し、Debian固有の話題を文書から削除して、この「オープンソースの定義」を書き上げました。