BLOG

Vom Erlebnis den Core zu patchen: meine 0,001% vom Core

Es gab zwei Probleme im Drupal 6 Core, die ich unbedingt behoben wissen wollte. Zum einen wird die Sprache eines Benutzers, der sich neu anmeldet, nicht gesetzt. Und Seiten-Titel und -Slogan werden nicht ordentlich bearbeitet ans Theme zurückgegeben und waren damit XSS anfällig. Ich freue mich wirklich sehr, dass meine beiden Patches angenommen wurden und nun in Drupal 7 eingeflossen sind. Aber es war ein langer und steiniger Weg.

3 Jahre und 20 Patches später

Ich versuche an Hand dieser chronologischen Liste zu zeigen, wie lange es gedauert hat, bis ein User, der sich an einer mehrsprachigen Seite anmeldet, seine aktuelle Sprache abgespeichert bekommt:

  • 30. Juli 2007: Start der Issue.
  • 1 1/2 Jahre vergehen.
  • 14. Januar 2009: ich komme dazu.
  • 22. Januar 2009: erster Patch
  • 18. August 2009: ca. 11. Version des Patches zum ersten Mal auf "reviewed & tested by the community"
  • 11. Oktober 2009: ca. 19. Version. sun passt alles auf die neuen Drupal 7 APIs an.
  • 2. November 2009: webchick möchte ordentliche Tests zu dem Patch.
  • 28. Dezember 2009: Ich hatte erst überhaupt keine Lust mehr, da der Test viel Arbeit bedeutet, habe mich aber zusammengerissen und eine neue Version erstellt.
  • 29. Dezember 2009: ca. 22. Version fertig.
  • 26. Februar 2010: catch setzt den Patch auf "reviewed & tested by the community". Das ist das ca. 5. Mal.
  • 7. März 2010: webchick committet den Patch.

Die ganze Sache hat sich also über fast 3 Jahre hingezogen. Von meiner Seite ‐ nicht allein, sondern mit vielen sehr netten und aktiven Helfern ‐ gab es fast 30 Patch-Versionen und es hat gut 1 Jahr gedauert. Es gab viel Hin und Her, Diskussion und auch Frustration. Ein paarmal habe ich mir überlegt, es einfach zu lassen...

Erst Frust, dann Motivation

Wenn man sich das so anschaut, dann schreckt es davon ab, etwas am Drupal-Kern zu ändern. Für mich bedeutet es aber das völlige Gegenteil. An der ganzen Diskussion und dem Umgang mit der Community bin ich gewachsen wie nie zuvor. Die wichtigste Lehre für mich daran ist, dass die Dinge Zeit brauchen und auch haben. Wir alle arbeiten nicht hauptberuflich an Drupal und geben das, was wir wollen und können. Ich hatte immer das Gefühl, dass die ganze Community auf mich schaut, ich keine Fehler machen darf und möglichst schnell sein muss. Das ist einfach falsch. Lieber etwas Zeit lassen und exakt arbeiten. Niemand ist böse, wenn man sich mal eine Woche nicht mit der Sache beschäftigt hat. Und wenn doch, ist es nur ein blöder Troll.

Der Zeitpunkt, an dem es gerade richtig ist, diesen Fehler auf die gewählte Art zu beheben, muss auch erstmal gekommen sein. Das Ganze hat erst nach dem Umbau der Drupal 7 Schnittstellen Sinn gemacht und ich habe erst sehr spät gemerkt, dass dies nicht im user.module geschehen sollte, sondern im local.module. Denn nur dann sind mehrere Sprachen aktiv und Drupal funktioniert ohne diesen Patch mit einer einzigen Standardsprache sehr gut.

Keine Angst

Angst vor Moderatoren, in unserem Fall Schwergewichten der Gemeinde, die Euch aus irgendeinem Grund vielleicht nicht mögen, einen schlechten Tag haben oder sonstige Beweggründe haben, Euch unfair zu behandeln, solltet ihr auch nicht haben. Ich habe zwar schon erlebt, dass ein nach meiner Meinung guter Patch nicht übernommen wurde, aber damit muss man einfach leben. Aus der Ablehnung heraus entstand eher neue Energie, da die Person, die diesen Patch geschrieben hat, nicht locker lässt, sondern gleich das Subsystem umschreiben will. Das Ganze zeigt, dass man, sofern man etwas objektiv Sinnvolles macht, nicht überhört werden kann. Vor Willkür schützt Euch die Gemeinde, Ihr seid nicht allein!

Und schreibt Eure Meinung. Es sind so viele schlechte Posts auf Drupal.org, da könnt ihr gar nicht schlimmer sein. Aber Eure Motivation sollte natürlich sein, etwas dazu beizutragen und wer sollte ernsthaft etwas gegen einen sinnvollen Einwand haben? Ich habe so gerade das Kern-Team als sehr fair und offen kennen gelernt. Mit Webchick in Paris zu reden war eine wirklich tolle Sache! Schreibt und sprecht sie an. Es dauert, aber ich habe immer eine Antwort bekommen.

Ich werde weiter beim Kern helfen!

Meine Empfehlung an jeden, der für und mit Drupal entwickelt, ist, sich die ganze Core-Geschichte zu gönnen! Näher und intensiver könnt Ihr nicht an der Gemeinde dran sein. Und mehr über Euch, die anderen und das System lernen auch nicht. Am Ende überwiegt immer das Positive und nicht das Negative!

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
Mit dem Absenden dieses Formulars, akzeptieren Sie die Datenschutzrichtlinie von Mollom.