オープンな未来への旅は、どこで道を誤ってしまったのだろうか?また、未来のコンピューティングにおいてオープンソースの居場所はあるのだろうか?
昔々あるところに「オープンソースムーブメント」と呼ばれる活動があり、その提唱者たちはユートピアのような未来を思い描いていた。その未来世界では、コンシューマーや企業が、デスクトップOSにはじまりネットワークのルーティングソフトウェアにいたるまで、ありとあらゆるものを星の数ほどある無償製品のなかから自由に選択できるとされていた。さらに、そういったオープンソース製品にちょっとした改良を加えたり、特定の環境に適合させるための改修を施すことさえ自由に行え、そういった成果物は何の制約もなく、あるいはオープンソースコード特有の高尚な精神に由来する再配布合意条項に基づき、他者と共有することもできるとされていた。つまり、未来のコンピューティングは欲深い企業によって支配されるのではなく、才能と慈悲心にあふれたソフトウェア開発者によって統治されるようになり、オープンな標準を用いたオープンなネットワークを通じて、さまざまなオープンソースアプリケーションが自由にやり取りし合うという世界が実現するというわけだ。
しかし、こういったオープンコンピューティングの未来世界が実現する前に、奇妙な現象が起こったのだった。ベンダーもコンシューマーも一様に、クローズドなシステムに対してお金を払うことを選択し、しかも多くの場合に「クローズドであればあるほど望ましい」という態度をとったのである。Microsoftは、たびたび批判にさらされながらも、企業分野における支配的なコンピューティングプラットフォームの座を維持しつつ、デスクトップPCの世界にも君臨し、多数のデータセンターでもその製品が採用されている。また、近年になって重要性が高まりつつあるモバイル分野に目を向けると、業界のリーダーであるAppleはクローズドなシステムの申し子とも言える存在であり、ハードウェアやOS、アプリケーションの流通を厳しく統制している。さらに、クローズドシステム特有の苦しみからわれわれを救うはずのAndroidでは、Amazonの「Kindle Fire」が最も人気のあるタブレットとなっている。同製品はオープンスタンダードの模範というには程遠いものであり、Androidタブレットを大幅に改造し、Amazonの提供するコンテンツの販売に特化したものとなっている。オープンな未来への旅は、どこで道を誤ってしまったのだろうか?また、未来のコンピューティングにおいてオープンソースの居場所はあるのだろうか?
オープンコンピューティングにおけるスタックの問題
技術屋は「スタック」について語るのが好きだ。ここでいうスタックとは、何らかのコンピューティングアーキテクチャを話題にする際、アプリケーションやコンピューティングサービスを構成するさまざまなコンポーネントを低レベルから高レベルまでの階層に分類したものだ。例えば、アプリケーションによって使用される低レベルのネットワークプロトコルのことを指す場合もあれば、関連する開発ツールのことを指す場合もあり、アプリケーション自体を指したり、それに関連付けられたデータを指す場合もある。アプリケーションスタックのほとんどは、昔からオープンコンピューティングに支えられてきた。また、インターネットや大多数の企業ネットワークはTCP/IPというネットワークプロトコルによって支えられており、それがなければ人々は途方に暮れてしまっていることだろう。またウェブ自体も、ApacheやMySQLといったプロジェクトの名の下で開発されているオープンソースのデータベースやウェブサーバがなければ見る影もなくなってしまうはずだ。こういったサポートアプリケーションは、サービス全体で見ると必要不可欠なものであるが、現代におけるほとんどのアプリケーションを縁の下で支える便利な存在という扱いにとどまっている。平均的なユーザーであれば、仕事で知らず知らずのうちにApacheやMySQLサーバとやり取りを行っている可能性があるものの、こういったアプリケーションについて尋ねられた際には、ぽかんとした顔をすることも多いはずだ。