特許

ソフトウェア特許は、フリーソフトウェアの世界で現在注目されている問題です。なぜなら、 フリーソフトウェアのコミュニティーが防ぐことができない、 現実的な唯一の脅威となっているからです。 著作権と商標の問題はいつでも回避することができます。 仮にあなたのコードが他の人のコードと似ていて、誰かの著作権を侵害していたとしても、 あなたはその部分を書き直せばよいのです。 また、誰かがあなたのプロジェクトの名前に対して商標権を持っていたとしても、 最悪プロジェクトの名前を変えれば済みます。 プロジェクト名の変更は一時的には不便かもしれませんが、 長い目で見れば問題にならないでしょう。なぜなら、コードそれ自体はいつも通り動くからです。

しかし、特許はあるアイディアを実装することに対して一律に適用されるものです。 誰がコードを書くかは関係ありませんし、 どのプログラミング言語を使うかさえ関係ないのです。 誰かが特許を侵害していると主張してフリーソフトウェアプロジェクトを訴えた途端、 プロジェクトは特定の機能の実装をやめるか、カネと時間がかかる裁判をしなければなりません。 このような裁判を起こすのは、十分な資力がある企業なのが普通です — つまり、はじめから特許を買収する資金があり、そうする傾向がある組織です — ほとんどのフリーソフトウェアプロジェクトは特許を買い取る余裕はありませんし、 対象となる特許が法廷で拘束力がないと強く思っていたとしても、 すぐに降伏しなければならないのです。 こういう状況をはじめから防ぐには、 フリーソフトウェアプロジェクトがコードを用心深く書いて、 たとえ最良かつ唯一の解決策であったとしても、 特許になっているアルゴリズムをあらかじめ使わないようにすることです [40]

調査や事例が示す通り、これは大多数のオープンソースプログラマーだけでなく、 すべての プログラマーの多くが、 ソフトウェア特許を全面的に廃止すべきだと考えています [41]。 オープンソースプログラマーは、特に強くそう感じており、 ソフトウェア特許を集めたり、 強制することに強く関係しすぎているプロジェクトで働くのを拒否するかもしれません。 あなたの組織がソフトウェア特許を集めているのなら、 オープンソースプロジェクトに特許を適用しないこと、 そして別の組織が特許違反の裁判を起こした場合の、 防御の手段としてのみ特許を使っていることを取り消せないやり方で明確にしておきましょう。 これが唯一の正しい手段ではありません。 オープンソースプロジェクト同士が連携することもよいことです。 [42]

不幸なことですが、法的な防御を目的として特許を集めるのは合理的な行動です。 現在の特許の仕組みはその本質上、少なくともアメリカでは軍拡競争です。 つまり、競争相手がたくさんの特許を取得した場合、 最良の防御方法は、特許違反で訴えられたときに逆に訴え返せるように、 多くの特許を取得することです — こうしておけば、 お互いがお金を払わないで済むよう、 双方が机についてクロスライセンスの取引をするのが普通です。 もちろん知的財産権専門の法律家には払わないといけませんが。

しかし、ソフトウェア特許がフリーソフトウェアに及ぼす害は、 コードの開発に及ぼすものよりも陰湿なものです。 ソフトウェア特許はファームウェアの設計者達に秘密主義の雰囲気を助長しています。 彼らは自分たちが設計したインターフェイスの詳細を公にすると、 特許違反で訴えるためにあら探しをしている競争相手を技術的に助けてしまうのではないかと心配しているのです。 これは単なる机上の空論ではありません。 たとえばビデオカード業界で明らかに起きてきたことなのです。 多くのビデオカードメーカーは、 高速に動くオープンソースなデバイスドライバを作るのに必要なプログラミング仕様を公にしてきませんでした。 よって、そうしたカードの機能を完全にサポートするフリーなオペレーティングシステムを作るのが不可能になっているのです。 なぜメーカーはそんなことをするのでしょうか? ソフトウェアをサポートすることに 反対すること は理にかなっていません。 なぜなら、多くのオペレーティングシステムで動くことが、 ビデオカードの売り上げにつながるからです。しかし、 あるときは故意に、あるときは偶然、 こうしたメーカーすべてがデザインルームの裏で互いに特許を侵害していることが明らかになってきています。よって、メーカーは敢えて完全なインターフェイス仕様を公開しないのです。 公開することで、特許を侵害していることが競争相手にわかりやすくなってしまうからです。 (もちろん、こういった性質のことは一次情報源から許可を得て書けることではありません。 私はこのことを個人的なやりとりで知りました。)

フリーソフトウェアライセンスの中には、ソフトウェア特許と戦ったり、 もしくは拒絶するための特別な文言を入れているものがあります。 たとえば、GNU GPL は次のような文言を含めています。

    7. 特許侵害あるいはその他の理由(特許関係に限らない)から、裁判所の判決あるいは
       申し立ての結果としてあなたに(裁判所命令や契約などにより)このライセンスの条
       件と矛盾する制約が課された場合でも、あなたがこの契約書の条件を免除されるわ
       けではない。もしこの契約書の下であなたに課せられた責任と他の関連する責任を
       同時に満たすような形で頒布できないならば、結果としてあなたは『プログラム』
       を頒布することが全くできないということである。例えば特許ライセンスが、あな
       たから直接間接を問わずコピーを受け取った人が誰でも『プログラム』を使用料無
       料で再頒布することを認めていない場合、あなたがその制約とこの契約書を両方と
       も満たすには『プログラム』の頒布を完全に中止するしかないだろう。 

       [...]

       特許やその他の財産権を侵害したり、そのような権利の主張の効力に異議を唱えた
       りするようあなたを誘惑することがこの節の目的ではない。この節には、人々によ
       ってライセンス慣行として実現されてきた、フリーソフトウェア頒布のシステムの
       完全性を護るという目的しかない。多くの人々が、フリーソフトウェアの頒布シス
       テムが首尾一貫して適用されているという信頼に基づき、このシステムを通じて頒
       布される多様なソフトウェアに寛大な貢献をしてきたのは事実であるが、人がどの
       ようなシステムを通じてソフトウェアを頒布したいと思うかはあくまでも作者/寄与
       者次第であり、あなたが選択を押しつけることはできない。
       [43]

Apache License バージョン 2.0 (http://www.apache.org/licenses/LICENSE-2.0) も特許に反対する条件を含めています。 まず第一に、このライセンスでコードを配布する人は、 自分が保有している特許で、配布するコードに適用できるものについては、 ロイヤリティーがかからない特許ライセンスを与えなければなりません。 二つめに、 配布したコードを根拠に特許侵害の訴えを起こした時点でその特許ライセンスを自動的に終了させることで、 そうした人を巧みに排除しています。

    3. 特許ライセンスの付与

       本ライセンスの条項に従って、各コントリビューターはあなたに対し、成果物
       を作成したり、使用したり、販売したり、販売用に提供したり、インポートし
       たり、その他の方法で移転したりする、無期限で世界規模で非独占的で使用料
       無料で取り消し不能な(この項で明記したものは除く)特許ライセンスを付与
       します。ただし、このようなライセンスは、コントリビューターによってライ
       センス可能な特許申請のうち、当該コントリビューターのコントリビューショ
       ンを単独または該当する成果物と組み合わせて用いることで必然的に侵害され
       るものにのみ適用されます。あなたが誰かに対し、交差請求や反訴を含めて、
       成果物あるいは成果物に組み込まれたコントリビューションが直接または間接
       的な特許侵害に当たるとして特許訴訟を起こした場合、本ライセンスに基づい
       てあなたに付与された特許ライセンスは、そうした訴訟が正式に起こされた時
       点で終了するものとします。
       [44]

このように、フリーソフトウェアライセンスに特許から防御するための仕掛けをしておくのは、 法的にも政治的にも役に立つものです。しかし最終的には、 フリーソフトウェアに対する特許違反裁判の脅威がもたらす、 萎縮的効果を払拭するには不十分です。 それができる唯一の手段は、国際的な特許法の本質や解釈を変更することです。 この問題について、そしてこの問題と人々がどう戦ってきたのかをさらに知るには、 http://www.nosoftwarepatents.com/ を訪れるとよいでしょう。 Wikipedia の記事 (http://en.wikipedia.org/wiki/Software_patent) にも、ソフトウェア特許に関する有益な情報が多くあります。 私自身も、ソフトウェア特許に反対する議論をまとめたエントリをブログに載せています。 http://www.rants.org/2007/05/01/how-to-tell-that-software-patents-are-a-bad-idea/



[40] サン・マイクロシステムズ と IBM は、 この問題に対して少なくとも別の方向性を打ち出しています。 彼らは大量のソフトウェア特許 — それぞれ 1600 と 500 個 — をオープンソースコミュニティーが使えるようにフリーにしました。 私は法律家ではないので、 これらの特許が付与されたことがどれくらい有用なのかを評価できません。 しかしたとえこれらがすべて重要な特許であり、 特許を付与する条件をオープンソースプロジェクトが使うために本当にフリーなものにしたとしても、 それは氷山の一角に過ぎないでしょう。

[41] 調査の一例として、以下を参照してください。 http://groups.csail.mit.edu/mac/projects/lpf/Whatsnew/survey.html

[42] たとえば RedHat は、 オープンソースプロジェクトは特許に違反しないことを約束しています。 http://www.redhat.com/legal/patent_policy.html を参照してください。

[43] GNU General Public License バージョン 2 のもの。 http://www.opensource.jp/gpl/gpl.ja.html.euc-jp より引用。

[44] オープンソースグループ・ジャパン wiki より引用。 http://sourceforge.jp/projects/opensource/wiki/licenses%2FApache_License_2.0