Stellvertretende Projektleiter#

Release Manager(s)#

Der Release Manager (RM) wird für eine Nebenversions-Release-Serie (A.B.x) von Matplotlib ernannt, nicht für eine feste Laufzeit. Er ist verantwortlich für den gesamten Release-Lebenszyklus aller Nebenversionen der Serie, einschließlich

  • sicherstellen, dass die "Was gibt es Neues", API-Änderungen und Release-Notizen aktuell sind

  • die Terminierung der Releases

  • welche Änderungen aus dem Master-Branch zurückportiert werden sollten oder nicht

  • das Neuerstellen und Veröffentlichen der Website

  • das Veröffentlichen von sdist und Wheels auf PyPI

  • die Benachrichtigung von Downstream-Packagern über das Release

  • die Ankündigung des Releases (in Abstimmung mit dem Community Manager)

Eine Person kann gleichzeitig RM für mehr als eine Release-Serie sein.

API-Leiter#

Eine gute API ist entscheidend für Benutzerfreundlichkeit und Benutzerzufriedenheit. Wir streben nach einer intuitiven, einfach zu bedienenden, konsistenten und stabilen API. Der API-Leiter (AL) ist verantwortlich für die allgemeine Weiterentwicklung der API. Insbesondere stellt er sicher, dass

  • Hinzufügungen gerechtfertigt sind, d.h. sie keine bestehende Funktionalität duplizieren und den beabsichtigten Umfang der Bibliothek nicht überschreiten

  • Hinzufügungen konsistent mit der bestehenden API sind

  • Hinzufügungen so gestaltet sind, dass sie keine zukünftigen Haftungen verursachen, d.h. sie zukünftige Erweiterungen nicht unbeabsichtigt einschränken oder Interna preisgeben

  • Änderungen sorgfältig zwischen ihrem Nutzen für zukünftige Benutzer und ihrem Einfluss auf bestehenden Code abgewogen werden

  • Änderungen der Deprecation-Richtlinie folgen, damit sie Benutzer nicht unvorbereitet treffen

Principal Engineer#

Matplotlib stützt sich auf eine breite und tiefe Codebasis, um seine öffentliche API zu implementieren; die Low-Level-Details müssen korrekt sein, um diese API treu zu implementieren. Im Gegensatz zum API-Leiter, der für das zuständig ist, was die Bibliothek tut, ist der Principal Engineer für das "Wie" zuständig. Er ist die Anlaufstelle für

  • Rendering

  • Dateiformate

  • Text-/Schrifthandhabung

  • Integration mit GUI-Toolkits

  • interne Datenstrukturen und API

Leiter der Referenzdokumentation#

Die Referenzdokumentation der Matplotlib-API ist zwischen den Docstrings und der rst-Quelle aufgeteilt. Diese Dokumentation muss vollständig und korrekt sein, da unsere Benutzer sie als letzte Autorität dafür nutzen, was eine gegebene Methode tut (abgesehen vom Lesen des Quellcodes).

Der Leiter der Referenzdokumentation (RDL) ist dafür verantwortlich, dass die Docstrings

  • korrekt formatiert sind und wie beabsichtigt gerendert werden

  • technisch korrekt sind

  • vollständig sind

Zusätzlich zu den Docstrings ist der RDL für die Sphinx-Build-Maschinen und unsere Sphinx-Erweiterungen zuständig.

Leiter der narrativen Dokumentation#

Neben der Referenzdokumentation verfügt Matplotlib über narrative Dokumentation. Diese Dokumentation kann in Form von kurzen "Kochbuch"-Beispielen, längeren Tutorials und Texten erfolgen, die das "Wie" und "Warum" der Interna der Bibliothek dokumentieren. Dies umfasst Inhalte, die sowohl im Hauptrepository als auch in anderen Repositories der Matplotlib-Organisation liegen.

Der Leiter der narrativen Dokumentation ist für die Betreuung all dieser Inhalte verantwortlich, einschließlich Umfang, Organisation, Niveau, Ton und Stil.

Sekretär#

  • Verantwortlich für die Sicherstellung, dass es eine Agenda für das wöchentliche Treffen gibt und dass diese eingehalten wird.

  • Verantwortlich für die Pflege der wöchentlichen Protokolle.

Community Manager#

Die wahre Stärke von Matplotlib und warum es als Projekt so lange Bestand hat, ist die Community der Menschen rund um den Code. Diese Community muss gepflegt werden. Der Community Manager (CM) ist eine Auffangposition für mehrere sehr unterschiedliche Aufgaben, und diese Rolle kann in Zukunft aufgeteilt werden und möglicherweise weitere Assistenten benötigen. Der CM ist verantwortlich für das Evangelisieren, die Öffentlichkeitsarbeit und den Benutzersupport von Matplotlib sowie für die Pflege der Kommunikationskanäle mit der Community.