ソフトウェア特許論争
ソフトウェアの特許
[編集]コンピュータとは、計算をする機械であり、現在ではパソコンや、制御用のマイコンなどにみられるように、社会で広く用いられているものである。コンピュータは、データを受け入れると、あらかじめ指定された処理操作に従って、記憶装置とプロセッサを用いた算術演算や論理演算を含む計算を行い、計算の結果を出力するように構成されている。
このデータ処理を実現するための「一連の動作を命令語群により記述したもの」が、機械語(オブジェクトファイル)である。この機械語からなるソフトウェアを記述するためには、プログラミング言語等により一連の動作を記述し、バイトコード方式やコンパイラ方式、あるいはインタプリタ方式等により機械語へ変換することがなされる。
これらのコンピュータプログラムは、基本的にはデジタル論理回路により駆動されるノイマン型コンピュータの原理に従って動作することから、国際特許分類(IPC)においては、「電気的デジタルデータ処理(G06F)」の観点に分類される。つまり、電気的なデジタルデータ処理による技術的な思想が、特許運用上の「ソフトウェア」である。
ソフトウェア工学の発達
[編集]1980年以前の特許の運用では、この機械語にかかるしくみを主に「ソフトウェア」と考えていたと推定され、国際特許分類(IPC)でも、専ら「電気的デジタルデータ処理(G06F)」に分類されてきたものである。したがって、機械語にかかるしくみを「ソフトウェア」と考えていた時代においては、「抽象的概念」と、「一連の動作を命令語群により記述したデータ処理のしくみ」は明確に区別可能であり、その対象物の表現の差異により、発明か否かが判断されていたと考えることができるであろう。
ソフトウェア工学の発達により、1990年頃の特許の運用では、徐々にプログラミング言語で書かれたプログラムを「ソフトウェア」と考えるように推移していったものと考えられる。その基本的思想においては、どのように動作するかを理解可能かつ再現可能に記載してあることが重要であり、対象物がどのような形態をしているかについては、特段の関心は払われなかった。しかしながら、ソフトウェア工学においては理論的もしくは技術的な思想であっても、その思想が、必ずしも電気的なデジタルデータ処理等を前提にしているものではない。たとえば、コンピュータのインタフェースの概念、あるいは、コンパイラの構文解析論やオブジェクト指向の概念などは、独立した抽象的な論理概念であり、その抽象的概念においては、必ずしもコンピュータにおける物理的な構成との関連性を前提としていない。また、このような抽象概念自体を分類するための国際特許分類(IPC)は存在していない。
ソフトウェア工学の発達は、低級言語から高級言語へと、より高度に抽象的な思考により、コンピュータを簡潔に操作可能にするための環境を提供可能にした。それに従って、従来の「ソフトウェア」の考え方は、徐々に抽象的な概念の世界へと対象領域が拡大されていった。また、GUIの発達により、描画領域の定義(アイコンやポインタ)、表示形式などのインタフェースが、コンピュータの主要な入出力手段になるに従い、これらのインタフェースの表示手法自体が重要な意味合いを有するようになってきた。このような技術的環境の変化にもかかわらず、特許の世界では、従来の分類手法や発明概念の把握手法を延長して適用することで、ソフトウェアに関する発明を受け入れようとしてきた。しかしながら、これらの手法は、そろそろ限界を迎えようとしている。たとえば、近年のシステムソリューションにおける基本的原理は、抽象的な思想領域に展開される概念的手法であり、旧来のソフトウェアによって把握される概念領域とは全く異質のものである。すると、どのようなことが起きるであろうか?発明者や経営者の思い描く「ソフトウェア」の世界と、特許の世界に住んでいる人の思い描く「ソフトウェア」の世界とでは、似ても似つかない概念が共有されることになろう。このように、当該問題は、世界中の特許システムが抱えている本質的な問題であり、また、根深い世代技術文化的な対立をも内包している。
「ソフトウェア」特許論争
[編集]近年のプロパテント政策により、このような矛盾が拡大していった結果、現在の「ソフトウェア」特許論争が生まれたものと考えることができる。一部の者は、オープンソース/フリーソフトウェアの推進に逆行するような特許が多く成立していることに憤慨している。