Sunday, July 19. 2009Meine Ideen und Meinungen zum aktuellen Stand von Serendipity
Never touch a running system, oder auf deutsch: Lass die Pfoten von einem funktionierenden System. Diesen Spruch kennt jeder, der irgendwann in der Softwareentwicklung tätig war oder ist (oder tagtäglich einen PC mit dem Betriebssystem aus Redmond nutzen muss). Aber woher kommt diese Weisheit?
Etwas was funktioniert kann durch eine Veränderung plötzlich Fehler aufweisen. Bei einem Haus kann es zum Beispiel kritisch werden, wenn man bei einem Umbau eine tragende Wand raus reißt. Man gewinnt allerdings auch Komfort, wenn die alte Nachtspeicherheizung gegen eine moderne Fernheizung oder einen romantischen Kamin ausgetauscht wird (wobei ich einen Kamin heutzutage als zusätzliche Heizung ansehe, denn ich wöllte nicht ständig Holz hacken, nur weil ich an der Bube friere). Was ich sagen möchte: Änderungen sind wichtig und sorgen für Fortschritt. Allerdings muss es gut überlegt sein. Zum Glück kann man heutzutage durch Berechnen, Erfahrung und Probieren neue Schritte gehen und mehrere Sachen parallel laufen lassen. Besonders in der Softwareentwicklung ist es ein Kinderspiel, einen Branch, also einen eigenen Entwicklungszweig, anzulegen und mal zu probieren, wie man ein Programm weiterentwickeln kann.
Natürlich hat es auch einen Sinn, was ich schreibe. Es geht im speziellen um Serendipity. Unschwer ist bei einem Blick in den Quelltext zu erkennen, das die Software schon einige Jahre auf dem Buckel hat. Als sie geschrieben wurde, war noch eine frühe Version von PHP 4 auf dem Markt (Ich habe mal ganz böse behauptet, das Serendipity auch PHP-3-Code enthalten würde. Diese Aussage ziehe ich hiermit offiziell zurück). Nun gibt es unterdessen PHP 5.3. Ich als Verfechter von PHP 5 habe nun schon einige Male davon gesprochen, doch endlich mal Altlasten abzuwerfen. Dazu zähle ich unter anderem die $HTTP_-Variablen. Weiterhin macht es für mich einen unsauberen Eindruck, ständig mit Konstanten abzufragen, ob eine Bibliothek schon geladen wurde. Ein require_once wirkt da schon wunder. Weiterhin sollte jede Klasse in eine eigene Datei geschrieben werden. Und vielleicht findet sich ja auch die eine oder andere Funktion, die mit PHP 5 besser zu lösen ist? Ich habe mich schon einige Male hingesetzt und den Code an der einen oder anderen Stelle umgeschrieben. Diese Codeschnipsel auch veröffentlichen? Da gibt es doch diese gelegentlichen Gegenstimmen. Warum soll man Änderungen vornehmen? Es klappt doch alles so wie es jetzt ist. Rückwärtskompatibilität und so weiter. Wenn die Entwickler von KDE genauso gedacht hätten, würde es heute kein KDE 4 geben (Es gibt auch ein Gegenbeispiel: Amarok 2; die Version 1 war um Längen besser). Was die Gegner aber übersehen: Ich will nicht alles auf Klassen umstellen und den Code mit private, protected und public übersähen. Ich möchte mitunter einfach nur den Code an einigen Stellen aufräumen, refaktorieren. Bereits vor einiger Zeit hatte ich angekündigt, meine Webseite umzubauen und Serendipty nur noch als Blog zu nutzen. Aus Zeitmangel ist daraus (leider) nichts geworden. Inzwischen habe ich mir etwas Zeit freischaufeln können. Ich hatte vor, ein mittleres privates Projekt mit Serendipity umzusetzen. Ich programmiere nun doch alles von Grund auf mit dem ZendFramework und eigenen Bibliotheken neu. Die Infrastruktur der Blogsoftware entsprach nicht meinen Vorstellungen. Auch einige Diskussionen im Forum habe ich lieber nicht fortgesetzt, weil ich keinen Fork provozieren wollte. Es würde nichts bringen, eine Software mit relativ kleinem „Kundenkreis“ auf eigene Faust weiterzuentwickeln. Anders sah es damals bei Mambo und Joomla aus. Diese beiden CMS entwickeln sich getrennt hervorragend weiter. Beide Seiten sind zufrieden. Ich würde sogar behaupten: Hier herrscht der von vielen angepriesene Konkurrenzkampf. Derzeit gibt es keinen Grund für mich, meine Arbeit an Serendipity fortzusetzen (es sei denn, andere Personen nennen mir gute Gründe dafür). Eigentlich schade für Robert Lender, der heute in einem Blogeintrag über meine Frage, ob meine Plugins überhaupt eingesetzt werden, berichtete. Aber vielleicht bietet sich ja dieser Artikel an, über ein S9y2 nachzudenken. Und dann mache ich vielleicht auch wieder was an den Plugins. Derzeit stecke ich aber meine Freizeit in obig erwähntes Projekt. Und wenn ich ganz ehrlich bin, etwas von Grund auf neu aufzubauen macht auch viel Spaß. Trackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
Natürlich kann ich deine Gründe durchaus verstehen - finde es aber andererseits natürlich schade, dass "wir" dich als S9y Mitentwickler verlieren. Aber wer weiß, vielleicht gibt es in x Monaten wieder einen guten Grund einzusteigen
Auf alle Fälle alles Gute mit deinem Projekt, und auch Zeit dafür.
Die Argumentation ist mir rechte unverständlich. Ich habe kein einziges Mal mitbekommen, dass etwas nicht umgesetzt wurde, weil es nur mit PHP 5 ging. Dann war es eben so, insbesondere bei den Plugins ist das doch gar kein Problem.
Der Schritt auf die nächste Version macht dann Sinn, wenn man dadurch etwas gewinnt - das kann auch etwas abstraktes wie einfachere Erweiterbarkeit sein. Aber ist das bisherige System denn wirklich so starr? Gruß
Ich bin absolut kein Coder, insofern kann ich Deine Argumentation pro PHP5/contra PHP4 kaum nachvollziehen.
Es scheint mir aber doch so, dass hier "If it's not broken, don't fix it." die passendere Redewendung ist. Mir missfällt im Templatebereich auch Einiges, auch dort ist Einiges starr, man kann mitunter nicht so, wie man gerne wollen würde, weil das System bestimmte Grenzen vorgibt. Aber deswegen gleich komplett die Flinte ins Korn schmeißen, das finde ich, offen gesagt, doch etwas ... naja.
Hallo Robert, Onli und Matthias,
ich habe eigentlich nicht vor die Flinte ins Korn zu werfen. Ich möchte nur nicht ständig das Totschlagargument "Es geht doch wie es jetzt funktioniert und immer schön an die PHP-4-Kompatibilität denken" hören. Dazu ist mir meine Zeit zu kostbar. Klar geht alles. Und man findet immer eine Stelle an der man irgendetwas anpappen kann. Aber als Beispiel mal die Trennung von Vor- und Nachnamen: Ein weiteres Feld, dieses in der Config schreiben, was ist schneller vertikal oder horizontal, oder doch zwei weitere Felder und mit Javascript ausgrauen. Da bastel ich mir lieber mein eigenes System und weiß das ich meine Ideen ohne lange Diskussionen umsetzen kann. Jetzt nichts gegen Bedenken. Man sollte und darf nicht alles gleich übernehmen was einer als Idee anbringt. Aber obiges Beispiel finde ich etwas ... naja. Eigentlich wirklich schade, ich wollte Serendipity wieder eine Chance geben. Aber mit einer Eigenentwicklung komme ich derzeit besser. |
KategorienBlog abonnierenBlog Administration |