Kolumne: Die flinke Feder

Leben und leben lassen

Bernd Fondermann

Seit 2008 ist es eines der prominenten NoSQL-Projekte. Doch in den letzten Monaten wurde es etwas ruhiger um CouchDB [1]. Bis dann Anfang Januar Damien Katz, seines Zeichens Begründer von CouchDB [2], der Öffentlichkeit preisgab, dass für ihn die Zukunft nicht CouchDB, sondern Couchbase Server heißt [3]. Die Entwicklung findet nicht mehr als Apache-Projekt, sondern über Github statt, gestützt von seiner Firma Couchbase. Ist das also das Ende von CouchDB?

Ja, dieser Eindruck konnte schon entstehen, wenn man die Quintessenz, die Beobachter aus Katzs Ankündigung zogen, für bare Münze nahm: Apache funktioniert nicht.

Katz ist nicht der erste und einzige Gründungs-Committer eines Open-Source-Projekts, der irgendwann dem Projekt den Rücken kehrt. Auch Node.js-Gründer Ryan Dahl [4] hat kürzlich die Entwicklung in andere Hände gegeben, ohne dass das Ende dieses JavaScript-Servers ausgerufen worden wäre. Genau deswegen sollen Projekte auf viele Schultern verteilt werden. Bei CouchDB sind es ohne Damien derzeit nominell 17 Committer, sieben von ihnen im Project Management Committee. Jan Lehnhardt, ein Committer der ersten Stunde, bleibt PMC Chair. Und wenn es noch einen Beweis für die Vitalität von Apache CouchDB braucht, dann sei erwähnt, dass die Postings auf der Mailingliste beständig bei über 300 monatlich liegen. Damit kann die dokumentenorientierte Datenbank mit der MapReduce-Abfrage-Logik noch lange überleben. Doch was wäre passiert, wäre CouchDB anfangs nicht zu Apache gegangen wäre? Laut Katz hatte Apache „einen großen Anteil“ am frühen Erfolg von CouchDB. Würde CouchDB ausschließlich von der Firma Couchbase gesponsert, so müssten sich die derzeitigen Nutzer nun damit abfinden, dass die Weiterentwicklung mir nichts, dir nichts eingestellt würde.

Apache CouchDB ist weitgehend in Erlang implementiert. Ziel von Katz und Couchbase ist es hingegen, ihre beiden Produkte Membase und CouchDB zum Couchbase Server zu verschmelzen. Laut Katz wird dazu einiges an Code von CouchDB über Bord geworfen oder in C++ neu implementiert. Und genau da gehen die Ziele von Couchbase und der bestehenden Projektcommunity von Apache CouchDB zunehmend auseinander. Für diejenigen User, die an Couchbase kein Interesse haben, ergeben solche grundsätzlichen architektonischen Einschnitte an Apache CouchDB keinen Sinn. Deswegen ist es nur folgerichtig, dass Katz fortfährt: „But in my opinion [CouchDB has] reached a point where the consensus-based approach has limited the competitiveness of the project. It’s not personal, it’s business.“

Doch Apaches Projekte dienen nicht alleine den kommerziellen Interessen einer Firma. Bringt man seinen Code zu Apache, so gibt man einen Großteil der Kontrolle darüber auf, und das nicht ohne Grund: Schließlich ist die neu gewonnene Offenheit überhaupt erst der Anreiz für andere, zur Weiterentwicklung des Projekts beizutragen. CouchDB lebt für seine Nutzer weiter und wird nicht zugunsten eines neuen Produkts eingestampft.

Und jeder Open-Source-Entwickler hat das Recht und manchmal auch keine andere Wahl, als sich wieder anderen Themen zu widmen. Beispielsweise ist Serientäter Doug Cutting, Initiator von Apache Hadoop, Apache Lucene und Apache Avro, nicht mehr im Tagesgeschäft seiner ersten beiden Babys aktiv. Trotzdem kann er als Mitarbeiter der Hadoop Consulting Company Cloudera noch die Früchte seiner Arbeit ernten. Um Hadoop herum hat sich eine ansehnliche Zahl von Start-ups geschart, die sich zusammen mit Powerusern wie Facebook oder Twitter um die Weiterentwicklung kümmern. Auch hier hat Apache als Regulativ gewirkt. Vor einigen Monaten sah es nämlich so aus, als würde das Projekt in viele proprietäre Distributionen zerfallen: Cloudera, Yahoo! und Facebook entwickelten an ihren eigenen Forks, ein offizielles Apache-Release schien in weiter Ferne zu reden. Mittlerweile – einige Releases später – ist der Apache-Code wieder die Referenz. Hadoop 1.0.0 ist veröffentlicht worden. Am experimentellen 2.0er-Strang wird intensiv gearbeitet, erste Alpha-Releases sind herausgekommen. Ohne den neutralen Boden, den die Foundation bietet, die ja auch die Rechte am Namen und Warenzeichen Hadoop hält, wäre dieses Zusammenraufen vielleicht unmöglich gewesen.

Vielleicht funktioniert Apache ja wirklich schlecht, aber immerhin gut genug, um in der sich schnell drehenden NoSQL-Welt ein gewisses Maß an Kontinuität zu wahren. Anders ist es dem Projekt Apache iBatis ergangen. Die Entwickler dieses Persistence-Frameworks entschieden sich mehrheitlich, abseits der Foundation als mybatis [5] auf Google-Code weiterzuarbeiten. Dort scheint das Projekt weiterhin sehr lebendig zu sein.

Bernd Fondermann (bernd@zillion-one.com) ist freiberuflicher Softwarearchitekt und Consultant in Frankfurt am Main und Member der Apache Software Foundation. Er beschäftigt sich mit innovativen Open-Source-Technologien wie Apache Hadoop oder Lucene und bietet unter zillion-one.com einen Big-Data-Hosting-Service an.
Geschrieben von
Bernd Fondermann
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.