Merb und Rails mit vereinter Kraft.
Am 23.12.2008 veröffentlichten David Heinemeier Hansson und Yehuda Katz zeitgleich, was wohl keiner, der beide Projekte kennt, zu diesem Zeitpunkt für möglich gehalten hätte - Rails und Merb werden eins. Mit der Version 2 von Merb und 3 von Rails soll die Zusammenführung vollzogen sein.
Die Vereinigung zweier konkurrierender Projekte ist in der OpenSource Welt ein seltenes Ereigniss. Im konkreten Fall kommt hinzu, dass das Merb Team oft genug auf Unzulänglichkeiten im Rails Kern hingewiesen hatte und Merb mit Geschwindigkeitsvorteilen, Thread-Sicherheit und klarerem Quellcode herausgestellt wurde. Die letzten Monate waren von einer Rivalität gekennzeichnet, die mancher als gesund, andere wiederum als die Ruby Web Community schwer belastend angesehen haben.
Umso Überaschender kam dann diese Ankündigung !
Die Reaktionen aus dem Rails Lager waren durch die Bank positiv, bei den 'Merbisten' gab es auch kritische Stimmen. Ich selbst habe ein ambivalentes Gefühl. Rails wird es guttun - da habe ich gar kein Zweifel - aber die Konkurrenz war auch nicht schlecht. Salopp gesagt haben die Merb Jungs Rails Feuer unterm Hintern gemacht und das hat Rails neuen Schwung gegeben. Auf der anderen Seite hätte es für mich in 2009 ein schwieriges Abwägen gegeben, wann welches Framework Vorteile gegenüber dem anderen gehabt hätte.
Diese Herausforderung entfällt. Wer mag, kann schon jetzt, anhand von Merb 1.0.x, vieles von dem kennenlernen, was dann im Sommer 09 mit Rails 3 kommen wird.
Ich freue mich auf die Auswahl bei den ORMs, speziell Sequel sagt mir zu und auch ein stärkeres Entkoppeln des JavaScript Subsystems ist nicht nachteilig, es gibt ja einige Alternativen zu Prototype.
Vor allem aber gefällt mir die Möglichkeit eine Anwendung nur mit einem 'core' gem zu schreiben, wie es zur Zeit bei Merb 1 möglich ist. Diejenigen, die nichts auswählen wollen, werden ja in jedem Fall über das 'volle Programm' mit der full stack Version verfügen, die wohl als default angeboten wird.
Mit Skepsis betrachte ich zwei Dinge. Zum Einen ist das der (mögliche) Verlust der 'Merb-Culture'. Sehr angenehmer Umgangston, konkrete Problemlösungen, keine Hahnenkämpfe, klare durchdachte technischen Vorstellungen und das Ernstnehmen und Einbeziehen der Nutzer. Wird sie in das Rails Projekt einfliessen ? Schön wäre es.
Zum Anderen ist das die angekündigte Rückwärts-Kompatibilität. Die Vorstellung, dass es grössere Mengen Quellcode in Rails 3 gibt, der nur dazu dienen die Umstellung abzufedern, 'alten' Anwendungs-Code lauffähig zu halten und die helper weiter benutzen zu können, ist mir ein Greul.
Wo ist das Problem einen 2.x Zweig bei Rails eine Weile weiter zu pflegen, sowie es zur Zeit mit Merb 1.x geschieht ? Rails 2.x ist doch nicht schlecht, die Projekte können doch noch Jahre fortbestehen. Wenn in einem 'Legacy'-Projekt Rails 3 genutzt werden sollen, muss halt der Code angepasst werden. Dann ist der Geld- und Zeitaufwand gegenüber den Vorteilen abzuwägen.
Die Beta von Rails 3, optimistisch für die RailsConf09 im Mai (04-07) angekündigt, wird zeigen wie das gelöst wird.
Schaun wir mal ...
