オープンソースって何よ?

作成 2003/10/22

対話型 わかるオープンソース

ここでは、オープンソースって何だろう?というのをお気楽に説明します。

登場人物

パー君 入社1年目のJavaエンジニア。まだまだ分からないことだらけ。
プー先輩 パー君と同じチームのベテランSE。昔シェアウェアを作ったこともある。

オープンソースって何?

パー君 プー先輩。今暇だろ?
プー先輩 パー君、人をつかまえて暇はないかな。心に余裕をもって働いているんだよ。
パー君 暇ついでに、ちょっと教えろよ。
プー先輩 人にモノを聞く態度じゃないなぁ。でも何だい?
パー君 最近、「オープンソース」ってよく聞くんだけど、それっていったい何なのさ?
プー先輩 ほう、最近勉強熱心だね。パー君はなんだと思う?
パー君 オープンというからには「ソースが公開されている」ってことかなぁ?
プー先輩 うん、なかなか勘がいいね。付け加えると、公開されたソースを「誰でも自由に改変できる」っていうのがオープンソースなんだ。「誰でも」っていうのは、つまり企業や個人で差別をせずってことで、「自由に」っていうのは、基本的に無償でってことなんだ。
パー君 へぇ。じゃあ、俺様がオープンソースのソースをちょこっと変えて、俺様のプログラムにしちゃってもいいんだ?
プー先輩 パー君。プログラムには、「著作権」というものがあって、勝手に人のプログラムを使いまわしてはいけないことになっているんだ。オープンソースと言っても、ソースのライセンスは守って使わないとね。
パー君 でも、そんなの実際分からないじゃん。つかまらなければ犯罪じゃないよ。
プー先輩 パー君、それはソフトを作る人の言う言葉じゃないなぁ。ただ、実際、ソースの複製をどうやって、どのレベルまで規制するか、そもそも規制できるか、っていうのは難しいところだね。
パー君 ところで、フリーソフトというのとオープンソースは違うの?
プー先輩 無料という意味で、フリーウェアと言う場合はちょっと違うものだね。
パー君 オープンソースと価格は関係ないの?
プー先輩 一般にオープンソースは「無償」だけど、無料だからオープンソースと言うわけではないんだ。日本では、無料のソフトをフリーソフト、使用料金を払うソフトをシェアウェアという風に呼ぶ場合が多いけど、最近使われるオープンソースという言葉とは少し異なるんだ。
パー君 なんだかよく分からないなぁ。
プー先輩 まあ、OSIという団体でもオープンソースの定義もされているけど、その定義に完全に則っていなくてもオープンソースと言われているものもあるし、パー君は、とりあえず、誰でも自由にソースを閲覧、改良できるのがオープンソースって思っておけばいいんじゃないかな。
パー君 あ、馬鹿にしてるだろ?

有名なオープンソース

プー先輩 ところで、パー君はオープンソースにはどんなものがあるか知ってるかい?
パー君 そうだな。Windowsとか?
プー先輩 全然違うよ。一部ソースを公開する動きもあるけど、それも閲覧だけだし。
パー君 じゃあ、秀丸?
プー先輩 それも違うかな。
パー君 冗談だよ。Linuxとかでしょ。
プー先輩 そうだね。Linuxはオープンソースの代表格だね。Apache、SendMail、Bindといったサーバソフトもオープンソースだね。
パー君 それだけ?
プー先輩 DBではMySQLやPostgreSQL、ブラウザではNetscapeから生まれたMozilla、言語では、PerlやRubyなど。ちなみにRubyは日本人の人が開発したんだよ。
パー君 そんなこと聞いてないよ。
プー先輩 そ、そうかい。。。最近では、EclipseやGlobusといったものもオープンソースだね。
パー君 へぇ、いろいろあるんだね。
プー先輩 オープンソースプロジェクトを支援している、sourceforgetigrisなどを覗くと、オープンソースのソフトウェアが星の数ほど見つかるよ。
パー君 星の数っていくつ?
プー先輩 そんなつっこみはいらないよ。あと、Java関連で言えば、TomcatなどのJakartaプロジェクトのプロダクト、JBossなどもオープンソースだよ。
パー君 へー、ところでJava自体はオープンソースじゃないの?
プー先輩 Java言語自体はJCPというプロセスを経て作られるけど、オープンソースではないんだ()。
パー君 そういうものですか。
プー先輩 あ、そうそう、忘れてはいけないのが、GNUのソフトウェア。Linux上で動くソフトウェアの多くはGNUのソフトウェアなんだけど、これも一般にオープンソースと言われることが多いんだ。ただ、GNUの場合は、ライセンスがGPLと言って、最近の商用利用しやすいオープンソースとはちょっと一線を画しているね。ちなみに、GNUを作ったストールマンは、オープンソースでなく、フリーソフトという言葉を使っているけど、このフリーは無料ではなく、自由という意味なんだ。
パー君 そんな人知らないよ。

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

プー先輩 オープンソースのソフトウェアを使う場合に注意しなければいけないのがライセンスだ。
パー君 昔、マーダーライセンス牙って漫画があったなぁ。で?
プー先輩 例えば、FreeBSDのBSDライセンス、ApacheのASFライセンス、EclipseのCPLといったライセンスは、比較的、再配布の条件が緩く、商用利用しやすいんだ。
パー君 再配布って何だ?
プー先輩 オープンソースのプロダクトを利用して作った新たなプログラムを配ったり売ったりすることだよ。例えばASFでは、「ASFを使っています」と明記していれば、新たに作ったプログラムを公開しなくてもいいんだ。
パー君 ふーん。
プー先輩 ところが、GNUのGPLというライセンスでは、再配布時には必ず、ソースを公開しなければいけないんだ。つまりGPLのソフトウェアを利用したソフトウェアはGPLになるんだ。
パー君 朱に交われば赤くなるって感じだね。でも、公開しちゃえばいいじゃん?何かまずいの?
プー先輩 企業にとってお金をかけて作ったプログラム、ソースというものは、とても貴重なものなんだ。それを公開してしまうと、簡単に他の企業が同じものを作れてしまうので、企業にとってはソースは死活問題なんだ。
パー君 でも、最近は企業が作ったソースを公開して、オープンソースの団体に寄贈したりしてるんでしょ?
プー先輩 そうだね。一前昔では考えられなかったけど、そういう動きが最近盛んだね。企業がオープンソースに投資するのは、それなりの思惑があってやっているんだ。

企業がオープンソースに投資するわけ

パー君 それはどういう思惑でございましょう?
プー先輩 いくつかの理由があるけど、一つは、製品や仕様を「広める」ためだね。どんないいものを作っても、誰も使ってくれなければ意味がない。オープンソースにすることで、興味を持った企業や開発者が、すぐ評価することができるんだ。さらに、多くの企業や業界の利用者からのフィードバックを受けることで、様々なニーズをくみ上げることができるんだ。ある意味みんなにデバッグしてもらうようなものだね。
パー君 ふーん。でも、それって評価版でいいんじゃない?
プー先輩 単に使うだけじゃなくて、ソースの内部やアーキテクチャを含めての意見が集まるんだ。さらに興味を持った優秀な開発者に参加してもらえば、ソフトウェアがより洗練されるんだ。
パー君 でも、寄贈しちゃったらお金を儲けることができなくなるんじゃない?
プー先輩 いや、そうでもないんだよ。基盤となる部分をオープンソース化して、より専門的な部分や高度な仕組みを商品として提供するんだ。例えば、ApacheやTomcatはオープンソースだけど、それだけでなくクラスタリングやフェールオーバーなどの付加価値、差別化を行って販売するんだ。あるいは、基盤の開発ツールとしてのEclipseはオープンソースだけど、それにエンタープライズ機能や様々なプラグインの付加価値を付けて売るんだ。
パー君 それってIBMの例ばっかじゃん?
プー先輩 まあ、有名どころだからね。でもそうやってクオリティーが高まり、ユーザーが増えてデファクトになってる分、いくらかお金を出しても使いたいってお客さんは増えるってものだよ。
パー君 うーん、もうひとつピンとこないけどな。
プー先輩 そうだなぁ。別の方向から考えると、例えば一つの企業だけで研究開発の投資をするより、オープンソースにして複数の企業や開発者みんなの持ち物にしてしまった方が結果的には、みんなの得になるという考え方もあるね。この前読んだ本では、橋の例えで紹介されていたよ。自分の店の前に小さな橋をそれぞれがかけるより、みんなで大きな橋をかけた方がお客さんが増えて街も繁栄する。もちろん自分の店もね。
パー君 なんだ、受け売りかよ。でも、小さな橋なら店の前にあれば立地条件だけで客が入っても、大きな橋になると、特色のないお店はつぶれちゃうんじゃない?
プー先輩 技術力やサービス、ブランドなどの売りがないと競争には勝てないかもね。でも、大きな橋がかかることで、小さいお店でも、アイデア次第で、戦う余地があるってことだよ。自分で橋をかけなくてもいいんだもの。あとは、どこに橋がかかるかを見越して早いうちにいい場所に出店しておくことが大事だよ。
パー君 なんか、だまされてるような気もするなぁ。
プー先輩 あと、オープンソースを商売にしているところでは、ディストリビューションというのもある。これは、例えば、Linuxに対するRedHat社の取り組み方なんだけど、Linuxに可用性や堅牢性を付加したパッケージを販売するんだ。その他に、マニュアル、サポート、教育事業も含めてそれなりに成功しているらしいよ。
パー君 俺はあの帽子が嫌いだよ。

開発者がオープンソースプロジェクトに参加するわけ

パー君 ところで、オープンソースに参加する開発者っているのは、何がうれしくて参加するの?
プー先輩 これもいろんなタイプの人がいるだろうけど、基本的には、作りたいもの、興味があるものを作る、っていうモノづくり自体の楽しさだろうね。
パー君 でも、タダ働きなんでしょ?
プー先輩 そうだね。でも、仕事で作りたいものを作ってる人っていうのはほんの一握りの人だと思うんだ。そういう人たちはボランティアでもやりたい開発が出来るっていうのは大きなモチベーションになるんじゃないかな。
パー君 わかるような分からないような。俺様はプログラムより合コンしてた方が楽しいよ。
プー先輩 まあ、中には会社に認められた業務の一環として、オープンソースの研究や開発に携わっている人もいるけどね。あとは、開発者としては、自分のスキルアップやステータスにもつながるんじゃないかな。
パー君 ふーん、じゃあ、俺様も明日からオープンソースに派遣してくんない?
プー先輩 。。。あとは参考資料を読んで勉強してください。

補足、メモ

※著作権だっけ?

※Javaはがオープンソースでない理由は?

参考

オープンソースと政府
http://oss.mri.co.jp/

Open Source Initiative OSI
http://www.opensource.org/

The Cathdral and the Bazaar Japanese(伽藍とバザール)
http://cruel.org/freeware/cathedral.html

GNU プロジェクトの思想 - フリーソフトウェア財団(FSF)
http://gnu.j1b.org/philosophy/philosophy.ja.html

オープンソースソフトウェア
http://www.oreilly.co.jp/BOOK/osp/

@IT 「オープン」の正体(前編、後編)
http://www.atmarkit.co.jp/fjava/devs/redge21/redge21.html

IT@RIETI 経済産業研究所
「オープンソースソフトウエアの利用状況調査/導入検討ガイドライン
http://www.meti.go.jp/kohosys/press/0004397/

書籍

フリーソフトウェアと自由な社会

オープンソースがビジネスになる理由


Top