BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Damien Katz氏がApache CouchDBから離反し、Couchbase Server開発を継続

Damien Katz氏がApache CouchDBから離反し、Couchbase Server開発を継続

ブックマーク

原文(投稿日:2012/01/06)へのリンク

我々はDamien Katz氏にインタビューした。氏はApache CouchDBを置き去りにして、Couchbase Serverを推し進めようとしている。また、コードの大半をErlangからC/C++へ移植しようとしている。この動きについてのコミュニティの反応も探った。

CouchDBの作者であるDamien Katz氏は自身のブログでCouchDBの大規模な変更と自身の今後の仕事を発表した。氏はCouchbase Serverの開発を続けたいという意向を示している。Couchbase ServerはCouchDBにMembaseMemcachedを組み合わせた製品だ。しかし、氏はこの製品を“絶対にApacheプロジェクトにはしない”としている。氏によると理由は、“コンセンサスを取りながら開発する方法がプロジェクトの競争力を制限してしまう地点に到達した"からだ。また、もしもう一度最初から始められたら、今とは違うことをたくさんしただろうと言う。その中のひとつはコードの大半をErlangからC/C++にすることだ。

我々は氏に詳細を聞いた。

InfoQ: あなたは、Apacheプロジェクトの動きは遅く、必ずしも競争力のある製品を生まない、と言っているように思います。Apacheの主な問題は何ですか。

DK: 私たちは顧客やユーザの声に敏感に反応する必要があります。しかし、Apacheプロジェクトのやり方だとそれが困難だと分かりました。コードの同期を維持し続けるのはとても大変でした。

InfoQ: CouchDBを最初から開発できるとしたら何をしますか。

DK: 今とは異なる小さな設計上の決定をたくさんすると思います。しかし、設計の大きな方向性は今とかわりません。また、今の状況を知っていたら、Erlangは使いませんでした。でも、私が今知っていることはErlangから教わりましたので、Erlangを使ったことは間違いではなかったと思います。しかし、もう一度始められるのならこういったことは既に知っているはずです。

InfoQ: ErlangをCouchDBのような大規模な実際の製品に使ってみて、どのような問題が見つかりましたか。何がErlangの限界なのでしょうか。

DK: Erlangは素晴らしい言語です。信頼性が高く、信頼できるしっかりとしたシステムを簡単に構築できます。しかし、エコシステムがとても小さいです。なので、ツールや性能に対する投資は他の一般的な言語とは比べようもないくらい少ないです。私はErlangにもっと人気の言語になって欲しいと思います。ErlangがJavaよりも速くならない理由はどこにもありません。しかし、その奇妙な構文が人々を遠ざけ、普及と商用投資を妨げています。でも私はErlangが好きです。性能が重要なコンポーネントでの利用は少なくしますが、今後も致命的に重要なコンポーネントに使うつもりです。

CouchDBを長く使っているTill Klampaeckel氏はKatz氏がプロジェクトを去るのを嘆いている

彼が去るということではなく、彼の去り方が問題なのです。

去る人を非難する人はいません。いつでも起こることです。私もコードを書いて公開して、そして、その仕事から去りました。

コードが素晴らしかったら取り上げられますし、だめだったらGithubの上で腐るだけです。これは他のプロジェクトでもCouchDBプロジェクトも起きたことです。でも自分がもう投資しないプロジェクトに対して死を宣言するとはどういうことでしょう。

Klampaeckel氏は“CouchDBは…Damien Katzではありません”とも言っている。

このような問題についてKatz氏はTwitterで “オープンソースプロジェクトを作ったら、ずっと関わり続けるのがいいでしょう。家族はユニコーンや星屑を食べて生きていけますよ。”とつぶやいている。また氏のCouchDBでの立場(Katz氏の記事に対するコメントを参照)を良く思っていないCouchDBユーザやコントリビュータに対しては、“私の考えをはっきりさせてください。Apache CouchDBが好きなら、ついていくのがいいでしょう。私は皆さんがもっと好きになるようなものを作っています。もしそうでなかったら、そのときはまだApache CouchDBが使われ続けているでしょう。”

Couchbase社は12月、製品の再編成を行った。Mobile SyncPointというひとつの製品でCouchbase Single ServerとCouchbase Mobileを提供するのを辞め、市場の混乱を回避するためにCouchbase MobileとCouchbase Serverを統合した。また、CouchDBのバイナリとしてSingle Serverを提供するのを辞め、CouchDBから分離した製品であるCouchbase Serverに注力するつもりだ。CEOのBob Wiederhold氏によれば、

Couchbase Server 2.0は実績のあるCouchDBプロジェクトの技術を取り込みますが、CouchDBとは前方互換性がありませんし、“CouchDBの新しいバージョン”ではありません。

Mobile SyncPointはクライアントアプリケーションとサーバアプリケーションの両方で利用できるCouchbase Serverを使ったデータ同期フレームワークになる予定だ。共同創業者でバイスプレジデントを務めるJames Phillips氏はCouchDBとのプロトコルを維持する意図について下記のように説明している。

Apache CouchDBとのレプリケーションプロトコルの互換性を100%維持するつもりです。Couchbase Server 2.0とモバイルの技術を"強く結合"させようとしているのではありません。iOSのモバイルコンポーネントが純正のApache CouchDBと通信できることを保証するためです。

Matt Ingenthron氏はCouchbase社は同社のSingle ServerディストリビューションのバイナリをApache CouchDBに寄贈するつもりだ。さらに、“もちろんこの寄贈を受け付け、統合するかどうかはApache CouchDBプロジェクトのメンバしだいです。”と言っている。また、この決定について、“本当に難しい意思決定でした。最終的には企業として製品開発に注力する必要があると判断しました。”

Apache CouchDBからの離反は製品の進化のさせ方についての考え方の違いから起きた出来事のように思える。そして、これを促したのは経済状況だ。Damien Katz氏と彼のチームはCouchDBとMembaseに多くの貢献をした。彼らの一部はまだApache CouchDBプロジェクトで活動していたが、大半はオープンソースプロジェクトでありapacheライセンスで公開されているCouchbaseという別のプロジェクトで活動していた。

この記事に星をつける

おすすめ度
スタイル

BT