Es mag eine persönliche Eigenart von mir sein, aber ich mag es, Code in lebenden Projekten auf dem neuesten Stand zu halten - einschließlich der Bibliotheken / Frameworks, die sie verwenden. Ein Teil davon ist, dass ich glaube, dass eine Web-App sicherer ist, wenn sie vollständig gepatcht und aktuell ist. Ein Teil davon ist nur ein Hauch von Zwang meinerseits.
In den letzten sieben Monaten haben wir unsere Software grundlegend überarbeitet. Wir haben das Xaraya-Framework, das als Produkt langsam und im Wesentlichen tot war, fallen lassen und auf Cake PHP konvertiert. (Wir haben uns für Cake entschieden, weil wir so die Möglichkeit hatten, unsere Software sehr schnell neu zu schreiben und die Leistung gegenüber Xaraya so stark zu steigern, dass es sich lohnt.)
Wir haben Unit-Tests mit SimpleTest implementiert und alle Namenskonventionen für Dateien und Datenbanken usw. befolgt.
Kuchen wird jetzt auf 2.0 aktualisiert. Und es scheint keinen brauchbaren Migrationspfad für ein Upgrade zu geben. Die Namenskonventionen für Dateien haben sich radikal geändert und SimpleTest zugunsten von PHPUnit fallen gelassen.
Dies wird uns ziemlich zwingen, im 1.3-Zweig zu bleiben, da es nicht möglich sein wird, Cake zu aktualisieren und dann unseren Legacy-Code schrittweise zu verbessern, um die Vorteile des neuen Cake-Frameworks zu nutzen, es sei denn, es gibt ein Konvertierungstool . Wie üblich werden wir also ein altes Framework in unserem Subversion-Repository haben und es einfach nach Bedarf selbst patchen.
Und das bringt mich jedes Mal. So viele Open-Source-Produkte machen es nicht einfach genug, darauf basierende Projekte auf dem neuesten Stand zu halten. Wenn die Entwickler anfangen, mit einem neuen glänzenden Spielzeug zu spielen, werden einige wichtige Patches an älteren Zweigen vorgenommen, aber der größte Schwerpunkt wird auf der neuen Codebasis liegen.
Wie gehen Sie mit radikalen Veränderungen in den von Ihnen verwendeten Open Source-Projekten um? Denken Sie bei der Entwicklung eines Open Source-Produkts bei der Entwicklung neuer Versionen an die Upgrade-Pfade?