Original-URL des Artikels: https://www.golem.de/news/python-webframework-django-beklagt-nachwuchsproblem-1811-137854.html    Veröffentlicht: 22.11.2018 09:59    Kurz-URL: https://glm.io/137854

Python

Webframework Django beklagt Nachwuchsproblem

Das Django-Projekt, ein Python-Framework für das Web, hat ein Nachwuchsproblem. Der Entwickler James Bennett schlägt nun Änderungen an der Kernstruktur vor, um attraktiver für neue Entwickler zu werden.

Während das freie Webframework Django als Software durchaus erfolgreich sei, sehe es mit dem Projekt dahinter anders aus, schreibt der Entwickler James Bennett in einem Blopost. Seiner Auffassung nach motiviere das Projekt zu wenige Entwickler, die mit Django arbeiten, auch an Django zu arbeiten. Das führe letztlich zu einem Nachwuchsproblem für das Projekt. Bennett macht deshalb auch mehrere Vorschläge, wie das Django-Projekt verändert werden sollte.

Dass Django zu wenige Beitragende finde, liege laut Bennett an mehreren Faktoren. Zum einen arbeiteten an Django mittlerweile hauptsächlich Freiwillige. Und deren Zahl habe in den vergangenen Jahren abgenommen. Dazu trage auch bei, dass es kaum noch einfache Bugfixes und kleinere Funktionen gebe, die Einsteiger umsetzen könnten. Zugleich fehle es dem Projekt an Vielfalt. Zwar würden Frauen Django einsetzen, aber nur wenige Frauen entwickeln aktiv Code für das Projekt. Ebenso stammen die meisten Entwickler aus Europa, Australien und Nordamerika. Für die Zukunft des Projekts sei es wichtig, dass die Zahl neuer Beitragender mit der Zahl an inaktiv werdenden Entwicklern mithalte. Ein "monokulturelles Team" sei da eher ein Hindernis.

Kernteam als Kernproblem

Um das Nachwuchsproblem zu lösen, sei in den vergangenen Jahren immer wieder über Änderungen am Kernteam des Projekts diskutiert worden. Der Hintergrund ist, dass ein innerer Kreis, die Committer oder Core-Entwickler, darüber bestimmen, welche Code-Beiträge in das Framework einfließen. Diese Committer können in Abstimmung mit dem Technical Board theoretisch beliebige Änderungen an Django vornehmen.

Praktisch sehe der Entwicklungsprozess aber ganz anders aus. Tatsächlich würden Entscheidungen von Committern und Nicht-Committern über die Mailingliste im Konsens getroffen. Auch Committer würden Code nicht einfach einpflegen, sondern ihn mit anderen Entwicklern zuvor diskutieren. Django Fellows, von der Django Software Foundation bezahlte Entwickler, begutachten Fehlermeldungen, arbeiten die Pull Requests ab und erzeugen und veröffentlichen die Release-Pakete.

Strukturänderung für Django

Obwohl die Committer ihren besonderen Status nicht nutzen, sei der vermutete "gottgleiche Status" dieser ein Problem für neue Entwickler und halte diese womöglich von Beiträgen ab. Bennett schlägt vor, diese Struktur zu ändern, die Rechte für Committer aufzulösen und sie durch zwei Gruppen zu ersetzen: Merger und Releaser. Erstere kümmern sich um das Einpflegen von Pull Requests, Letztere paketieren und publizieren die Release-Versionen der Software.

Konsens soll das Projekt über Abstimmungen auf der öffentlichen Mailingliste finden, was laut Bennett jetzt faktisch schon passiere. Das technische Board soll dabei eine besondere Rolle einnehmen. Es nimmt an der Wahl der Merger- und Releaser-Rollen teil und stimmt neuen Django-Releases zu. Abstimmungen über die Mitglieder im Technical Board sollen seltener stattfinden und werden von der Django Software Foundation begleitet. Im Prinzip dürfen alle Entwickler abstimmen, wenn sie dies in guter Absicht tun. Akteure mit schlechten Absichten kann der Vorstand der Foundation wenn nötig blockieren, was aber nur Mitglieder betrifft, die sich nicht selbst zur Wahl ins Technical Board stellen.

Ausgang offen

Indem alle Entwickler auf der Mailingliste die gleiche Stimme erhalten, wolle man das Projekt für neue Codebeiträge öffnen. Der Schritt würde nicht automatisch zu neuen Entwicklern und mehr Vielfalt führen, könnte aber eine bessere Basis schaffen, um die Probleme anzugehen.

Bennett hat seinen Vorschlag bereits im September in einem DEP (Django Enhancement Proposal) beschrieben, über welches das Projekt nun diskutiert. Dabei ist offen, ob das Projekt den Vorschlag in dieser Form annimmt, denn Django Team, Technical Board und die Stiftung müssen ihn am Ende absegnen. Bennett hofft zumindest, dass das Projekt bis Mitte nächsten Jahres eine neue Governance-Struktur auf die Beine stellen kann.  (kki)


Verwandte Artikel:
Webframeworks: Django 1.4 behandelt Zeitzonen   
(26.03.2012, https://glm.io/90740 )
Raspberry Pi: Raspbian bekommt hardwarebeschleunigten VLC-Player   
(20.11.2018, https://glm.io/137809 )
Nicht nur iOS-Apps: Apples Swift soll auf Servern laufen   
(26.10.2016, https://glm.io/124051 )
Project-Open veröffentlicht Version 3.4   
(09.11.2009, https://glm.io/71065 )
Programmiersprachen, Pakete, IDEs: So steigen Entwickler in Machine Learning ein   
(12.11.2018, https://glm.io/137463 )

© 1997–2019 Golem.de, https://www.golem.de/