コラム21.  :オープンソースって何?

オープンソースという考え方

かつて、コンピュータのソフトウェアは、フロッピーディスクやCD、DVDなどに焼き付けて、「1ライセンスいくら」という感じでパッケージ売りされているのが普通でした。当然ながら、そういったソフトウェアのソースコードは公開されていませんでしたから、ほしければそういうソフトを購入するか、自分で作るか…という方法しか存在しませんでした。

そのため、ちょっとしたソフトウェアを購入するためにもかなりのお金がかかり、コンピュータは高いハードウェアを購入した上に、やはり高価なソフトウェアを別途購入しなければまともに動かせない…という、いわば「金食い虫」的な存在でした。

しかし、これに真っ向から反発する考え方が存在し、現在大きな成功をおさめています。それが、「オープンソース(open source)」という考え方です。これは、文字通り、ソースコードをオープンにする、つまり公開するという考え方で、ソースコードを一般に公開し、誰でも自由に扱ってよいとする考え方であり、その考え方で作られたソフトウェアもまた、そういわれています。

なぜ、オープンソースにするのか?

そして、オープンソースとして公開されたソフトウェアは、インターネットなどで公開され、誰でも簡単に入手でき、その上無償で自由に使用、複製、改変、再配布した上に、自ら開発したプログラムへの組み込みなどを行なうことが可能です。

現在、一部の商用ソフトウェアを除き、非常に多くのソフトウェアがこのオープンソースによって公開されています。有名なところでは、OSのLinux、Cコンパイラのgccなどがあります。しかし、いったいなぜこのようなことが可能になるのでしょうか?そもそも、誰にメリットがあるのでしょうか?

ソフトウェアがオープンソースになると、そのソフトウェアを使いたい世界中の多くの優秀な開発者によってデバッグ・改良がおこなわれるため、商用ソフトウェアと比べてエラーが少ない上に、どんどん性能アップされるソフトウェアが生まれます。

そして、現在のIT業界は、かつてのようにソフトウェアをパッケージとして売ることにより収益をあげる、というスタイルから、こういったオープンソースのソフトウェアを上手に活用してソリューションを提供したり、サービスを提供したりすることをメインとするスタイルに変わってきていることから、ソフトウェア自体はオープンソースでどんどん改良されていくほうがむしろ都合がよいのです。

オープンソースのライセンス

とはいえ、オープンソースにまったくライセンスがないわけではありません。通常、オープンソースのプログラムやソフトウェアは、「オープンソースライセンス」(open source license)と総称される利用許諾契約に基いて公開されているのが普通です。

非営利団体のOpen Source Initiative(OSI)という団体によって、「Open Source Definition」(OSD:オープンソースの定義)と呼ばれる10箇条から成るガイドラインを発行されていて、これを満たしたものがオープンソースライセンスというのが現在の主流の考え方です。

現在の代表的なライセンスを上げると、GPL(GNUパブリックライセンス)やBSDライセンス、Apacheライセンス、MITライセンス、MPL(Mozillaパブリックライセンス)などがあげられます。

プログラマーにとってのオープンソース

このオープンソースをプログラマーの視点から見てみると、「良質なソースコードの宝庫」ということが言えるでしょう。

考えてみれば当たり前のことで、オープンソースのソースコードは世界中の優秀な開発者たちが、寄ってたかって開発に参加しているのですから、その成果物は半端な商用ソフトウェアなどに比べても良質なソースコードであるのは、ある意味あたりまえであると言えるでしょう。

そのため、プログラミングがある程度できるようになり、もっとプログラミングの腕を上達させたい、より良質なソースコードを書けるようになりたい…というプログラマーは、ぜひともこういったオープンソースのソースコードを読んてみることをお勧めします。

特にC言語に関しては、Linuxのカーネルや、関連するソフトウェア・プログラムのソースコードをじっくり読んでみるとよいでしょう。きっと、世界中のすぐれたプログラマーたちから、多くのノウハウを学ぶことができるいことでしょう。