The Architecture of Participation: Teilnehmende Open Source bei MySQL

Seite 2: Der Wille zur Veränderung, Die ersten Schritte

Inhaltsverzeichnis

Mitte 2006 wurde deutlich, dass wir in puncto aktiver Teilnahme unserer Entwickler- Community zu wenig erreicht hatten. In den Jahren von 2001 bis 2006 waren so gut wie keine Beiträge in Form von Programmcode eingeflossen, was sicherlich auch an den großen künstlichen Hürden lag, die wir den Beitraggebern aufgebaut hatten. Es gab außer einer Mailingliste2 kein gutes Kommunikationsmedium und außerdem keine Webseite mit einem Verzeichnis MySQL-kompatibler Anwendungen.Weiterhin bestand wenig Systematik im Umgang mit jenen Benutzern, die unser Produkt getestet und wertvolle Fehlerberichte zur Fehlerdatenbank hinzugefügt hatten.

MySQL hatte viele Beitraggeber bei der externen Qualitätssicherung. Zahlreiche Menschen halfen uns indirekt, indem sie anderen MySQL-Benutzern in verschiedenen Web-Foren, Newsgroups und Mailinglisten, in vielen unterschiedlichen Sprachen, Hilfestellungen gaben. Außerdem konnte MySQL aus der Community sehr erfolgreich neue Entwickler, Support-Mitarbeiter, Berater, Schulungsleiter und sonstige Angestellte anwerben. Insofern waren wir auch in den Jahren 2001 bis 2006 erfolgreich beim Aufbau der teilnehmenden Entwicklung, allerdings noch mit reichlich ungenutztem Potenzial.

Betrachtet man die künstlichen Hürden bei den Software-Patches, so fällt vor allem unser doppeltes Lizenzverfahren auf, wodurch MySQL-Server nicht nur unter der GPL zur Verfügung steht, sondern auch unter kommerziellen Lizenzen. Dies erfordert natürlich, dass MySQL die entsprechenden Rechte an der Software besitzt, was auch die Beiträge aus der Community einschließt. Dieses Problem wurde mit Hilfe des Contributor License Agreement (CLA) gelöst, wodurch die externen Entwickler uns die erforderlichen Rechte geben, damit deren Beiträge auch in die kommerziellen Produkte einfließen können. Jede andere Lösung hieße eine Spaltung von MySQL, nach der kommerzielle und GPL-Benutzer nicht mehr das gleiche Produkt verwenden würden, was nicht in unserem Sinne ist. Allerdings ist die Übertragung der Rechte auf MySQL ebenso im Sinne unserer Community, die sich vor allem die Mühe ersparen möchte, ihre Änderungen selbst zu verwalten und in neue MySQL-Versionen einzubauen.

Im Jahre 2006 haben wir dreiweitere ausschlaggebende Schritte gemacht: Die Gründung von MySQL Forge mitsamt Wiki, das Starten des MySQL Quality Contributor Programs sowie die Einführung des MySQL Camps. Das Wort forge in MySQL Forge entspricht der deutschen Schmiede und ist die geläufige Bezeichnung für eine Art Verzeichnis oder Vorrat verschiedener Software, die sich mit einer gewissen Entwicklungsumgebung oder Anwendung befasst. Im Fall von MySQL Forge geht es dabei um Software, die mit MySQL läuft. Das können Werkzeuge wie phpMyAdmin sein, die die Funktionalität von MySQL leichter zugänglich machen. Es kann aber ganz generelle Software sein, die mit MySQL arbeitet. Unserer Community wollen wir dadurch die Wahl neuer Softwaretools erleichtern. MySQL Forge ist aber nicht nur eine Sammlung von Werkzeugen, sondern auch ein Vorrat von kleinen Programmschnipseln (snippets), die das tägliche Leben mit MySQL erleichtern. Diese Skripte werden direkt unter MySQL Forge verwaltet. Darunter befindet sich z. B. MySQL Cluster in 5 Minutes, ein Setup-Skript für MySQL Cluster von Kai Voigt.

Außerdem ermöglicht MySQL Forge die Teilnahme unserer Community auch im Bereich der Dokumentation. Da MySQLs eigene Benutzerdokumentation aus verschiedenen Gründen im schwer zugänglichen DocBook-Format zur Verfügung steht und nur von MySQL-Angestellten aktualisiert wird, können die Dokumentationen der snippets beziehungsweise andere Dokumentationen direkt im Wiki-Format von der Community selbst aktualisiert werden. Hier ist beispielsweise auch die oben genannte CLA erläutert. Das MySQL Quality Contributor Program startete Ende 2006 und ist die systematische Vergütung für externe Testbeiträge. Der Beitrag der Community im Bereich von Qualitätssicherung bezieht sich in erster Linie auf Fehlerbeschreibungen, darüber hinaus aber auch auf Testfälle und bestenfalls sogar auf Fehlerbehebungen. Die Quality Contributors werden mit Punkten belohnt: Eine Beschreibung eines noch nicht bekannten Fehlers ist wertvoll, aber ein Testfall, der den Fehler reproduzierbar macht, ist noch wertvoller. Am wertvollsten ist natürlich ein Patch, der den Fehler behebt. Je nach Art ihres Beitrags werden auch die Quality Contributors belohnt. Die Punkte können dann nach einer gewissen Formel in Abonnements auf MySQL Enterprise (Basic, Silver, Gold) umgesetzt werden. Martin Friebe und Heinz Schweitzer sind die zwei fleißigsten Beitraggeber, die den Status von Gold erreicht haben. Dicht gefolgt werden sie von der Debian-User-Community.

Beim MySQL-Camp handelt es sich um eine Art Konferenz. Im ersten MySQL Camp (November 2006) im Google-Hauptquartier in Mountain View, Kalifornien, haben sich mehr als 200 Entwickler zusammengetan und in lockerer Atmosphäre Vorträge zusammengestellt beziehungsweise diskutiert. Dabei haben die Referenten ihr Thema grob vorstrukturiert und mit dem Publikum, das eher aus Teilnehmern denn aus Zuhörern bestand, erörtert. Besonders wurden Einsatzmöglichkeiten von MySQL besprochen, wobei der Fokus oftmals auf den bestehenden Entwicklungsbedürfnissen lag. Das MySQL-Camp war sowohl für Benutzer als auch für Entwickler eine gute Möglichkeit angeregten Austauschs.