
第33号(2009年6月)
記事:なぜ、ソフトウェアはオープンソースでなければならないのか?
かつてオープンソースは1つのトレンドだと言われる事もありましたが、一過性の流行で終わることなく、なお盛り上がり続けています。
一方で、レッドハットはソフトウェアがオープンソースであることにこだわり続けてきました。
今号では、読者の皆様にオープンソース界隈の情報をupdate頂くと共に、企業環境における新たなオープンソースの活用方法について触れていきたいと思います。
● オープンソースソフトウェアとは?
オープンソースの話の前に、そもそもオープンソース、また、オープンソースソフトウェアとは何か再確認しておきたいと思います。
良くある誤解が次のようなものです。
× 無料で利用できるソフトウェア
× ソースコードが公開されているソフトウェア(不十分)
正しくは、
オープンソースソフトウェアとは、オープンソースライセンスが適用されたソフトウェア、のことです。
Open Source Initiativeによってオープンソースはきちんと定義されており、オープンソースライセンスとして認定されたライセンスがあります。
オープンソースの定義は以下のサイトで参照することができます。ぜひ、一度は読んでみて下さい。
オープンソースのソフトウェアが満たすべき10個の基準を明確に記述しています。
http://www.opensource.org/docs/definition.php
http://www.opensource.jp/osd/osd-japanese.html(八田氏による参考訳)
認定されたオープンソースライセンスの一覧
http://www.opensource.org/licenses
レッドハットでは、オープンソースの主旨をよりわかりやすく伝えるために次のように案内しています。
『オープンソースソフトウェアとは、開発・参加の自由、改変・再配布の自由がライセンスで保証されたソフトウェアです』
● オープンソースの情勢
先述したOSIのライセンス一覧によれば、現在66のライセンスが認定を受けています。
かつてオープンソースを否定し続けてきたベンダを含め、非常に多くのソフトウェアベンダが自社のポリシーに合致するようオープンソースライセンスを作成している様子が伺えます。
この一覧を眺めるだけでも、時代の移り変わりを感じることができると思いませんか?
sourceforge.netのプロジェクト数も現在では15万を突破しており、ユーザ開発者は200万人とも300万人とも言われています。
むしろ2000-2003年頃までは開発者数○人突破!というニュースや研究が盛んでしたが、最近では完全に定着してしまったためか、規模のような単純なデータが話題にならなくなったようです。
その意味では、先日レッドハットもプレス発表しましたが、オープンソースをどのように活用しているか、どの地域が活発か、というようなもう少し深い領域に関心が集まっているように思います。
レッドハットのプレス発表:全世界のオープンソース活動と発展に関する研究を発表
http://www.jp.redhat.com/news_releases/2009/04212009.html
次に、コミュニティの成果物であるソフトウェアにフォーカスしてみましょう。昨年の、kernelのソースコードが1000万行を超えたというニュースはまだ記憶に新しいかと思います。
ドキュメントやコメントを除いた実際のソースコード量は約800万行ですが、膨大なコード量です。
余談になりますが、Advanced Platformで提供している全てのパッケージの全コードを合算すると4億行を超える量になります。果てしない量ですね。
さて、この途方もないコードを開発しているのは誰なのでしょうか?kernelパッチに関する統計を以下で見ることができます。
Linux Kernel Patch Statistic
http://remword.com/kps_result/
日本企業の名前が沢山あるのは単純にうれしいですね。眺めていると様々な発見があるので、覗いてみてはいかがでしょうか。
● より良いライセンスが、より良いソフトウェアを作る
先ほどのKernel Patch Statisticからわかることが2つあります。
・ベンダーロックインからの開放
・ソフトウェアの高い継続性
・多数のエンジニアの参加
kernelは特に顕著な例ですが、多くの企業が参加していることから1社によるソフトウェアの支配は不可能であることは明確です。
そうは言うものの、あるオープンソースソフトウェアが、実はほぼ1社によって作成されていたということは特段珍しい事ではありません。
しかし、オープンソースである限り、R&Dがopenであるあることはライセンスで保証されていることから、独占的な支配を行使することはできません。
また、kernelの例では多数の企業が参加しているため、(企業として一番大きな影響力を持つ)レッドハットが消滅した場合でも、linuxが消滅することはありません。
ミクロな話をすると、ユーザとエンジニア(メンテナ)が存在する限り、オープンソースのソフトウェアは消滅することはありません。
ライセンスで開発・改変・再配布の自由が保証されているからです。
つまり、企業買収やその他、およそ技術と関連のない世界の事であれば、オープンソースは文字通りソフトウェアとテクノロジー、そしてユーザとエンジニアを保護します。
この高い継続性が今、企業の高い注目を集めています。
つまり、技術の陳腐化といった観点とはまた異なる、投資が無駄にならない(消滅しない)ソフトウェアは何か?という観点です。
続いて、開発に参加したエンジニア数に注目してみます。
以下の図は、2005-2009年にkernel開発に参加したエンジニアをグラフにまとめたものです。
縦軸が、全changesetを100とした時の完成度です。横軸がエンジニアをchangesetの量でソートし並べた時の人数です。
横軸の0に近いエンジニアと5116人目のエンジニアはchangeset(作業量)が大きく異なることに注意してください。
図:2005-2009年にkernel開発に参加したエンジニア
全体の50%の達成度に必要なエンジニアが108名。
全体の80%の達成度に必要なエンジニアが444名。
残り20%の作業分に必要なエンジニアは、5116名。
これは驚くべき数字です。108名いれば全体の50%作れるのなら、200名いれば完成しそうな気がします。
しかし実際は、残り20%の完成度のために最終的に5116名ものエンジニアが必要だったのです。
このように複雑化、大規模化したソフトウェア開発では、必要なエンジニア数が爆発的に増加することがわかります。
周知のように、現在の企業ソフトウェアは益々複雑化、大規模化しており、これは全エンジニアを自社で持たねばならないプロプライエタリ開発の限界を示唆しています。
R&Dを開き、共有と協力こそが力となって、ソフトウェアは次のステージに進んでいくのかもしれません。
● 企業環境にオープンソースのイノベーションを適用する
オープンソースコミュニティのイノベーションをサブスクリプションとして企業環境にお届けするのがレッドハットの1つのミッションです。
オープンソースの活用の仕方として、例えばサブスクリプションのようなサービスを利用する、というのは最近ではかなり一般的になったように思います。
特に最近においてですが、この活用の仕方に変化が起き始めています。
それは企業がレッドハットを通じて、コミュニティとコラボレーションする、というものです。これはユーザが開発に参加するという意味で大きな変化です。
例えば、あるオープンソースソフトウェアの1コンポーネントに強い関心があり、機能を追加したいと思っている企業があるとします。
この企業は次のような選択肢を持っています。
・機能をあきらめる/違う方法を模索する
・機能追加をレッドハットにリクエストする
・機能を実装し自らメンテナンスする
更に以下を、現実的な解として検討し始めています。
・機能を実装し、オープンソースコミュニティに還元する
もちろんアップストリームが受け入れるかどうかは全くの別次元の問題として存在しますが、新規開発分を自らメンテナンスする必要がなくなるのは非常に魅力です。
アップストリームとしても、魅力的な機能であれば大いに歓迎されるコントリビュートになります。
企業として、この新規開発分にかかる自社費用を『コスト』とするか『投資』とするかは意見の別れるところだと思います。
レッドハットは以前から継続的に、ユーザをベンダーロックインから開放しベンダが握る『コントロール』をユーザが取り戻すことを推進してきました。
ユーザ企業とコミュニティによるコラボレーションは、まさに1つのイノベーションだと思います。
かつて、ベンダがビジネスの一環としてオープンソースに参入を開始した時に感じた波と同じ、その予兆を感じずにはいられません。
レッドハットは今後もユーザ、コミュニティと共に、コラボレーションを推進していきます。
レッドハット株式会社
ソリューションアーキテクト
内藤 聡
コラム:やっぱり7月も近づくと七夕のネタで
最近新しい祝日や祝日の新ルールが導入されて、すっかり年中行事がわからなくなっておりますが、もうすぐ七夕ですね。
七夕といえば短冊の願いごとと、織姫と彦星のお話ですよね。
離れ離れの二人が年に一度だけ、会うことができる・・
と、ロマンチックな感慨に浸っておりましたがちょっと待て。
そもそもこの伝説、天帝の娘である織女が、働き者の牽牛という牛飼いの若者と身分違いの恋におち、
天帝に認められて結婚したものの、あまりの結婚生活の楽しさに二人はまったく仕事をしなくなり、怒った天帝が天の川で二人を引き離したのがオリジナル。
仕事を忘れる程の甘いケッコン生活を羨むべきなのかもしれませんが、一年に一度しか会えないくらいぐうたらになってしまう二人って。一体。
なんてことを考えながら、ぜひ7月7日には、夜空を眺めてみてください。
レッドハット株式会社
(つ)
レッドハット株式会社/ニュースレター編集部