glibcの歴史

普段あまり意識しないしないlibcだが、カーネルの門番とも言える重要なコンポーネントだ。Linuxで標準のlibcはGNU libc、略してglibc。最近このglibcのsteering committeeが解散した。これをうけてlwn.netのJonathan Corbetがglibcの歴史をふりかえる。
http://lwn.net/SubscriberLink/488847/cb91a5cc3d179f3c/

とても良く書けている記事なので原文を読むことをすすめる。以下、面白いなと思ったところをいくつか紹介。

フォーク

FSFのプロジェクト管理に嫌気がさしたLinux開発者が90年代前半にlibcをフォークしていたとは知らなかった。当時のディストロたちは「Linux libc」と呼ばれるバージョンを使っていたそうな。
90年代半ばからUlrich Drepperがこつこつ開発する。その結果、glibc2はLinux libcより良いもになりdistroglibcに戻る。

Uli時代

Ulrich Drepperはglicの独裁者的存在(これはkaratenの言葉)になる。殆どのコミットは彼がし、数少ない他コミッターは彼の承認なしには手を加えられない状況が続く。

変化の兆し

2009にコード管理をGitに移行。この際に元祖管理者のRoland McGrathがDrepperに釘をさす:
「コニュニティーが改善したい簡単な事項を、漠然とした保守主義や根拠のない不信により邪魔することのないように」

一つの時代の終り

2010年9月、UlrichはRed Hatを辞め、Goldman Sachsの技術部門へ。これでglibcのUlrich時代は幕をとじたと考えていいだろう。長いあいだご苦労さまでした。

コミュニティーによるglibc

2012年3月、RolandはSteering Committeeの解散を公表。その理由は「ボランティア活動の活性化により開発者コミュニティーが自己統治できるようになった」からだ。

新たな約束

さらに、開発者の一人はこう呼び掛ける:「以前、無礼な仕打ちをうけ、glibcへの貢献を諦めた人もまた試してみてください。今度はそういうことはありません。約束します」

新のリーダーとは

元記事はふれていないが、元祖コミッターのRolandがUlrichに実権を譲りながらも25年間ものあいだglibcを見守ってきたことに着目したい。協調性のないハッカーにプロジェクトを任せたり、コミュニティーに委ねたりと、臨機応変にプロジェクトを守ってきた影のリーダーがいなかったらこのプロジェクトは消滅していたかもしれない。

オープンソースプロジェクトのガバナンスについて学ぶことが多いglibcの歴史でした。