お使いのブラウザは最新版ではありません。最新のブラウザでご覧ください。

CNET Japan ブログ

オープンソースとクローズドソース

2004/06/07 08:53
  • このエントリーをはてなブックマークに追加

プロフィール

umeda

シリコンバレーで経営コンサルティングを行なう傍ら、ベンチャーキャピタリストとしても活躍する梅田望夫さんが、IT業界の先を読むのに役立つ英文コンテンツを毎日紹介していきます。これを読めば、英語と業界動向を読む力が同時に身に付くはず(このブログの更新は2004年12月30日で終了しました)。
ブログ管理

最近のエントリー

学会誌「ACM Queue」の特集はこれまでにも何回か取り上げてきたが、最新号はオープンソース特集

1つ前の号はサーチ特集と、とてもいい仕事をしてくれている。

最新号オープンソース特集の巻頭言は「Open Source Revisited」である。

「In our first open source theme issue last year (ACM Queue 1(5), July-August 2003), we focused on business issues such as using open source software as a basis for a commercial product. We knew that this was an important topic, but predicted that many of our readers might find it boring. We were wrong. That issue remains among the most responded-to issues of Queue to date. So with that response, we are revisiting the open source theme.」

ACMでは2003年夏に、ビジネスイシューにテーマを絞ったオープンソース特集をやった。重要なテーマだが読者には退屈かなと予想していたが、実際は、それまでで最も反響の多い特集となった。よってRevisitすることにした、とある。まだすべての記事や論文がアップされていないようだが、これから順次アップされていくはずだ。

BSDの開発に関わったSam Leffler

今日はこの特集の中から、「A Conversation with Sam Leffler」を取り上げる。Sam Lefflerの経歴は、

「The seeds of Unix and open source were sown in the 1970s, and Sam Leffler was right in there doing some of the heaviest cultivating. He has been actively working with Unix since 1976 when he first encountered it at Case Western Reserve University, and he has been involved with what people now think of as open source, as he says, "long before it was even termed open source."

While working for the Computer Systems Research Group (CSRG) at the University of California at Berkeley, he helped with the 4.1BSD (Berkeley Software Distribution) release and was responsible for the release of 4.2BSD. He has contributed to almost every aspect of BSD systems, most recently working (again) on the networking subsystem.

After his time at Berkeley, he ended up at Lucasfilm and Pixar, where he mostly did computer graphics. He then joined Silicon Graphics, where he worked on everything from operating systems to UI toolkits. He created one of the first host-based laser-printer systems, which eventually became a Silicon Graphics product. Later Leffler moved over to VMware, before striking out on his own as an independent consultant, focusing on system design.」

とあるように、1976年からUNIXに関わりを持ち始め、UCバークレイで4.1BSDから関与して、4.2BSDのリリースに責任を持ったとある。その後はLucusfilmとPixar、シリコングラフィックスを経て、VMwareへ転じた。BSDの変遷については、4.2までと4.3以降の変化について、こんな述懐がある。

「There was the period of time where I was at UC Berkeley with Bill Joy [who went on to found Sun Microsystems] and we were funded by DARPA [Defense Advanced Research Projects Agency]. The source code was licensed and available only to licensees. The reach of the community was smaller and the focus was very different. After I left, after 4.3, and they started working on 4.4BSD, the focus changed quite a bit toward trying to eliminate the source code licensing and make it open.」

オープンソースとクローズドソースの違い

さて、今日特にご紹介したいのは、5章立てインタビューの第2章「Comparisons」である。まずインタビュアーは、

「It's always interesting to compare an open source development model with a closed- or proprietary-source development model. Do you think that the model that exercises more control or keeps things more closed is going to yield higher-quality software?」

こんなふうに、オープンソース対クローズド(proprietary)ソースの違いを尋ねる。コントロールを強くしてより閉鎖的にしたほうが、質の高いソフトができるのかと。

Sam Lefflerの答えは、

「I really don't think it's the model per se that decides the quality. As in everything, it comes down to the people. The quality of the product is a reflection of the people. But you still need someone or some group of people that coordinates and architects, that makes decisions that steer projects in the right direction, that ultimately decides or defines how good a result you get.」

ソフトウェアの質は、オープンかクローズドかというモデルによって決定されるのではなく、すべては人に依存する。全体調整(coordinates)、アーキテクチャ設計(architects)、正しい方向にプロジェクトを導く意思決定(makes decisions that steer projects in the right direction)、そして最終的にどのくらい素晴らしいものに仕上げるかの目標定義(ultimately decides or defines how good a result you get)が、ソフトウェアの質を決定する人的要因と、彼は考えているようである。

「Berkeley, we were a very small community. All of the people who contributed were on the same wavelength. They knew the direction and the goals. I think that was the ultimate reason why the quality was so good.」

バークレイ時代を振り返り、少人数のコミュニティが方向性とゴールを共有したことが、ソフトウェアの質を高めた絶対的要因だったと言う。このあたりはビル・ジョイがサンを辞めたときに語った言葉、

「I've always said that all successful systems were small systems initially. Great, world-changing things - Java, for instance - always start small. The ideal project is one where people don't have meetings, they have lunch. The size of the team should be the size of the lunch table.」(本欄2月16日「ビル・ジョイが語るITの未来」で引用した)

と相通ずる考え方である。次のフレーズが、昨今のソフト開発に関するベテランである彼ならではの感想だ。若いプログラマーたちは、果たして違う感想を持つだろうか。

「I'm not trying to say that the old days were better. But today, things work differently, and you see a lot more of an anarchic environment. There are good aspects to it, as well as negative. One negative aspect is that you get more burnout from people who get frustrated watching others do things that you wish they hadn't done.」

昔がほうが良かったと言うつもりはない。でも物事は全く違ったやり方でワークするようになった。いい面もあれば悪い面もある、と前置きした上で、彼は、最近のあり方を「anarchic(無政府的) environment」と呼び、人々が、他人のやることを見て苛立ち精神的ストレスをためるようになったことを、1つの典型的な悪い点として指摘する。そしてこの傾向は、オープンソース、クローズドソースの両方で見られると言い、両者についての実例をこう語る。

「When I was at Silicon Graphics, there were quite a few people working on the operating system. At a company where lots of people are involved, you tend to have senior people and junior people, and you get some frustrations here and there. In a commercial environment, there is more of a review process and more of a responsibility, so when there's a bug in the system, people know who did it.」(クローズドの世界)

「In the open source community, if you do something and people would like to talk to you about it, you can vanish. It's kind of hard to disappear when your cubicle is sitting down the hall.」(オープンの世界)

現代は良きにつけ悪しきにつけ、プロジェクトが巨大化した。大会社の中でもオープンソースコミュニティの中でも、プログラマーは玉石混淆となる。そこで当然のことながら、日々膨大なバグや問題が生成され続ける。そのとき、オープンソース世界では、へまをやった奴が知らん顔して消えちゃう(vanish)ことができるけれど、クローズドな世界ならば、消えていなくなることは難しい。そんな視点で彼は2つのモデルを比較する。

オープンソースプロジェクトに必要な精神的なタフさ

そしてそれほど難しいオープンソースプロジェクトの成功要因を、Lefflerは短い言葉でこう総括する。

「Wherever you find a successful project, you'll almost always find one or two key people who are really sharp and really have a handle on what's going on. They also tend to have a strong personality that either draws people to them or lends an air of trust that brings people in.」

1人か2人のキーとなる人が、本当にシャープ(鋭い、尖っている、はっきりした、賢い、頭の切れる、痛烈な、厳しい、辛い・・・、というような性格)で、プロジェクトで何が起きているのかをすべて掌握し、人々をそのプロジェクトに引き込む強いパーソナリティ、または、人々を誘う「信頼の空気」を醸し出す強いパーソナリティのいずれかの持ち主であること。成功はそこに依存するのだと彼は言うのだ。

なるほどなぁ。本欄のゲストプログをお願いした石黒邦宏さんと、先週ランチを食べながら色々なことを話していたら、彼は、

「オープンソースプロジェクトを主宰するのは、おそろしいほどの精神的なタフさが必要ですよ。だって、とんでもないことを言ってくる奴とか、変な言いがかりをつけてくる連中と、毎日強く対応していかなければならないから。本当にきついですよ」

と言っていたが、そのあたりに、オープンソースプロジェクトにおけるリーダーシップを考えるカギがあるのかもしれない。

さて最後に、吉岡さんの「未来のいつか/hyoshiokの日記」で、オープンソースの昨今についてこんなふうに書かれていたことは、以前に本欄でも簡単にご紹介した。

「Linuxカーネルの開発者を調べるためにソースコードを検索しメールアドレスをざっとみると、IBMとかHPとかぞろぞろ出てくる。最新のLinuxカーネルは、夜中にハッカーが楽しいからいろいろパッチを作っていると言うスタイルではなくて、IBMのプログラマがお仕事として給料をもらいながらパッチを作っている、とか言うスタイルで開発されているのが大半なのである。昨年Ottawa Linux Symposium http://www.linuxsymposium.org/2003/ というのに行ってきたのだが、発表者の所属で一番多かったのがIBMである。カーネルハッカーは企業に雇用されていてハックで飯をくっているのである。霞をくいながらハックしているのはすくなくともLinux Kernel開発コミュニティのなかでは少数のような気がしている。もちろん例外はいろいろあるけどね。」

このあたりについてインタビュアーはこうLefflerに尋ねた。

「Some well-known companies, such as Red Hat and IBM, employ and pay programmers to work on open source projects. Do you think that that is a good thing from the open source point of view? Do you think that's one way around the lack of available resources to keep some of these open source efforts going?」

それに対して、Lafflerはこの流れ、つまり、企業がオープンソースプログラマーを雇うことについては、諸手を挙げて賛成し、

「Absolutely. I think it's critical. There are people who are really capable of doing very high-quality work, but if they don't have a source of funding, then they cannot contribute. There's a good match in many ways between companies and these programmers, so that both the company and the open source community benefit.」

こう締めくくっている。今日は、このインタビューの第2章のみご紹介したが、Lefflerインタビューの後続章、また、このACM Queue最新号オープンソース特集の別の記事や論文も、興味のある方は是非どうぞ原文を当たってみてください。

※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。
運営事務局に問題を報告

最新ブログエントリー