JavaWorld DAY 2006:Googleのキーマンが語る「オープンソースとソフトウェアの未来」
今日、オープンソース・ソフトウェア(OSS)はソフトウェアの提供形態として広く普及している。このOSSをひと言で言い表せば、「ソースコードが公開されている(オープンにされている)ソフトウェア」となる。だが、これはOSSの一面を表しているにすぎないとスタイン氏は言う。
「OSSに関して真に重要なのは、それがどのような形態で提供されているかということだ。すなわち、ライセンス形態が重要である」
スタイン氏によれば、ソフトウェアのライセンス形態には、[1] プロプライエタリ、[2] 制限付きのソース・コード公開、[3] コピーレフト、[4] ノン・コピーレフト、の4種類がある。
このうち[1]は、従来からある商用ソフトウェアのライセンスだ。このタイプのライセンスでは、コンパイル済みのソフトウェアのみが提供され、ソースコードは公開されない。当然、ユーザーが改変するのは不可能だ。
また[2]は、一部条件付きでソースコードが公開されるライセンスである。ただし、ソースの閲覧は可能だが、改変は許されない。マイクロソフトのShared Sourceなどがこのタイプに分類される。
[3]のコピーレフトは、GNUやMozilla、Eclipseなどで採用されているタイプのライセンスである。このうちGNU(GPL)の場合、ソースコードを改変した際には、その部分を含む全プログラムのソースコードを公開しなければならない。
一方、MozillaやEclipseが採用しているライセンスの場合、改変した部分の公開が求められる。いずれにせよ、オリジナルのソースコードに変更を加えたときには、それを公開しなければならない。
スタイン氏によれば、この点が、「特に企業の開発者にとって、大きな障害となっている」という。多くの企業は、ソースコードの公開を望まないからである。
このコピーレフトに対して、[4]のノン・コピーレフトでは、改変した部分のソースコードを公開する必要はない。このタイプのライセンスには、BSDライセンスや、ASFで採用されているApache Software License(ASL)などがある。
では、これら4つのライセンスのうち、最も「自由」が確保されるものはどれだろうか。その答えは「だれにとっての自由か」によって異なるが、こと「開発者」に関しては、[4]のタイプのライセンスが最も自由が確保される。その理由は、ソースコードを公開するか否かを、開発者が選択できるからである。そしてスタイン氏は、今後ソフトウェアのライセンスの多くは、[4]のタイプに徐々に移行していくと見ている。
![]() | |
ソフトウェア・ライセンスの未来について語るグレッグ・スタイン氏。オープンソースのバージョン管理ツール「Subversion」の開発者としても知られる |
「企業の開発者の多くは、ノン・コピーレフトのライセンスを求めている。このタイプのライセンスが最もフレキシビリティが高いからだ」
当然、Google自身も、ノン・コピーレフトのライセンスが望ましいと考える。実際、同社は現在、多くのOSSを利用し、また各種OSS開発団体を資金面などで援助するほかに、Google Codeを介して数多くのOSSを外部に提供している。
それらのOSSは、ノン・コピーレフトであるASLの下に提供されている。よって、Googleが提供するOSSを利用する開発者/企業は、そのコードを自由に改変し、自社の製品/サービスに組み込むことができる。
ではなぜ、GoogleはOSSを提供するのか。それらのOSSは、Googleの内部で開発されたもののうち、特に「今後、コモディティ化が進む」と判断された部分である。そうした部分は、自社内に抱え込んでいても仕方がない。OSSとして公開し、広く利用してもらおうというわけである。
そうしたOSSの多くは、Googleのサービスを利用するためのものだ。よって、開発社/企業らは、それらを用いて、Googleのサービスを利用するためのソフトウェアを自由に開発できるというわけである。
ノン・コピーレフト時代の商用ソフトウェア
それでは、ノン・コピーレフトへの流れが進む中で、今後ソフトウェアの提供形態はどう変わっていくのか。言い換えれば、どういったタイプの商用ソフトウェアが生き残るのだろうか。スタイン氏が提示したソフトウェアのタイプは次の2つだ。
1つは、いわゆる「ホステッド・サービス」である。このタイプのソフトウェアは、「サービス」として提供される。Googleが提供しているもの(無料/有料のものがある)や、MicrosoftのMSNが提供するもの、あるいはセールスフォースが提供するものなどがこれに該当する。つまり、ソフトウェアから直接的に対価を得るのではなく、それをサービスとして提供し、直接的/間接的に対価を得るわけである。
一方、直接的に対価を得られるソフトウェアとして、スタイン氏は「コンテンツ・リッチなソフトウェア」を挙げる。このタイプのソフトウェアの代表例は、ゲーム・ソフトウェアである。ゲーム・ソフトウェアのかなめは、そこに表現されたストーリーなどのコンテンツだ。ユーザーは、ゲームのプログラムそのものに対して対価を支払っているのではなく、そのストーリー(コンテンツ)を体験することに対価を支払っている。
また、別の例として、スタイン氏は税務処理を行うためのソフトウェアを挙げる。米国の場合、税務処理に関する制度が複雑で、また頻繁に変更される。こうした領域を対象とするソフトウェアは、それを専門に扱うプロフェッショナルでなければ作ることはできない。
「自分たちが作っているソフトウェアは、果たしてリッチなコンテンツを提供しているか、あるいは高い専門性を備えているか」——今後、商用ソフトウェアの世界で生き残っていこうと考える開発者/企業は、一度この点について自問する必要があるかもしれない。(名須川竜太/月刊JavaWorld)
JavaWorld DAY
http://www.javaworld.jp/jwday/
Google Code
http://code.google.com/
提供:Computerworld.jp