ASFとそのOSSプロダクトの特徴
PMCやASFメンバーなどの一部のメーリングリストを除けば、ほとんどのコミュニケーションは誰でも見られる形で公開され、トラブルがあればメーリングリスト上のコミュニケーションで解決し、決済事項は「投票」によって公式に決議される、それが良くも悪くもASFという組織です。
この運営方法はASF傘下のOSSプロダクトの性格にも強く影響します。私が代表を務める株式会社ロンウイットは「情報検索の専門企業」を標榜しているので、「Apache SolrとElasticsearchのどちらがいいですか」「両者の機能比較を教えてください」などとよく聞かれます。機能の細部に違いはあれど所詮はApache Luceneというライブラリをどちらも使っているわけです。そんな機能比較なんかより、どういう組織がそのOSSプロダクトを運営しているか、ということの方がよほど大事だと私は考えます。
Apache SolrはコミッターとPMCが中心となったコミュニティの中で話し合いが行われ、向かう道筋が決められます。あくまでも公開での決めごとで進む道が決められるわけです。さらに長期的には理事会をリーダーとするASFメンバーが監督をして、よい方向に向かっているか、そうでなければコミュニティを正しい方向に向かうよう指導します。
一方、ElasticsearchはOSSとは言っても株式会社が運営しているので、最終的には株主、つまり強力な投資家の方を向いて長期的には進んでいきます。これはよい意味で解釈すれば強いリーダーが進むべき道を決めてそちらの方向にすばやく舵を切れるということです。どんな機能が実装されてどの不具合を先に修正するかなどもそういう原則で決まってきます。
Apache Solrはそういった強いリーダーが存在できないので、進むべき方向は公開のコミュニティにおいて透明性を保って決められます。株式会社が運営するOSSではこれが徹底されず、なぜそのような決定が下されたのか、われわれは知ることができません。これは非常に大きな違いで、プロダクトの後方互換性を維持する姿勢などに自然に表れてきます。
セキュリティ上の脆弱性問題が発見されたときのアラートの上げ方、それを処理する方法、責任の所在もASFではきちんと決められており、放置されることはありません。「ソースコードを公開するだけがOSSではない」という立場をとるASF。ASFではこれをCommunity over Codeと呼び、大事にしています。
おわりに
さて簡単ではありますが、ASFという組織を解説してみました。これまで自分がASFの一員であるなどと意識したことは滅多にありませんが、この記事はASFという魅力的でよくできた組織について考えるよい機会になりました。これだけの組織が20年の長期にわたって存続し、今なお活発に活動して成長し続けていることに私自身改めて驚いています。
記事を書いてはみましたが、なぜうまく機能しているか説明できませんでした。誰かASFをうまいこと説明する研究論文など出していないのでしょうか。それはともかく、私自身はこれからも、力まずたまには力を入れながらOSSにコードを書いていくことになるでしょう。これは誰に言われたからやるというものではありません。好きだからプログラムを書く。そういう人がうまく集まって新陳代謝が機能するように組織できた成功事例がASF、このあたりがオチになるのかもしれませんね。