Are you sure you want to use GPL? (翻訳)

本当に GPL を使いたいの?

Original text is written by Armin Ronacher, on Thursday, February 12, 2009.

Author:Armin Ronacher
Translator:Nozomu Kaneko <nozom.kaneko@gmail.com>

Note

この文書は Armin Ronacher の blog 記事 の翻訳です。 原文はこの文書のソースコードに含めてあります。

私は Linux を使い始めたとき、オープンソースの概念に心を奪われました (totally sold)。今でもそれは変わっていませんが、私の意見は変化しました。 私がオープンソース・ライセンスの下でリリースした最初のコードは GPL ライ センスでした。そして、私はそれをしばらく続けていました。私が GPL ライセ ンスの下で活発に開発した最後のコードは Zine でしたが、数日前のリリース で私は修正 BSD ライセンスの下でそれを再ライセンスしました。

私がライセンスを変えた理由はかなり複雑なものなので、ここでちょっと GPL と他のオープンソース・ライセンスに関する私の経験を共有したいと思います。 たぶん多くの人々は、私と同じように、他の人がみんな選んでいるという理由 で GPL を選び、それが持っているすべての意味に関して知らなかったと思います。

Left versus Right

GPL と BSD (そしてその亜種) ライセンスはまったく違います。それは書類の 長さから始まります。 BSD ライセンスは 2 つか 3 つの節からなるテキストと 著作権情報と瑕疵担保条項です。他方、 GPLv3 には 600 行のテキストがありま す。 BSD は権利を制限しますが、 GPL は権利を許可します。権利を制限する ことは悪く聞こえますが、それはあなたがライセンスに記載されたことを除い て何でもできるということを意味します。 GPLは、あなたがそれでできること について説明することによって始まります。 GPL は Copyleft 原則に続いてい ます。それは BSD ライセンスがしていないことです。

これは、多くの GPL / BSDユーザが知らない、しかし知っておくべきいくつか の非常に複雑な意味を持っています。

What BSD means

BSD ライセンスから始めましょう。それは私が選択したライセンスです。3 節 バージョンは MIT ライセンスと非常に類似しています。そして 2 節バージョ ンは基本的に MIT ライセンスです。 それは何を言っているでしょうか?

(訳注: 以下は Open Source Group による邦訳)

Copyright (c) <年>, <所有者> All rights reserved.

ソースコード形式かバイナリ形式か、変更するかしないかを問わず、以下 の条件を満たす場合に限り、再頒布および使用が許可されます。

  • ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、 および下記免責条項を含めること。
  • バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の 資料に、上記の著作権表示、本条件一覧、および下記免責条項を含 めること。
  • 書面による特別の許可なしに、本ソフトウェアから派生した製品の 宣伝または販売促進に、<組織>の名前またはコントリビューターの 名前を使用してはならない。

とてもシンプルです。 それは、著作権を取り除くこと以外のアプリケーション を使ってできるあらゆることをユーザに許可します。 3 番目の節は、派生した 作品は広告に作者の名前を使用してはいけないということを意味します。 この 節は 2 節 BSD と MIT ライセンスにはありません。

これはもちろん、誰かがあなたのソフトウェアを受け取って、商標を変えてそれを 販売できることを意味します。世界は悪で、あなたのアプリケーションに価値 があるならこうしたことが当然起こるだろうと思うかもしれません。私たちは、 後でライセンスのその部分をほんの少しカバーするつもりです。

それに対して GPL がどうなっているか見てみましょう。

What GPL means

GPL ライセンスはここで引用できないくらい長いのですが、その最も重要な 側面を要約すると:

  • コピーは無料またはお金を取って配布することができるが、要求に応じ てソースコードを無料で (または原価で) 出荷、または提供しなければ ならない。ソースコードの受け取り人は、彼が無料でコピーを共有する か、または転売できることを意味する同じ権利を持つ。
  • ライセンスされたマテリアルは、分析または変更してもよい。
  • 変更されたマテリアルは、同じライセンスの下で配布してもよいが、 配布する必要はない。

ライセンスにはその他に、ソースコードがどれくらい長い間利用可能でなけれ ばならないか、それにどのように対処するかといった、さらにいろいろな事が 書いてありますが、本質はこれです。 BSD ライセンスと同じく、誰かがアプリ ケーションを受け取ってその商標を変更して販売することができますが、ライ センスは変更されたソースが同じライセンスの下で利用可能という要求をして います。

しかしながら、変更は配布が起こる場合にだけ公衆に利用可能にする必要があ ります。そのため、配布されないアプリケーション/ライブラリで GPL コード を取って、それに大きな変更を加えて使用するのは完全に合法です。これは例 えば、 Google のような会社が彼ら自身のパッチを当てたバージョンの Linux を実行できる理由です。

しかし、これは同時に非 GPL コードが GPL コードを使用できないということ を意味していて、それも大きな問題です。

License Compatibilities

BSD は GPL と互換性がありますが、 GPL は GPL ライセンスされたコードを非 GPL コードの中で使うことを許可しません。これはユーザが期待する重要なラ イブラリが GPL である場合に特に煩わしいです。 例えば、非常に人気がある readline ライブラリは GPL ライセンスです。 OS X のユーザはそれを知るで しょう。なぜなら Python と他の非 GPL アプリケーションの対話的なシェルが そこで最低だからです。人々は GPL 問題を取り除くために readline を書き直 そうとしましたが、代替手段はオリジナルのものほど良くメンテナンスされま せん。

私は、これがまた Steve Ballmer が「癌」と呼んだものであると推測します。 残念ながら、彼はそこで完全に間違っていません。例えば、私は Zine のため に対話的な管理シェルを開発しようとしましたが、 readline がなければ (Zine は BSD ライセンスなので使用できない) ユーザー・エクスペリエンスは 最低 (just meh) です。私はただ readline サポートを持つ対話的なシェルの ために、全体のアプリケーションを GPL に再ライセンスしなければならない でしょう。

Freedom

これはあなたが自由をどう定義するかによります。 GPL の背後の人々には、 自由に関して非常に共産主義的な観点があります: フリーソフトウェアは同じ 条件で誰にとっても利用可能であるべきだ。 残念ながら、共産主義のように それはそんなにうまくいきません。人間は本当のところそういうものの見方に 互換性がないということが分かるからです。他方では、ただ著作権以外のすべての 権利を与えて自由を強制しない BSD のような寛大なライセンスがあります。 あなたは望むなら BSD コードを取って、 GPL の下でそれを再ライセンスできます。 しかしながら、その種類の自由は片道切符です。 あなたがいったんあなた のコードを GPL でリリースすると、その GPL バージョンがいつも存在するで しょう。たとえ将来のリリースが GPL でなくなっても、ライセンスを取り消す ことはできないので少なくともそのリリースはそのままです。

Making Money

究極的には、多くの人にとってソフトウェア開発の目標はお金を稼ぐことです。 そのため、多くの人々が GPL を利用するために、コードを GPL とプロプライ エタリなライセンスのデュアルライセンスにして、後者だけを顧客に対して利 用可能にしようと決めます。単独の開発者にとって、 BSD ライセンスの下で認 可されるコードを販売するのは arguable harder です。そこで、ビジネスモデ ルはたぶん金を払う顧客に非オープンソースの拡張を販売することです。すべ てのコードを BSD の下で公開すれば、そこからお金を得ることができるのであ なたにとって非常に都合がいいでしょう。

多くの開発者は実際にそれには関心がなく、開発を楽しんでいます。そして BSD は彼らが止まったところで他の人がスタートする許可を与えています。 うまくいっている BSD/MIT コードの好例は Django と Ruby on Rails です。 両方のプロジェクトはその背後に協賛会社を持つ強い共同体のそばで発展しま した。 Rails の背後の会社は Rails に基づく非常にうまくいっているクロー ズドなソースアプリケーションを作成します。 Django に取り組んでいる開発 者の多くが、それで働いている個々の会社によって賃金を支払われます。

Recap

オープンソースライセンスの下でコードをライセンスする前に: ライセンスに ついて考えてください! 両方のタイプのライセンスには、それらの利点と損失 があります。そして、「みんながそうしている」というだけでよく考えずに GPL を使用するのは愚かなことです。多くの人は単にライセンスを読まずに そうしているだけです。

Project Versions

Table Of Contents

Previous topic

Pyramid でポニーを表示する 7 つの方法

Next topic

Plausible Promise (翻訳)

This Page