Interview mit Johannes Schlüter

"Mir wird vorgehalten, wir würden Bugs kommentarlos auf 'Bogus' setzen. Das stimmt!"
Kommentare

Gab es Augenblicke, wie zum Beispiel der Diskussion um den Namespace-Operator oder goto, an denen man das Ganze am liebsten hinwerfen würde?
Es gibt sicher Momente, wo ich mich aufgeregt habe – das waren

Gab es Augenblicke, wie zum Beispiel der Diskussion um den Namespace-Operator oder goto, an denen man das Ganze am liebsten hinwerfen würde?

Es gibt sicher Momente, wo ich mich aufgeregt habe – das waren aber nicht die genannten Dinge, die sehe ich recht nüchtern aus einem technischen Blickwinkel. So etwas wie goto, mit den Einschränkungen, die wir eingebaut haben, ist vom technischen Risiko für die Engine sehr überschaubar, gleichzeitig ist es ein häufig gefragtes Feature. Die Auswahl des Backslash ist vor allem deswegen so umstritten, da wir einige Zeit hofften, den doppelten Doppelpunkt auch als Namespace-Trenner nutzen zu können, was aber einige technische Probleme aufgeworfen hat. Wirklich anstrengend ist es, wenn Egos von Entwicklern kollidieren und man da bei technisch nahezu gleichwertigen Lösungen entscheiden muss. Das ist im ersten Moment extrem anstrengend, aber einen Moment später dann doch wieder eine gute Erfahrung für einen selber. Da habe ich sicher nicht immer alles perfekt gemacht, aber ich hoffe ja, immer etwas Neues lernen zu können.

Wenn du einen Tipp abgeben müsstest, wann wird PHP 6 (oder vielleicht ein PHP 5.4) erscheinen?

Nils Langner

Nils, der an der Universität Freiburg Informatik studierte, treibt sich nun mehr seit fast 10 Jahren in der Webentwicklung herum und arbeitet derzeit für eines der größten Verlagshäuser Europas im Qualitätsmanagement der Onlinesysteme. In seiner Freizeit betreibt er einen sehr erfolgreichen deutschsprachigen PHP Blog, in dem er seine Erfahrungen zum Thema PHP kundtut. Hier werden aktuelle Geschehnisse aus der PHP-Gemeinde genau so besprochen, wie Best Practices aus der Softwaretechnik. Ein Blatt wird dabei nie vor den Mund genommen.

Als Nächstes steht ganz klar PHP 6 im Plan, nachdem es schon vor 3 Jahren hieß, dass „innerhalb eines halben Jahres“ mit einer Preview zu rechnen sei. Damals existierte in PHP 6 eine php.ini-Option, um Unicode ein- oder auszuschalten, diese führte aber zu haufenweise Code, der beide Fälle berücksichtigen musste und drohte Anwendern mehr Probleme als Nutzen zu bereiten. Daher haben wir uns entschieden, diesen Schalter zu entfernen und PHP 6 zu 100 % Unicode-basiert zu entwickeln. Die Konsequenz daraus war, dass wir Erweiterungen auch Anwendern ohne Interesse an Unicode anbieten und 5.3 entstand. Dadurch bekam 5.3 den Fokus und PHP 6 lag etwas mehr in der Ecke. Nun greifen wir wieder Richtung PHP 6 und planen dies als nächste Major-Version zu veröffentlichen. So wir denn alle geplanten Features einbauen und sich der Unicode-Mode als Hemmnis herausstellt, planen wir auf 6.0 folgend ein 5.4 als weitestgehend zu 5.3 abwärtskompatiblen Migrationshelfer.

Ehrlicherweise muss ich sagen, dass ich mich voll auf 5.3 konzentriert habe und zu wenig Überblick über die Details von 6.0 habe, um da eine konkrete Schätzung abgeben zu können.

Du bist Release-Manager, arbeitest für Sun und findest neben anderen Dingen auch ab und an Zeit für ein Interview. Wie kann man das schaffen? Hat dein Tag mehr als 24 Stunden?

(Lachen) Naja, manchmal wünschte ich, der Tag hätte mehr als 24 Stunden, dann bin ich aber manchmal froh, wenn ich früh zum Schlafen komme. Geholfen hat mir – wie vorhin erwähnt – sicher Lukas und sein Organisationstalent. Gerade zu Stresszeiten ist es unglaublich hilfreich, jemanden zu haben, der einem hilft, den Überblick zu bewahren und der Dinge filtern kann. Aber jetzt die letzten Wochen nach dem Release habe ich freie Zeit ohne PC wieder zu schätzen gelernt.

Du bist C-Entwickler. Kann man sich auch als PHP-Enthusiast am PHP-Core-Projekt beteiligen, oder sind da die Möglichkeiten eher gering gesät? Wie kann man die Community unterstützen?

Wir als PHP-Entwickler freuen uns immer, wenn wir unterstützt werden. PHP ist in C implementiert – um aktiv Features zu implementieren oder Bugs zu fixen, sind C-Kenntnisse natürlich nötig, aber es gibt dennoch einiges, was man mit Erfahrung als PHP-Anwender machen kann.

Eine erste Sache ist es, Bugs zu melden. Wenn ich das vorschlage, wird mir immer wieder vorgehalten, wir wären so unfreundlich und würden Bugs schnell kommentarlos auf „Bogus“ setzen. Da kann ich sagen: Das stimmt! Dabei bitte ich aber zu beachten, dass wir einen großen Haufen an Reports bekommen, der Großteil davon aber mit etwas Lesen der (englischen) Dokumentation geklärt wäre. Zudem ist das Team derer, die regelmäßig Bugs bearbeiten, relativ klein und die, die das machen, machen es in der Freizeit – da bleibt nicht viel Zeit für lange Erklärungen. Gute Bug Reports sind aber sehr gerne gesehen, also möglichst kompakte Reproduce Cases und klare Beschreibungen des Fehlverhaltens.

Mehr zum Thema

Hat Ihnen das Interview gefallen? Dies und mehr ist alles Teil der Ausgabe 6.09 unseres PHP Magazins. Mehr zu diesen und anderen Themen bekommen Sie alle zwei Monate frisch am Kiosk! Zur jeweils aktuellen Ausgabe geht es hier.

Wenn man gerade keinen Fehler findet, was zu hoffen ist, gibt es auch andere Möglichkeiten: PHP wird oft nachgesagt, dass wir in Bugfix-Releases Dinge kaputt machen. Das passiert von Zeit zu Zeit mit Absicht – weil das alte Verhalten wirklich falsch ist und meist unbeabsichtigt. PHP hat einen großen Umfang und es ist schwer für einen Entwickler alle Anwendungsfälle durchzutesten. Daher haben wir dieses Jahr zum zweiten Mal ein TestFest veranstaltet. Das ist ein kleiner Wettbewerb für Usergruppen, in denen wir Anwender motivieren wollen, Tests für unsere Regression-Test-Suite beizusteuern, die den typischen Anwendungsfällen entsprechen. Dabei gab es dieses Jahr als kleine Anerkennung ElePHPanten und PHP-Tassen zu gewinnen. Aber auch wenn das TestFest gerade nicht läuft, freuen wir uns über Tests. Einfach mal auf der QA-Seite (http://qa.php.net) vorbei schauen.

Oben erwähnte ich schon die Dokumentation. Auch da kann man helfen: Zum einen kann man fehlende Dinge ergänzen, dafür sollte man annehmbares Englisch können und idealerweise auch bereit sein, zumindest C-Code zu lesen, um zu überprüfen, ob das beobachtete Verhalten der Implementierung entspricht. Wenn man nicht flüssig im Englischschreiben ist, aber Englisch versteht, kann man auch bei der Übersetzung helfen. Zur Dokumentation haben wir ein How-to auf http://php.net/dochowto. Da hilft das Doc-Team auch bei der Umwandlung in das korrekte DocBook-XML-Format.

Wenn das alles nichts ist und man seine Erfahrung dennoch dem Projekt zukommen lassen will, kann man auch in Foren, Mailinglisten, Chats etc. Fragen von anderen Usern beantworten und so unterstützen und selber was lernen. Wem selbst das alles noch nicht reicht, kann auch auf Amazon & Co. mal schauen, ob er Wunschlisten einzelner Entwickler findet – der Großteil arbeitet, wie gesagt, primär in der Freizeit an PHP und lässt sich über Geschenke motivieren. Derick, der Autor der Date Extension und von XDebug, hatte einst eine Aktion „Wenn euch XDebug gefällt, sendet mir doch eine Postkarte von eurer Heimat“ – keine Ahnung, ob das noch läuft. Ich bin sicher, dass ich was vergessen habe, denke aber, dass da für viele was bei sein sollte. Wenn nicht: Schreibt mir ’ne Mail und ich schau mal, ob ich noch was finde – für Leute, die Interesse haben, findet sich eigentlich immer was.

Nochmals vielen Dank für das Interview und dafür, dass du dich so lieb um PHP 5.3 gekümmert hast. Es ist echt ein gutes Release geworden, mit Features, die PHP noch einmal richtig gutgetan haben.

Hat mich gefreut. Danke für die Einladung.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -