未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

Linuxとgitを作ったLinus

誰でも知っていることだけど、LinuxというOSというかカーネルLinus Torvaldsが学生のときに趣味で作ったのがはじまりだ。それは1991年ころの話で彼が21歳の頃だ。個人の趣味で作ったものが、いつの間にかに世界中のコンピュータだけでなく、携帯や家電や様々な機械の制御に使われている。
Linus Torvalds - Wikipedia

1994年ころには、PCで動く個人向けOSとしては十分な機能を持っていた。Xもあるし、gccなどのコンパイラもあるし、GNU Emacsbashもあるので、ちょっとしたプログラムを作るには十分な機能を持っていた。
当時、勤め先のマシンはSunのワークステーションで仕事でLinuxを使う機会は全然なかったのだけど、自宅のPCにSlackwareのCDを入れてみたりした。日常的に使うことはなかったけど、1998年にOracleLinux版を出したので自宅のPCにインストールしてみたりした。
1998年はNetscapeが、そのブラウザのソースコードを公開したことで、オープンソースが突如として注目を集め、Eric Raymondの「伽藍とバザール」によってLinuxの開発方法論が明らかになった。
Linuxを作ったLinusは人前に出ることが苦手と言ってはばからないが、それでも1998年ころにはいろいろなところに呼ばれて話をしていたりした。
LinusLinuxを通して明らかにしたこと、それ以前は当たり前と思われていなかったことは、インターネットを利用したバザールモデル(ソフトウェア開発方法論)が有効でスケーラブルだということだ。オープンソースの開発において普通に行われている、早めのリリース、頻繁なリリースを大規模なプロジェクトで適用し、それが有効だということを示した。
それまでのソフトウェア開発に於いては、十分な計画と明示的な指揮系統が必要だと思われていたものが、計画もなければ、明確なプロジェクトリーダーもいないソフトウェア開発プロジェクトが成功しているという奇跡である。うまく行く筈がないプロジェクトがうまく行っているということが奇跡であった。
そして、Eric Raymondはその奇跡を「伽藍とバザール」というエッセイで記述したのが1997年である。ハッカー界隈では知られていたことを明確に言語化して、ハッカー以外のコミュニティというか一般社会に広く知らしめた。
情報を公開すると進化する。これを実証したのがLinuxのプロジェクトだ。
インターネットを利用して、あったこともなければ見たこともない人から送られてくるパッチをひたすらマージすることによって、すごいスピードですごいソフトウェアを作り上げていく。そのようなことがうまく行く筈がないというのが常識であった。その常識をとてつもない規模で否定したのがLinusでありLinuxであった。
そして2005年にgitを作る。分散コード管理システムだ。世界最大のオープンソースプロジェクトを支援するためにLinus自身が2週間ほどで作り上げた。
gitによって、自由にリポジトリをコピー(fork)して、ずんずん開発するというスタイルが一般化した。後にソーシャルコーディングという概念が生まれてgithubのようなサービスが登場する。コミュニティーによる開発が当たり前になる。
Linuxの開発方法論の発明と実証、そしてその分散開発を支援するツールとしてのgitの発明。Linusがこの20年で世界を変えた2つのすごいことである。
(第100回カーネル読書会での記念写真)
この二つの発明で、世界は変わった。それ以前とは全く違う世界が見えてくる。オープンソースの価値を世界に知らしめた意義は大きい。