Stellungnahme zum Communityprojekt Z-Push

October 20, 2022

Z-Push Icon

Stellungnahme zum Communityprojekt Z-Push

Wie inzwischen immer mehr Personen mitbekommen haben ist es rund um Z-Push ruhiger geworden – was an diversen Stellen zu sehen ist. Die Kernentwickler reagieren momentan nicht mehr in Foren oder auf Code-Commits der Community und auch das letzte Release ist bereits einige Zeit her. All dies hat natürlich einen Grund, den wir nachfolgend, wie auch die Konsequenzen daraus, beschreiben wollen.

Die Beziehung von Z-Push zu Kopano als Unternehmen

Z-Push wurde unter Mithilfe von Zarafa als quelloffenes Communityprojekt ins Leben gerufen. Kopano (und zuvor Zarafa) war der größte Unterstützer des Communityprojekts, als auch Nutzer der Technologie. Allerdings gehört Z-Push nicht dem Unternehmen, sondern war stets und ist auch jetzt ein Communityprojekt.

Status Quo von Z-Push als Communityprojekt

Z-Push ist rund 15 Jahre alt. Neben Zarafa und Kopano haben auch andere Entwickler Backends für Z-Push geschrieben und es sogar mit Wettbewerbsprodukten zum Einsatz gebracht (was sehr für Z-Push als solches spricht). Z-Push hat als sehr spezifischer Technologiebaustein im Laufe der Zeit also einen gewissen Verbreitungsgrad erreicht.

Leider haben die Hauptentwickler beschlossen sich anderen Themen zu widmen und den Fokus nicht länger auf Z-Push zu legen – was nach 15 Jahren mehr als verständlich ist.

Die Abwesenheit der Hauptentwickler hinterlässt aktuell ein Vakuum, welches nicht leicht zu füllen ist. Ob und wann die Hauptentwickler selbst eine Fortsetzung des Projektes avisieren können wir als Unternehmen nicht beurteilen.

Status Quo von Z-Push aus technischer Sicht

Der Quellcode hat im Laufe der rund 15 Jahre viele Iteration durchlaufen und wurde mehrfach an die jeweils gültigen Konventionen der Sprache PHP angepasst. Aktuell setzt Z-Push PHP in Version 7.4 voraus.

Ein Betrieb der aktuellen Z-Push Version kann mit entsprechendem Langzeitsupport für PHP 7.4 durch eine Linux-Distribution noch über Jahre erfolgen. Der mittelfristige der Betrieb von Z-Push ist somit sichergestellt. Auch Kopano Groupware setzt momentan auf PHP 7.4 (vgl. vorheriger Blogpost).

Z-Push ist jedoch noch nicht mit den aktuellsten PHP-Versionen 8.x kompatibel. Wir beobachten allerdings, dass bereits Teile der Community Initiative zeigen in diese Richtung zu wirken.

Microsofts ActiveSync-Protokoll, zu dem Z-Push kompatibel ist, ist aktuell bei Version 16.2 angekommen. Z-Push ist aktuell bis zu Version 14.1 zu ActiveSync kompatibel. Dies deckt die meisten Funktionen ab, bietet aber nicht die allerneuesten Features des Protokolls.

Wird Kopano Z-Push weiterentwickeln und auch für zukünftige Produkte darauf setzen?

Nein. Kopano als Unternehmen wird ohne die ursprünglichen Hauptentwickler nicht weiter an Z-Push entwickeln. Dies bedeutet insbesondere, dass Kopano Z-Push nicht zu PHP 8.x portieren und auch keine neuen Features implementieren wird.

Wie oben geschrieben ist der Code bereits rund 15 Jahre alt, was u.a. Limitierung im Bereich von Wartbarkeit und Ausbau mit sich bringt. Weiterhin ist die Art, wie PHP genutzt wird (im Sinne von Design) basierend auf ältere Paradigmen und Methoden, was weitere Limitierungen bei Performance und Skalierbarkeit mit sich bringt. Dem gegenüber steht eine immer intensivere Nutzung mobiler Geräte und steigende Last an betroffenen Schnittstellen.

Um neue Funktionen in den alten Code einzubringen müssten sich andere/neue Entwickler mit diesem vertraut machen – sie würden eine intensive Einarbeitung benötigen, um mit der nun alten Codebasis starten zu können. In Anbetracht der aktuellen Lage erscheint der zu betreibende Aufwand (aus unternehmerischer, wie auch technischer Sicht) nicht sinnvoll.

Es wurde daher beschlossen nicht länger auf Z-Push für zukünftige Produkte zu setzen und eine modernere Alternative zu Z-Push zu entwickeln und direkt in neue Produkte zu implementieren, so dass auch das Performancepotential und damit die Skalierbarkeit erhöht wird.

Welche Auswirkung hat dies aktuell auf Kunden von Kopano?

Für Kunden ändert sich zunächst nichts – sie erhalten weiterhin Support für Z-Push im Rahmen der Kopano Groupware Subskription. Wie oben dargelegt steht einem Betrieb von Z-Push in seiner aktuellen Form auch für die kommenden Jahre nichts im Wege.

Die Zukunft von Z-Push

Diese liegt aktuell in der Hand der Open Source Community. Da wir (als Unternehmen) nicht ohne die Hauptentwickler einfach so bestimmen können was mit dem Projekt als solches geschieht raten wir den Communitymitgliedern, die Interesse haben das Projekt fortzusetzen sich auf diese Situation einzustellen und zu übernehmen.

Unterm Strich bedeutet dies nichts anderes , als dass wir den Communitymitgliedern raten einen Fork des Codes vorzunehmen und in eine neue Projektstruktur zu überführen, um sich dort neu aufzustellen. Es gibt aktuell keine Pläne vorhandene Ressourcen (z.B. in Form von Wiki und Code) kurzfristig offline zu nehmen, so dass ein solcher Transit bei Interesse in angemessener Zeit möglich sein sollte.

Sollte jemand ernsthaft daran interessiert sein, so einen Weg zu beschreiten, können wir etwas Hilfe anbieten, z.B. durch klonen eines Repositories. Was wir sicherlich nicht machen können ist Informationen aus unseren internen Bug- / Supportfall-Ticketsystem zu extrahieren, da hier sensitive Informationen involviert sein können. Bitte kontaktieren Sie uns via sollten Sie ernsthaft interessiert sein.