Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
155 lines (112 sloc) 18.6 KB

ファイル達の王: GitHub はいかにしてフリーソフトウェア(など)を手懐けたか

By Robert McMillan, Wired Enterprise

サンフランシスコ発 - マーケット通り南の気取った屋根裏オフィスに引っ越した GitHub の創業者一味の、最初の仕事は内装のやりなおしだった。 フロアで一番大きい部屋のひとつを重役室のパロディーに作り替えたのだ - 偽物の暖炉、豪華な革張りの椅子、スライドするとシングルモルトのスコッチが隠れている木製の地球儀をならべて完成。壁には猫の油絵。 ナポレオンの格好で、五本のタコ足がはえている。 猫は Octocat という。

ポイントは、これが重役室じゃないってことだ。 これはチームをまたいだミーティングルームで、誰が誰とくだを巻いても、仕事を片付けるのに使っても、ちょっと遊んだりしてもいい。 同じ時間にそういうことをしていていい。

「誰でもここに友達をつれてきてびっくりさせたり何だりをしていいんだ。」 CIO で共同創業者の Scott Chacon は言う。 見ての通り、 Chacon も CEO の Chris Wanstrath をはじめとする経営陣は誰も個室を持っていない。 共有の仕事場でコーダーの隣に座り、他の社員とモニターを並べ仕事をしている。LCD Soundsystem を聞きながら。音量はでかい。

1300 平方メートルにわたる GitHub のギーク至上なオフィスは、会社のミッションを反映している。 それは、コンピュータ・プログラミングの民主化だ。 GitHub.com はプログラマの Facebook にたとえるのが一番しっくりくる。 ネコ動画をアップロードするかわりにソフトウェアをアップロードするのだ。誰でもコードにコメントできるし、もっと良いものに作り替えてもいい。 ここでは誰もがこれまでにない権利を与えられ、プログラミングを民主化しているのが特徴だ。 GitHub はソフトウェアを書くそのやり方を揺るがしている。プログラミングを少しだけアナーキーに、もうちょっとだけ楽しく、そしてずっと豊かなものにしてみせることで。

そして、ソフトウェア業界はそのやり方が大好きだ。 GitHub は今や 130 万人のユーザーと 200 万以上のソースコードレポジトリを擁する。 たった二年前の八倍だ。サイトにあるコードのスニペットや Wiki ページも数えていいならレポジトリの数は 400 万以上になる。 二年前、 GitHub は 8 人からなるひとつのチームで、全社ミーティングをサンフランシスコのカフェでやるような会社だった。 それから成長し、 2011 の初めまでには 14 人の「ハブ飛行士(hubbernauts)」...GitHub 従業員は愛を込めそう呼ばれている...がいるまでになった。 その一年後には 57 人。 かつての人気者であるブログ企業の Six Apart を追い越した。 GitHub は急成長している。そしてベンチャー向けの出資はまだ一銭も受けていない。

一旦 GitHub について話を聞いたあとは、それをほとんどどこでも目にするようになるだろう。 あるときは有名どころウェブサイトのコードがホストされていたりする。またあるときは Fortune 500 企業内ではじまった秘密地下プロジェクトが推し進められていたりもする。 オープンソースのソフトウェアを引っ張りこんで、 GitHub の望むところにどんどん近づいている。でも、そこにとどまってはいない。ウェブページ作成、DNA 分析ツール、法律をも民主化しつつある。

「GitHub は人々が開発にとりくむ方法を変えた。」 CTO である Tom Preston-Werner はそう語る。「別に複雑じゃなくてもいいと気づいたんだ。」

かゆいところに手を伸ばした Git

うまくいくギーク発プロジェクトは多くがそうであるように、GitHub もコーダーが自分のかゆいところをかくところからはじまった。 五年ほど前、Wanstrath と主任プログラマの P.J. Hyett の二人は技術ニュースとレビューサイトの Cnet でコード書きをやっていた。 使う言語には Ruby と Rails を採用。ウェブアプリケーションの開発を簡単にするフレームワークである。

Cnet のサイトをつくるなか、Wanstrath と Hyett は Ruby on Rails 自体に手をいれて多くの改善を加えていた。 ただこの変更をもとのオープンソースプロジェクトに還元するのはそう簡単でないと二人は気づいた。 当時支配的だったオープンソース開発のモデルにならい、Rails はプロジェクトのソースコードに「コミット」する権限をもつ中心的コーダーによって管理されていた。 二人が加えた変更を中央のコードへ取り入れようとおもうなら、そうした中核コーダーのひとりに働きかけて、二人のコードが取り込むに値するものであると説得しなければいけない。 コード書きそれ自体よりこの説得が面倒な仕事となることはしょっちゅうだった。

オープンソースにおけるこの「頼もしい門番」モデルに苛立っているのは二人だけではなかった。十年前、Linus Torvalds は彼のやっている Linux OS の門番役を勤めるのに四苦八苦する立場にいた。 当初、Linux はヘルシンキ大学のウェブサイトでホストされていた。コードにバグをみつけた人は変更をふくむファイルをメールで送り、Torvalds はそのメールを読んで気に入ったものを Linux に取り込んだ。 しかし Linus はメールを全部は読まないことで悪名高い。そのためプロジェクトが有名になるにつれ、多くのメールが谷間に滑り落ち消えていった。

ここにオープンソースプロジェクトがもつちょっと情けない秘密がある。平均的なフリーソフトウェアプロジェクトでは、大部分のコード・・・もしかするとほとんどすべてのコード・・・は、実際には一度も使われることがない。 通りすがりのユーザが自分の変更を開発者に伝えそのオープンソースプロジェクトにとりこませようとしても、大抵の場合は大変すぎるのだ。

Linus ふたたび

そんなわけで 2005 年、 Torvalds は Git をつくった。それはバージョン管理ソフトで、ソフトウェアプロジェクト管理の面倒を取り去るべく設計されている。 Git を使えば、誰もが自分バージョンの Linux をいじることができる。 Linux にかぎらずどんなプロジェクトだっていい。そしてボタンを一押しすれば、自分バージョンの変更を Torvalds や他の誰とでも共有できるようになる。 門番なんていない。普通の言葉でいうと、Torvalds は誰かが別バージョンの Linux を簡単につくれるようになるツールをつくった。技術用語ではこれを「フォーク」という。

1990 年代、フォークは悪とされていた。フォークとは競合する互換性のない Unix をいくつもつくることだった。誰かがどうにかして独自フォークの Linux をつくり、そのバージョンの OS では同じプログラムが走らないか、走っても動きが違う。 そんな事態をひどく恐れていた。ところが Git の世界ではフォークが善とされている。人々が加えた改善が確実にコミュニティへと還元できるよう仕組まれているからだ。 人々がフォークで自分自身の変更をいじれる方が、皆を追い出して権威数名だけがコードをさわれるよりもいい。

2月にしては珍しい晴天のある日、Portland の自宅で Torvalds は Wired に Git を披露した。キーを二三叩くだけで、カーネルへの新しい変更二つをすばやく特定してみせたのだ。 どちらも同じカーネルのコードを、ただし違う形で変更しており、これがあるバグの原因かもしれないという。

従来の制度では「大胆な新しいブランチをはじめるのはとても難しかった。いまのコードに関係する人々を事前に説き伏せて、その急進的ブランチへの協力をとりつける必要があったから。」 そう Torvalds は言う。「それと比べて、Git はただ「はじめる(do it)」ことができた。誰からも許可を得る必要はないから、あとで戻ってきて結果を見せればいい。 こう言うわけさ。「僕のやったことを見てくれ。僕のやりかたがずっといいことを表す数字もあるよ。」

Linux 向けに開発された面はあるかもしれないが、 Git は巨大なコードベースを保持する大きな組織にとっての福音であることがすぐに証明された。 今日では Facebook, Staples, Verizon そして Microsoft までもがユーザーだ。Google では Git の重要性があまりに高いため Junio Hamano に給料を払っている。 彼は Torvalds からプロジェクトを引き継ぎ、フルタイムで Git の開発に従事している。プロジェクトの右腕 Shawn Pearce も Google に雇われている。

「小骨」をとった Git

問題は、誰もが Linus Torvalds でもなければ全ての会社が Google でもないということだ。 99% の人間にとって git のコマンドラインインターフェイスは使いづらいことが問題になっている。そこに GitHub のはいり込む余地があった。 GitHub は git を単純化した。それも大幅に。最初のスローガンは「Git ホスティング: もう小骨ではありません」だった。

Preston-Werner は GitHub の構想をたて、 2007 年のある夜にひらかれた Zeke のコーダー向け集会で Chris Wanstrath をプロジェクトに引っ張り込んだ。 ダウンタウンにある San Francisco Giants の球場から数ブロックはなれたスポーツバーでのことだ。

当初、GitHub は副業だった。 Wanstrath と Preston-Werner は土曜にブレインストーミングをひらき、日銭をかせぎつつ空き時間にコードを書いた。 「GitHub をスタートアップや企業にする気はなかった。 GitHub は単に必要なツールだったんだ。」Wanstrath は語る。 とはいえ、 Gmail の真似をしたプライベート・ベータで自分たち以外にもプロジェクトの門戸を開いた。間もなくプロジェクトは外の世界から注目されるようになる。

2008 年の1月には Hyett が加わった。三ヶ月後、ある夜のスポーツバーで Wanstrath は Geoffrey Grosenbach からメッセージを受け取る。 オンライン学習システム PeepCode の創業者で、GitHub を使い始めたというのだ。「会社のコードをホストしてるんだ。」 Grosenbach は言った。「タダ乗りするのも気分がわるいから、小切手を送ってもいいかな?」

それは、その後多数受け取るメッセージの先駆けだった。 2008 年 7 月、 Microsoft が Powerset を買収した。 Preston-Werner が勤めていたスタートアップである。 ソフトウェア業界の巨人は Preston-Werner に 30 万ドルのボーナスとストックオプションを示し、三年間の引き止めを促した。しかし彼は会社を辞めた。 GitHub に全てを賭けたのだ。

「そんなのを諦めるなんて、当時は怖かったけどね。まあ同じことを聞かれても答えは変わらないとおもうよ。」いまの彼はそう語る。

年初めに Wired が訪れた GitHub のオフィスは、ちょっとしたギークの楽園だった。 iPhone 制御のクアドコプターに、四つ口のビール保冷機。ホワイトハウスの作戦室を低予算で模した会議室。 さいごは 1970 年代風巨大電話機。ただしオモチャのせいで GitHub が特別なのではない。企業的指揮体制への徹底した反抗心こそが本当の違いだ。

「休暇の数は記録してません。労働時間もです。そういうのは関係ないのです。」 CIO の Scott Chacon は言う。「真夜中まで残っていても 5 人くらい姿がみえる日もあります。木曜は昼間に来たら誰もいませんでした。」

それでもこのチームは今まで仕事をしてきた中では一番生産的ですよ。 Chacon は語る。

Git の未来へ

Preston-Werner の賭けは当たった。 GitHub は今や利益をだしている。ユーザーは無料でサインアップして寄稿をはじめられる。 ただしプライベートなコードをホストするには金を払う必要がある。毎月 7 ドルから。GitHub は企業向け製品も売っており、企業は自社バージョンの GitHub をファイアウォール内で走らせることが出来る。 それは年間 5000 ドルからだが、数百人のコーダーがいる企業では年間数十万かかる。

皮肉なことだが、 GitHub 大ファン達の中に Torvalds の姿はない。 昨年の 9 月, Torvalds は Linux カーネルの開発を GitHub に移した。古巣がセキュリティ侵害をうけたからだ。

「GitHub はすごく好きだよ」彼は言う。「こんなにすぐ最大級のソースコードレポジトリになったのもわかる。」しかしそのあと、 彼がソースコードをホストする際に出くわした「深刻な」問題の数々を並べ立てはじめた。なお、問題の多くはそのあとで修正されている。 コメントをフィルタリングできない、メール経由のインターフェイスは添付ファイルをとりこぼす、ウェブのインターフェイスはコードの投稿でぐちゃぐちゃ、などなど。 結論はこうだ: GitHub はコードを書くことの敷居を下げたけど、同時にゴミ生成の敷居も下げたね。

それは事実かもしれないが、だからといってサイトを押しとどめることはなかった。 見たところ GitHub のユーザはどこにでもいる。このあいだの午後、サンフランシスコのノースビーチ付近で Wired は GitHub のディレクターである Ryan Tomayko とサイトについて話していた。 すると隣のテーブルにいた男が身を乗り出して割り込んできた。大好きなバンドの話を立ち聞きしていたティーンエイジャーみたいなものだ。「これだけは言っとくぜ」彼は言う「GitHub スゲーよ」

Occupy 運動にすら一枚噛んでいる。 Jonathan Baldwin は、人ごみのなかメッセージを伝える "人間マイク(People's Microphone)" のケータイ版を書こうと思いたち、コードを GitHub に置いた。 サイトのおかげで彼は簡単にコードを共有でき、他の開発者が直した技術的問題をすぐに繋ぎ込むことができた。「GitHub があって本当によかったです。GitHub でホストしていなかったら、これは無理でしたね。」 ニューヨーク、パーソンデザイン学校の学生である Baldwin は言う。

そして、ソフトウェアは物語の一部でしかない。ギーク達はソフトウェア以外のプロジェクトの管理にも GitHub が役立つことを学びつつある。 書籍執筆や講演の原稿書きがサイトにあらわれた。ある GitHub ユーザー Manu Sporny が自分の DNA 情報をサイトに公開したのは去年のことだ。 オープンソースの DNA 分析ツールの開発を、分析に使える現実のデータを提供することで後押しできればと考えたそうだ。

Scott Chacon が Git の本をかいた際には、最初のフォークが一ヶ月もしないうちに登場した。ドイツ語の翻訳だった。 三年後、本は 10 ヶ国語に翻訳されている。更に 10 ヶ国語が翻訳作業中だ。書籍サイトへのトラフィックは半分以上が中国から来ている。 「たくさんの中国の人が Git を学んでいる。中国語で本が読めるからだ。誰かがそれをよこしてくれたからだ。」彼は言った。

ニューヨーク州上院の技師である Ryan Blair は、市民が法をフォークすることだってできるのではないかと考えた。彼ら自身の修正案を役職者に対して提案するのだ。 GitHub のようなサイトは有権者が複雑な法体系への変更を追跡し、声をあげる助けにすらなるかもしれない。 「よく考えてみたら、法案なんてのは法律のブランチなわけだ。」彼はいう。「有権者がプル・リクエストを上院に送れるってアイデアがとにかく気に入っているんだ。」

今日の GitHub はオープンソース界の寵愛をうけている。しかし今年に入り、会社は Microsoft を視界にいれた。 この巨人から二人の開発者をやとい、新しいソフトウェアの開発にあたらせている。 いまだ少なからぬコーダーの軍勢が Microsoft の開発ツールでプログラムを書いているため、それを取り込もうというのだ。

「一人で働くより一緒に働くのが楽な世界で生きていきたい。ソフトウェア開発プロセスのどの部分をとっても楽しい、そんな世界で。」 CEO の Wanstrath は言う。「そして GitHub ならそれを後押しできるとおもうんだ。」

SIDEBAR:

Git という名前はどこから来たのか? イギリスのスラングでアホでいけ好かないやつを指す・・・やれやれ。 「僕はプロジェクトに自分の名前をつける。最初が Linux, そして git だ。」というジョークはあまりにツボで無視できなかった。けどみじかく発音しやすい、そして普通のキーボードでタイプできる名前だし、 どの標準コマンドともかぶらない十分にユニークな名前でもある。なかなかこうはいかないんだよ。 -- Linus Torvalds