---Why Patents are bad for Software--- Simson L.Garfinkel Richard M.Stallman Mitchell Kapor
「Science and Technology」Fall 1991
特許はコンピュータ・ソフトウェア産業を保護しないし、活気づけもしない。
不自由な業界にしてしまうだけである。
1990 年 9 月、人気のあるワードプロセッサ XyWrite のユーザは、そのプログラムの販売会社 XyQuest, Inc. から次のような不安な手紙を受け取った。
1987 年 6 月に私達は XyWrite III Plus に自動訂正と略語の展開機能を導入いたしました。ところが、私達の知らないうちに、関係機能に関する特許申請が 1984 年に提出されており、1988 年にはそれが認められていました。1989 年の終わりごろ、その特許を持つ会社から私達に連絡があり、その特許の存在を通知してきました。
私達は特許侵害にならないように XyWrite III Plus を変更することを決定いたしました。XyWrite III Plus の最新の版 (3.56) では本件に関係する部分の 2 つの大きな変更を行ないました。綴りを間違えた単語の後でスペース・バーを押して自動的に綴りの誤りを訂正する機能をはずしました。さらに、個人の辞書に登録されている略語を展開する機能もはずしましたので、別に設定されているホット・キー、CTRL-R を使わなければなりません。
1980 年代の半ば以降、アメリカ合衆国特許・商標部 (Patent and Trademark Office、商務省に属する) はコンピュータのアルゴリズムとソフトウェア技法に関して 2,000 件以上の特許を認めているが、XyQuest 社はそのうちの 1 つの特許に一杯食わされたわけだ。その特許の持ち主 Productivity Software 社は、XyQuest 社にその特許の使用許諾ライセンスを交わすか、あるいは XyQuest 社の最も重要な商品である XyWrite から特徴的な機能を取り去るかのいずれかを選ばせた。もし、XyQuest 社が全てを拒絶していたら、特許侵害として費用がかかることは必至であっただろう。
XyQuest 社のマーケティング担当の副社長、Jim Adelson によれば、XyQuest 社はその特許のライセンスを交わそうとしたが、Productivity Software 社はその条件を色々と変えてきた。最初、Productivity 社は、XyWrite のある版ではだめだが、いくつかの版にはその機能を入れておいてよいと言っていた。次には、XyQuest 社は自社の発明の一部は使うことができるが、ほかの部分はだめだと言った。そうしたら Productivity Software 社は、特許のロイヤリティ額を上げ続けた。XyQuest 社はついにあきらめて、その機能を取り除くことになった。
XyQuest 社は選択の自由があっただけ幸運である。米国内のほかの企業、例えば最も利益を上げている大きなソフトウェア会社でさえも、自社組織に致命的な打撃を受けるほどの特許に関する警告を受けてきている。最もよく知られているのは、Refac International 社の例で、この会社の唯一の業務は、特許を得て特許訴訟を起こすという内容である。この会社は Lotus 社、Microsoft 社、Ashton-Tate 社、その他スプレッドシートのメーカが、モデルの中の 1 つのパラメータが変化した時に、複雑なモデルの値を再計算する順番を指示する特許番号「4,398,249」を侵害しているとして、これらのメーカを訴えた (Refac 社はその後、Lotus 社を除く全てのメーカに対する要求を取り下げた。それは単に、1 社だけを相手にした方が成功する可能性が高いと顧問弁護士が判断したからにすぎない)。
特許 4,398,249 はスプレッドシートに特に関連するものではない。この技法は描画プログラムや人工知能のプログラムでも用いられる。そして、スプレッドシート中の値が、その特許によって指定される順番に再計算されるというアイデアは、スプレッドシート・プログラムを書いたことのある者なら大半が思いつくほど自明なものである。しかし、特許・商標部の明白さの基準は極めて低水準で、プログラミング・コースの 1 年目に行なわれる演習問題の解答のようなきわめて基本的なアイデアにも特許が認められている。
実際、1ヶ月に 1 回は国中のコンピュータ・ネットワークが、広く使われている基本的な概念にまた特許が認められたというニュースで沸き立つ。特許・商標部はアイデアに対する特許を認めるとは考えていないようだが、ソフトウェア特許に関して特許・商標部がやっていることはまさにそれであって、コンピュータ科学の知的領域を分割し、申請を提出した企業に事実上どこにでもその分割した小さな部分を渡している。このような習慣は米国のソフトウェア産業を荒廃させる。
もし議会が、速やかに動いて特許法のコンピュータ・プログラムに対する適用の基準を改正しないならば、新しいコンピュータ・プログラムの導入に仕掛けられた法律の地雷原は非常に恐ろしいものとなり、潜在的費用もかさむので、小企業は事実上市場から締め出され、財政基盤のある大企業も産業全体を衰退させる訴訟に巻き込まれるであろう。
ソフトウェアの特許はプログラム全体には適用されない。アルゴリズムや技法、つまりプログラム中で特定の仕事の実行方法をコンピュータに指示する命令に対して適用される。1 つのコンピュータ・プログラムは数千の命令から成る。しかし、プログラム中のアルゴリズムと技法の組み合わせが (本や歌のように)「表現」と見なされて著作権法が適用されるが、アルゴリズムや技法それ自体は特許が適切な手続きとして適用される。
判決によるこの適用基準はどう見ても曖昧である。米国の法律は、発明がどのように素晴らしいものであっても自然法則で特許を取ることは許していない。最高裁判所における 2 件の裁判 (1972 年の Gottschalk 対 Benson の件、および 1978 年の Parke 対 Flook の件) で、裁判所はコンピュータ・アルゴリズムとソフトウェア技法に対してもこの原理を拡大して適用した。しかし、1981 年の Diamond 対 Diehr の件で、裁判所はあるコンピュータ・アルゴリズムで制御される工業的なプロセスに対して特許を認め得ると述べた。そして、特許・商標部はこの判決をアルゴリズムと技法全般に対して特許を与えられるという青信号として受け取ってしまったようだ。
ソフトウェアの特許は今や危険な速度で認められつつある。ある統計によれば、毎年 1,000 件以上が公布されている。不幸なことに特許のほとんどはごはんの炊き加減ほどの巧妙さと独創性を持っており、それ自体は単純ではあるが洗練された多くの料理に不可欠な役割を果たしている。それらの多くは、広くプログラムの中で多用される小さなアルゴリズムや技法に適用されている。特許申請によく記述されている「発明」とは多くの場合、個々に定式化されており、申請書が提出された時にはすでにほかのプログラマによって使われている。
特許・商標部は、アルゴリズムや技法に特許を認めると同時に、問題解決にあたってはプログラマはそのアイデアの所有者の許可なくその方法を使うことはできないと告げる。プログラマにとって、アルゴリズムや技法に特許を与えることは、一連の音符やコード進行に特許を与え、作曲家に「音楽上の進行のライセンス」を得るように強制することに値する。
特許の伝統的な根拠は、発明の保護が革新の原動力となり、技術進歩に関する情報の普及に役立てることにある。ほかの人が発明の模倣を行なうのを抑止することで、特許は発明者に開発投資の回収を許し、それと同時に新しい発明の働きを公に明らかにしている。
しかし、コンピュータ産業における特許システムは、この意図とは反した働きをしていることが明らかである。実際、特許システム自体がソフトウェア開発の性質に合わないようにみえる。今日のコンピュータ・プログラムは非常に複雑で、その中には数千のアルゴリズムと技法が含まれている。そしてそれぞれが特許・商標部の基準では特許に値すると見なされている。ソフトウェア会社はこれらの特許の 1 つ 1 つにライセンスを得て、さらにそれでもなお法律的に危険な製品を市場に出すと予想するのは自然であろうか ? 事態を一層複雑にしているのは、特許・商標部がさらに特定の機能を実現するアルゴリズムや技法の組み合わせにも特許を与えていることだ。例えば、Apple 社はその申し立てによれば、Hypercard プログラムが特許番号 4,736,308 を侵害しているとして訴えられている。この特許は、簡単に言うと、テキストの各行のある選択部分を表示しながら、データベース中をスクロールする技法に対して認められている。スクロール機能と表示機能は個々にはコンピュータ・プログラムの中のどこにでもよく見かけるものである。しかし、特許 4,736,308 の所有者からのライセンスを得ないでそれらを組み合わせることはいまや明らかに違法となる。
ソフトウェアに特許を与えることのもう 1 つの問題点は、それの実行に要する時間である。例えば、ある会社がバリウムの製法の特許を申請したとして、それから特許を獲得するのに 2 年から 5 年かかったとしても我慢することはできる。この年数はここ 20 年来変わっていない。しかし、ソフトウェア産業においては、連続して新しい版のプログラムをリリースしていない企業はビジネスから去ることになる。従って、そのような企業の成功は、需要を見抜き、可能な限り速やかにその解答となるものを開発することにかかっている。
不幸なことに特許検索はゆっくり慎重に行なう作業で、ソフトウェア開発という足かせをつけられたら、すぐに途中で更新をやめてしまうようなしろものである。そして、特許申請は非公開で行なわれるので、プログラマが現在書いているものが未公布の特許に違反していないことを確認する手段は全くない。だから、Productivity Software 社が特許申請をして特許が与えられるまでの間に、XyQuest 社は自動綴り訂正システムを「再発明」し、製品を市場に出したのである。
このような例は次第にどこにでも現れるだろう。別の例では、1984 年 6 月に「the Journal IEEE Computer」誌は高効率のデータ圧縮アルゴリズムを発表した。同時にその記事の著者達は、この雑誌の編集者と読者の知らない間に、自分達の発明について特許を申請していた。翌年にはいわゆる「LZW データ圧縮」を行なう数多くのプログラムが書かれ、広範囲に配布された。この圧縮法は国家標準にさえ採用され、国際的な標準としても提案された。そして 1985 年、特許・商標部はその記事の著者の 1 人に特許番号 4,558,302 を与えた。今では、特許の所有者 Unisys 社がそのアルゴリズムの使用に対して使用料を要求している。そのアルゴリズムを採用しているプログラムは依然としてパブリック・ドメインとして置かれ、これらのプログラムの使用は訴訟の危険を冒している。
特許の認定作業が遅いだけでなく、「先行技術」(特許申請の時点で、発明が存在しているかどうかを特許・商標部が決める際の判断基準) の検索をコンピュータ・ソフトウェアの領域で行なうことはほとんど不可能だ。25 年以上にわたって、特許・商標部はアルゴリズムと技法に関する特許を分類するシステムを開発してこなかった。開発したとしてもそのようなシステムではうまく働くはずがないだろう。ちょうど数学者が、本質的に同一の思考過程が別の数学の分野で異なる用語として用いられているのに気付かないように、コンピュータ科学の違う部分で異なる目的に役立てるために、しばしば同じアルゴリズムが再発明される。特許審査官が時間に追われながら全てのこういった重複に気が付くと考えるのには無理がある。例えば、IBM 社には Unisys 社の所有と考えられているのと同じデータ圧縮アルゴリズムに関して特許が発行されている。それらの特許は公式が数学的に等価であっても記述自体が全く異なるので、特許・商標部は同じアルゴリズムに 2 つの特許を与えていることにたぶん気付いていないのであろう。
先行技術の検索は、コンピュータ科学の文献が信じられないほど多いために込み入ったものになる。文献には、学術的な雑誌だけではなく、ユーザ・マニュアル、公開されたソース・コード、コンピュータ・マニア向けの雑誌の記事なども含まれる。大きな大学で仕事をしている化学者のチームは、年に 20 ページから 30 ページくらいの出版物を出す。1 人のプログラマがその 100 倍のプログラムを書くことは容易であろう。特許の対象となるアルゴリズムと技法の組み合わせの場合の状況はより一層複雑になる。プログラマは新しいアルゴリズムと技法を公開することがよくある。しかし、そのようなプログラマは古いアルゴリズムや技法の新たな組み合わせについてはほとんど公開しない。個々のアルゴリズムや技法は多くの異なる方法で過去に組み合わせられてきたにもかかわらず、その歴史をきちんと整理する方法がないのである。
先行技術を文献の中から完全に検索できないのは致命的である。審査官が先行技術を見つけられなければ、特許を与えざるを得ないからである。結果として、特許・商標部の考える定義からしても「オリジナルではない」特許が多く認められてきた。そして、法廷での防衛にも成功してきた。これは単に特許審査官も裁判の弁護側も先行技術を知らなかったがために起こった。
商用ソフトウェアの団体のメンバの一部は現在、1980 年以前にあったソフトウェアの先行技術を判定するための「ソフトウェア特許協会」らしきものを提案している。しかし、このような団体が米国内の全てのプログラマの行なった全ての発見を目録にできたとしても、1980 年以前の仕事がパブリック・ドメインであると宣言するのは無意味である。そして、その目的は何のためか ? 自然が持つ数学的法則に特許を与えるためなのか ?
特許が事前に知られていたとしても、ソフトウェアの販売者のたいていはアルゴリズムや技法のライセンスを受けるという方法はとらなかった。その代わりに、彼らは特許に書かれた手続きを使わないようにプログラムを書き直そうとした。ある場合にはこれは不可能である。そういう場合には企業はしばしば、新しい機能を実現することを完全にやめてしまう方を選んだ。過去数年の証拠から明らかなように、ソフトウェア特許は事実上新しい技術の採用を促進するどころか妨げる方向に働いている。
そして特許は革新も妨げているようである。ソフトウェア特許は小さな企業に特に危険を与える。小さな企業は多くの場合ソフトウェア開発の先兵となっているが、特許検索や裁判費用を賄う経済力はない。新製品のプログラム開発には数十万ドルの費用がかかる。新しいプログラムが採用している個々の技法やその組み合わせに関する特許検索の費用は、すぐにその開発費と同じかそれ以上になってしまう。そして 1 件の特許裁判の費用は 100 万ドル以上になるだろう。
「私は特許裁判以上に費用のかかる裁判は知らない」と、WordPerfect Corporation の副社長であり総括顧問の R. Duff Thompson は述べている。しかし、Thompson が恐れているのは、ソフトウェア特許が若い独立したプログラマを一掃してしまうことである。そのようなプログラマはこれまでソフトウェア産業のインスピレーションの源泉になっていた。Thompson が言うように、「あるソフトウェアの中で素晴らしいアイデアを使った 23 才の青年が、どこかの特許の所有者から強硬な要求の手紙で攻撃されたとき」のことを想像してほしい。
情報の交換を助けるということに関する限り、ソフトウェア特許の拡張は、大学で開発され無償で配布されるソフトウェア (何年間も大学、企業、政府機関のコンピュータ・ユーザの頼みの綱となってきたソフトウェア) の終焉を意味する。多くのこのようなプログラム (例えば、X Window System、GNU Emacs テキスト・エディタ、ファイル圧縮プログラム compress など) は既存の特許に既に違反しているように見える。さらに、特許はパブリック・ドメイン・ソフトウェアの終焉をも意味するだろう。パブリック・ドメインのプログラムは公立学校がコンピュータを使えるようにするのに重要な役割を果たしてきた。無料でプログラムを配布する場合に、そのプログラムを作るために組み合わせた数百個の技法の中の 1 つに特許があったとしても、作者が使用料を支払う手段がないことは明らかである。
自分達の仕事に特許が必要だと考えているプログラマや企業家はほとんどいない。実際、アルゴリズムと技法の特許を推進する力は外部の 2 つの勢力から来ている。1 つは大企業のマネージャで、彼らは特許を優れた製品を開発しなくとも競争相手に勝つ手段と考えている。もう 1 つは特許弁護士で、特許を自分達の仕事を大きく拡張する可能性と考えている。
今日、企業による多くの特許獲得は取引の材料として、またほかの特許侵害の裁判に対する防衛手段として行なわれている。弁護士は、企業に対してのソフトウェア特許は競争力を強める、と助言する。このような方法は Microsoft 社、Apple 社、IBM 社といった大企業ではうまくいくが、小企業ばかりでなく中規模の企業でさえも、その同じ土俵で勝負することはとうていできない。将来、仕事を始めようとする者は、巨人達が課すことに決めた料金がいくらであろうと、それを払うことを強いられるのである。
ソフトウェア特許の考え方に反対する論拠の最たるものはその歴史自体であろう。Lotus 社、Microsoft 社、WordPerfect 社、Novell 社は皆、自社製品の強さによってソフトウェア産業の世界的リーダとなった。これらの企業は資金を確保し、市場での優位を維持するのに特許は必要としていなかった。実際には、いずれもが現在のソフトウェア特許が爆発的に広まる前に成功していた。これで明らかなように、コンピュータ・プログラムの開発を保証するのに特許は必要ない。そして、彼らの財産と見なされるものをもっと管理したいと思う者のために、コンピュータ産業は既にその他の 2 つのシステムを採用している。著作権と企業秘密である。
今日、ほとんど全てのプログラムには著作権がある。著作権は、プログラムのライセンスを与える個人あるいは企業の許可なく、ソフトウェア・プログラムのユーザが (例えば友人に渡すために) そのコピーを作ることを禁じている。これはある企業がほかの企業の製品を盗用し、それを自分のものとして売ることを防いでいる。しかし、著作権の存在そのものは、プログラマがそのプログラムに含まれるアルゴリズムや技法を自分のプログラムの中で使うことを妨げていない。あるソフトウェアの技法は、全体的には異なる仕事をするためにさまざまな方法で実現し得る。著作権は特定のプログラマが書いた実際のコードを盗むことを禁じているだけである。
一般に、著作権を持つことと特許を持つことは全く違う対象に適用されると考えられている。前者はアイデアの表現に対して、後者はある結果を得るためのプロセスに対してである。ほんの数年前までコンピュータ・アルゴリズムと技法には特許が与えられないと広く考えられていた。そして、ハーバード大学の政策分析家 Brian Kahin の覚書にあるように、著作権が広く確立されている産業が突然、特許に支配されるようになったのは歴史上初めてである。
実際、米国の特許システムは憲法の立案者達が企業秘密を減らしたいと考えて作ったものである。商業的な利益のために技術を秘密にしておくと、それをほかの人々が使うことは絶対にできないし、それが失われてしまうこともあり得る。しかし、企業秘密がソフトウェアにとって問題であっても、ほかの分野のように特許がその問題を是正する助けになるわけではない。
ソフトウェアの分野における有用な開発の多くは、XyWrite III Plus の自動綴り訂正機能や略語展開機能のような新しい機能からできているわけではない。プログラムの機能をそのユーザから隠しておくことは不可能なために企業秘密はあり得ないし、従って企業秘密を減らす努力は必要ない。ソフトウェアの内部で使われている技法は秘密にしておくことは可能である。しかし、過去において、それほど重要な技法というのはめったになかった。学術的な世界だけではなく、商業的な世界にいるコンピュータ科学者にとっても自分の発見を発表することはごくふつうのことであった。もう一度言うが、技法に関する秘密は重要な問題ではないので、企業秘密を減らすために特許システムを採用しても何も得られはしない。
ソフトウェアの中で企業秘密として広範囲に扱われるものはプログラムの「ソース・コード」である。コンピュータのプログラミングでの企業秘密はプログラムを「マシン・コード」にして配布することによって保たれている。マシン・コードとは、コンピュータが読み込めるようにプログラミング言語から翻訳したもので、事実上人間には判読不可能である。ほかのプログラマがマシン・コード状態のプログラムから、プログラムの作者が書いたオリジナルのステップを読み取ることは極めて困難である。◆1 しかし、ソフトウェア特許はこの形の企業秘密の制限に対しては何もしなかった。企業はソース・コードを保留しておくことで、特定の技法をではなく、全てのシステム設計の際に使用した数多くの技法の組み合わせ方を秘密にしている。設計全体に特許を与えることは実際的ではなく、無駄なことである。ソフトウェア特許を持っている企業でさえ、依然としてマシン・コードのみでプログラムを配布している。従って、ソフトウェア特許は企業秘密をそれほど減らすということにはならない。
リバース・エンジニアリングのこと。
多くの立法者は、知的財産の保護を強めることが、この分野で仕事をする何者にとっても良いことに違いないと考えている。我々が示そうとしたように、これは間違いなくコンピュータ・プログラムの分野には当てはまらない。ほとんど全てのプログラマは、自分達の仕事上の能力と表現の自由を制限する歓迎されざる押し付けとして特許を考えている。
今のこの時点では、あまりに多くの特許が特許・商標部によって認められてしまったために、先行技術を見つけてそれらをいっぺんにひっくり返すという見込みはほとんどない。特許・商標部が将来、より一層ソフトウェアのことを理解するとしても、今犯してしまった過ちは、政策上の大きな転換が起きない限り、次世紀の産業にまで影響を及ぼすであろう。
最近、アメリカ合衆国特許・商標部は特許法改正に関する諮問委員会を設置した。その委員会は多くの問題に関して調査するように求められているが、その中にはソフトウェア特許 (あるいはその委員会の呼び方に合わせて「コンピュータ・プログラムに関する発明」) も含まれている。不幸にもその委員会の中のソフトウェアに関する小委員会には、ソフトウェア特許に疑問を表明した著名なソフトウェア企業の代表は全く入っていない。しかし、小委員会は一般からの意見を考慮するように求められている。委員会の最終報告書は 1992 年の 8 月までに提出することになっているので、まだ意見を聞いてもらう時間はある。
特許・商標部に影響を与えることは効果的ではあるが、本当に必要な改革は最高裁判所か議会による調停を通してのみ得られるだろう。最高裁判所の動きを受身的に待っているのは正解ではない。何者も最高裁判所に判決を強制することはできないからである。最高裁判所が特許・商標部のやり方を変えたり、現在の特許に何かをさせる判決を下す保証は何もない。だから、最も効果的な行動はソフトウェア特許を許さないように特許法を改正し、そして可能であれば、すでに認められている特許を無効にするように議会に働きかけることである。William J. Hughes 下院議員 (D-N. J.) が議長を務める知的財産に関する下院小委員会は、先頭に立ってこの問題に関する公聴会を計画し、ソフトウェア特許の産業への影響について、議会の援助による経済的な分析を要求している。
特許がなければコンピュータ産業は活気を保ち、健全になる。ソフトウェア特許を必要とする人々が、業界の健全性が故に特許が必要であることを示さない限り、議会は革新の障害を当然取り除こうと考えるべきである。
Brian Kahin,"The Software Patent Crisis, "Technology Review(April, 1990): 53〜58.
Mitchell Kapor, Testimony at Hearing before U.S. House of Representatives, Subcommittee on Courts, Intellectual Property and the Administration of Justice, of the Committee on the Judiciary(March 5, 1990).
Pamela Samuelson,"Benson Revisited: Should Patent Protection Be Available for Algorithms and Other Computer Program-Related Inventions?" Emory Law Journal(Fall, 1990)1025〜1154.
Pamela Samuelson"Should Program Algorithms Be Patented?" Communications of the ACM(August, 1990): 23〜27.
Simon Garfinkel は「NeXTWORLD」誌 (San Francisco) の編集長で、「Practical UNIX Security」という本の共著者でもある。Richard M. Stallman は「League for Programming Freedom(LPF、プログラミング自由連盟)」(Cambridge、Massachusetts) の創立者の一人で、the Association for Computing Machinery の Grace Hopper Award の受賞者である。Mitchell Kapor は Lotus Development Corporation の設立者で「Electronic Frontier Foundation」(Cambridge、Massachusetts) の理事長を務める。
特許・商標部はコンピュータ科学の知的領域を細分化し、特許を申請すればどのような企業にもその細分化した領域を渡してしまっている。
最も効果的な行動は、ソフトウェア特許を許さないために特許法を改正するように議会へ働きかけることである。