図 ネットワーク関連の主なオープンソースソフトウエア
図 ネットワーク関連の主なオープンソースソフトウエア
[画像のクリックで拡大表示]

 ネットワークとオープンソースは、切っても切れない関係にある。まず、インターネットは多くのオープンソースソフトウエアによって支えられている。オープンソースソフトウエアなくしては、インターネットは動かないのだ。インターネットの技術に基づいた企業ネットワークも同様である。逆に、現在のような多様なオープンソースソフトウエアを育てたのはインターネットであるとも言える。

 オープンソースとは、ひとことで言えばソースコードが公開されていること。つまり、ソースコードが公開されているソフトウエアがオープンソースソフトウエアである。

 ただ、さらに厳密な定義をするケースもある。例えばオープンソースソフトウエアの普及推進を進めている非営利団体の米Open Source Initiative(OSI)は、オープンソースの定義を公開している(日本語訳は、http://www.opensource.jp/osd/osd-japanese.html)。そこではソースコードの公開だけでなく、(1)再配布や改変を妨げない、(2)特定の個人やグループを差別しない、(3)特定の製品やインタフェースに依存しない―─ことなどを条件としている。ちなみにオープンソースソフトウエアは無償だと思われることも多いが、必ずしもそうではない。有償で販売することも可能だ。

 インターネットを動かしているオープンソースソフトウエアは多岐にわたる(図)。Webサーバーとして最大のシェアを持つApache HTTP Server、DNSサーバーとして最も普及しているbind、メールサーバーの代名詞であるsendmail、サーバーOSの定番となっているLinuxなどが挙げられる。運用管理に役立つオープンソースソフトウエアも数多い。ネットワーク監視ツールのMRTGやNagios、迷惑メールフィルターのSpamAssassinなどはデータセンターなどでも使われている。

 インターネットの草創期のころ、新しいプロコトルが提案される際には、仕様とともに参照実装としてプログラムがソースコードと一緒に公開されることが多かった。そのことが、インターネットの基盤となるソフトウエアにオープンソースソフトウエアが多い大きな理由となっている。

 さらにその文化が、インターネット上で多くのオープンソースソフトウエアを生んだ。インターネットで世界中の技術者がプログラムを共有でき、自由にコミュニケーションできるようになったことで、コミュニティーによるオープンソースソフトウエア開発が加速した。

 最近ではWebブラウザーのChromeや、スマートフォンなどに組み込まれるOSのAndroidを公開したグーグルのように、自社の製品やサービスを普及させるためにオープンソースソフトウエアを開発する企業も増えてきた。ネットワークにおけるオープンソースソフトウエアの存在はますます大きくなりそうだ。