Im Interview: Matthew Weier O’Phinney Principal Engineer bei Rogue Wave

Linux Foundation übernimmt Zend Framework: „Der Code bleibt dauerhaft verfügbar!“
Keine Kommentare

Letzte Woche kam der große Paukenschlag in der PHP-Welt: Die Linux Foundation verkündete, das Zend Framework als Open-Source-Projekt unter dem Namen Laminas zu übernehmen. Wir haben mit Matthew Weier O’Phinney, Principal Engineer bei Rogue Wave und Projektleiter von Zend Framework, Apigility und Expressive, über die Zukunft des Frameworks gesprochen.

Die Linux Foundation wird das Zend Framework unter dem Namen Laminas weiterführen. Wann genau das Projekt verfügbar sein wird, ist zwar noch nicht bekannt. Doch hat uns Matthew Weier O’Phinney, einer der Gründungsmitglieder des Zend Frameworks, im Interview verraten, wie es zur Übernahme kam und wie es mit dem populären PHP Framework nun weitergehen wird.

Aus Zend wird Laminas: Hintergründe und Zukunftspläne

Entwickler: Die Linux Foundation hat das Zend Framework übernommen. Wie ist es dazu gekommen?

Matthew Weier O’Phinney: Im vergangenen Herbst verkündete das Unternehmen Rogue Wave eine Umstrukturierung des Zend Portfolios. Zu dieser Zeit haben wir bereits die Möglichkeit einer Community Foundation geprüft, sodass sich der Zeitpunkt für einen Wechsel des Zend Frameworks zu einem Community-unterstützten Open-Source-Projekt richtig angefühlt hat.

Ende letzten Jahres begannen wir dann die Gespräche mit der Linux Foundation, um zu sehen, wie ein Open-Source-Zend-Framework-Projekt strukturiert werden könnte und welche Änderungen dafür nötig sein würden. Gleichzeitig haben wir mit Rogue Wave einen Migrationsplan ausgearbeitet, um sicherzustellen, dass Nutzer nahtlos auf das von der Linux Foundation unterstützte Projekt umsteigen können. Dieser Teil war für das Unternehmen entscheidend, da dies dazu beiträgt, dass Nutzer weiterhin Unterstützung erhalten.

Wir hoffen auf eine Veröffentlichung des Laminas-Projektes im Laufe des Jahres.

Zum jetzigen Zeitpunkt haben wir lediglich das Vorhaben angekündigt, das Projekt unter dem neuen Namen „Laminas“ weiterzuführen. Wir suchen weiterhin nach Gründungsmitgliedern, die die Projekt-Roadmap mitgestalten wollen und sicherstellen, dass wir über die finanziellen Mittel verfügen, um unsere Pläne umzusetzen. Angenommen, wir schaffen das, hoffen wir auf eine Veröffentlichung des neuen Laminas-Projektes im Laufe des Jahres.

Entwickler: Bezüglich des neuen Open-Source-Projekts „Laminas“: Was sind eure Pläne für die Weiterentwicklung?

Matthew Weier O’Phinney: Wir haben einige Projekte in der Hinterhand, die wir abschließen wollen:

  • Wir haben angefangen, neue Majorversionen von Komponenten zu entwickeln, die die Vorteile von PHP 7.1+ nutzen.
  • Wir haben Milestones für zend-cache und zend-db in Bearbeitungen, um diese auf PHP 7.1+ zu aktualisieren und ihre Adapter in separate Packages aufzuteilen. Diese Veränderungen sollen die Qualität der Komponenten erheblich verbessern.
  • Wir arbeiten zudem an neuen Versionen des Zend-Eventmanagers, die auf die neuen PSR-14 Event Dispatcher Interfaces abgestimmt sind.
  • Ein Mitglied der Community hat an Version 4 des zend-mvc gearbeitet, die PSR-7-HTTP-Nachrichten anstelle von zend-http benutzt und eine nahtlosere Unterstützung für PSR-15 Middleware ermöglicht. Außerdem zielt diese Version auf PSR-14 als Anforderung für Events ab.
  • Wir wollen die verschiedenen HTTP-Handler-Features erweitern, um die Unterstützung für asynchrone User-Libraries wie ReactPHP und AMP zu integrieren und zusätzlich den Support für Swoole zu verbessern.
  • Wir haben an einer Stateless-Variante unserer zend-validator- und zend-inputfilter-Libraries gearbeitet.
  • Die neue Data-Validation ist Teil einer größeren Initiative der vollständigen Erneuerung und Verbesserung der API-Engine-Fähigkeiten von Apigility unter Benutzung von Middleware.
  • Wir planen auch, Versionierungs-Funktionen und Code Generation Features von OpenAPI-Spezifikationen umzusetzen.

Zusätzlich zu diesen Projekten wollen wir viele Dinge erreichen, die weniger codebasiert sind, aber einen großen Teil zur Verbesserung des Ökosystems leisten. Am allerwichtigsten ist, dass wir die Zeit finden und/oder einen technischen Redakteur einstellen, um die Qualität unserer Dokumentation zu steigern. Obwohl wir die Dokumentation in den letzten Jahren enorm verbessert haben, wissen wir, dass es noch viel zu tun gibt. Da die Dokumentation im Allgemeinen das erste Tor zum Projekt ist, wollen wir sicherstellen, dass Nutzer von Anfang an die bestmögliche Erfahrung machen.

Veränderungen für die Community

Entwickler: Was geschieht mit dem Code und vorhandenen Komponenten des Zend Frameworks?

Matthew Weier O’Phinney: Die vorhandenen Repositories werden auf GitHub als „archiviert“ markiert. Den Nutzern wird der Ort des entsprechenden neuen Repositories unter dem Laminas-Projekt angezeigt. Durch das Archivieren werden die Repositories zu “read-only”. Das stellt sicher, dass keine neuen Issues oder Pull Requests hinzugefügt werden können, aber auch, dass der Code dauerhaft verfügbar bleibt.

Die vorhandenen Repositories werden auf GitHub als „archiviert“ markiert.

Gleichzeitig werden wir die zugehörigen Packages auf Packagist (dem hauptsächlichen Repository für Composer, PHPs Dependency Manager Tool) als _abandoned_ markieren und auch dort den Nutzern den Weg zu den entsprechenden Packages unter dem Laminas-Projekt weisen.

Die meisten Komponenten werden unter den GitHub-Organisationen zendframework und zfcampus in eine der drei neuen Organisationen migriert: laminas, apigility, und expressive. (Manche Komponenten haben ihr End-of-Life erreicht, oder wir haben sie bereits aufgegeben. Diese werden wir nicht migrieren.) Wenn wir das tun, werden wir die History in jeder Komponente umschreiben, um Namespace und Dependencies zu aktualisieren, und sie als _replacements_ des Original-Packages markieren. Jedes davon wird auch Autoloading-Fähigkeiten beinhalten, die die Originalklassen an die neuen Gegebenheiten anpassen, um einen nahtlosen Übergang von den vorhandenen zu den neuen Klassen zu gewährleisten. Wenn die Migration abgeschlossen ist, wird die Entwicklung von Komponenten unter den neuen Organisationen weiterlaufen.

Entwickler: Auf welche Veränderungen muss sich die Community nun einstellen?

Matthew Weier O’Phinney: Wie erwähnt, werden wir die Repositorys des Zend Frameworks auf die neuen Strukturen bei GitHub migrieren. Damit einher gehen unter anderem auch Änderungen des PHP Namespaces. Etwa werden die übergeordneten Namespaces “Laminas”, “Expressice” und “Apigility” die bisherigen “Zend”, “ZF” und diverse Namespaces nach dem Schema “ZendService”, “ZenOAuth”, etc. ersetzen.

Wir werden Tools bereitstellen, um die Migration zu erleichtern.

Während die neuen Packages einfach als Drop-in-Ersetzungen ohne Codeveränderungen genutzt werden können, empfehlen wir dennoch, Projektcode und Drittpartei-Komponenten zu aktualisieren und auf die neuen Namespaces anzupassen. Dafür werden wir Tools bereitstellen, um die Migration zu erleichtern.

Womit wir uns bereits beschäftigt haben, ist die Migration von Issues und Pull Requests. Doch leider funktionieren diese durch die Namespace-Änderungen nicht mehr einwandfrei. Entwickler mit offenen Issues oder Patches müssen diese deshalb in den neuen Repositories nochmals anlegen.

International PHP Conference

Entwickler – das verlorene Handbuch

by Stefan Priebsch (thePHP.cc)

My browser does what?

by Joel Lord (Red Hat OpenShift

Da wir einen neuen Projektnamen und Sponsor haben, werden auch die Webseiten unter neuen Domains laufen. Die alten Webseiten zu ZF, Apigility und Expressive werden Banner erhalten, die die Entwickler auf die neuen Seiten verweisen. Zudem laden wir alle User ein, die neuen Seiten zu bookmarken.

Und schließlich kann sich das Community-Tooling verändern. Wir sind der Meinung, dass für unsere Foren das Discourse-Projekt gut funktioniert hat. Allerdings haben wir die User vielleicht nicht genügend darauf verwiesen. Deshalb wollen wir darauf hinarbeiten, dass Fragen vermehrt in den zugehörigen Foren diskutiert werden, sodass Anwender mit ähnlichen Fragestellungen dort Antworten finden können. Wir testen auch gerade Slack, um herauszufinden, inwiefern das Tool helfen kann, eine inklusive Community zu schaffen. Es könnte also auch eine Veränderung bzgl. des bevorzugten Chat Mediums geben.

Die Zukunft von Laminas alias Zend Framework

Entwickler: Wie wird die Führung des Projekts Laminas in Zukunft aussehen?

Matthew Weier O’Phinney: Wir werden zwei Leitungsgremien haben, die verschiedene Kontexte des Projektes abdecken: den Verwaltungsrat, der für die Geschäftsentscheidungen verantwortlich ist, und den technischen Lenkungsausschuss (Technical Steering Committee (TSC)), der für die technischen Entscheidungen zuständig ist.

Der Verwaltungsrat wird aus zwei Vertretern der Mitgliedsunternehmen sowie einem oder mehreren TSC-Mitgliedern bestehen. Zu seinen Aufgaben zählt in erster Linie die Projektüberwachung, einschließlich Geschäftsentscheidungen, Budget, Marketing- und Eventunterstützung, die Bereitstellung von Entwickler-Ressourcen, die Ermittlung von Möglichkeiten zur Open-Source-Zusammenarbeit sowie die Hilfe zur Entwicklung des Ökosystems.

Der TSC wird die allgemeine technische Entwicklung des Projektes überwachen, einschließlich der Komponenten, die zu erstellen und zu warten sind, der Funktionen und Meilensteine, der Qualitätsstandards für den gesamten produzierten Code usw. Unser bestehendes Community-Review-Team wird die erste Iteration des TSC bilden, zusammen mit einigen anderen, die uns während des Übergangs helfen.

Das Projekt plant darüber hinaus, ein kleines Team einzustellen, um die Kontinuität zu gewährleisten. Open-Source-Entwickler kommen und gehen oft, so wie sie Interesse und Zeit haben; ein kleines Team kann sicherstellen, dass, wenn ein Maintainer geht, die Wartung der Komponenten fortgesetzt werden kann. Andere Aufgaben betreffen die Aufrechterhaltung des Betriebs der Webseite, die Aktivierung und Konfiguration von CI/CD-Integrationen unter der Führung des TSC, die Verwaltung der Community-Tools, die Förderung von Projekt-Meilensteinen und vieles mehr.

Vielen Dank für das Interview!

Im Interview: Matthew Weier O’Phinney (Principal Engineer bei Rogue Wave)
Matthew Weier O’Phinney ist Principal Engineer bei Rogue Wave Software und Mitglied des Core Committees der PHP Framework Interop Group. Seit 2009 ist er zudem Projektleiter von Zend Framework. Matthew Weier O’Phinney ist ein erfahrener Entwickler und qualifizierter Kommunikator, der oft als Vermittler agiert, um konsensorientierte Lösungen zu schaffen.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -