DEP-18 steht für Debian Enhancement Proposal 18, also einen Verbesserungsvorschlag für Debian. Der Vorschlag wurde kürzlich vom langjährigen Debian-Entwickler Otto Kekäläinen auf dessen Webseite vorgestellt.
Kekäläinen spricht dabei ein heikles Thema an, das bereits des Öfteren für Diskussionen bei Debian sorgte. Es geht um die teils archaische und für Neulinge abschreckende Praxis, neuen Code in Debian einzubringen und zu pflegen. Entwickler klagen über ineffektive Prozesse und generell zu langsame Fortschritte.
Git oder nicht Git
In Debian gibt es offiziell keine Pflicht, Quellcode oder Paketpflege in Git zu betreiben. Stattdessen basiert das Paket-Commit-System auf dem Archiv, wobei jeder neue Upload ein neuer Commit ist; der Changelog-Eintrag ersetzt dabei die auf Git übliche Commit-Message.
Salsa ist freiwillig
Viele Entwickler hosten ihre Paketierung zwar auf Debians GitLab-Instanz namens Salsa, aber das ist freiwillig und laut Kekäläinen nicht zuverlässig synchronisiert. Als Folge seien viele Pakete nur durch Uploads im Archiv versioniert, Zwischenstände und alternative Versionen seien meist nicht öffentlich verfügbar. Patches laufen über Mail-Bugtracker ohne öffentliche Code-Review, ohne Rebase oder Branching und ohne CI-Feedback. Diese Arbeitsweise sei zwar »nicht kaputt«, wirke aber veraltet und hinderlich, besonders für neue Mitwirkende und für paralleles Arbeiten an mehreren Paketen.
Warum Git-basierte Zusammenarbeit Vorteile bringt
Git mit Merge Requests, Branching, Forking und öffentlicher Historie erlaubt wesentlich flexiblere, nachvollziehbare und kollaborative Paketpflege. Laut Kekäläinen lohnt sich der Aufwand, Git zu lernen und korrekt zu nutzen. Mit Git, Merge Requests und CI können Änderungen früh geprüft, diskutiert und getestet werden, statt erst nach Upload ins Archiv und damit erst nach dem eventuellen Einbringen von Fehlern einer Überprüfung unterzogen zu werden.
Zudem werde die Transparenz erhöht, denn andere Entwickler sehen, was gerade in Arbeit ist. Potenzielle Duplikate werden vermieden, Forks erlauben bei Bedarf auch eine unabhängige Weiterentwicklung.
Laut Kekäläinen sollte eine Standard-Praxis mindestens so aussehen:
- Debian-Packaging-Quellen sollten in Git auf Salsa gepflegt werden.
- Beiträge sollten via Merge Requests erfolgen und nicht per Mail-Patch direkt ins Archiv.
- Bereits vor dem Upload sollten Änderungen durch Salsa-CI getestet werden.
Als technische Voraussetzung wird unter anderem eine bessere Integration des Features tag2upload in git‑buildpackage gefordert. Außerdem sollte die Tool- und Review-Infrastruktur bei Bedarf ausgebaut werden. Diese Regeln sollen offiziell als Best Practice empfohlen, aber nicht erzwungen werden.
DEP-18 wird auf der Entwicklerliste ausführlich diskutiert. In der Diskussion gibt es sowohl Befürworter als auch Gegner der Idee: Einige Maintainer sehen Vorteile in Standardisierung und moderner Git-basierter Kollaboration, andere befürchten Mehraufwand, Einschränkungen oder dass das Projekt Mitglieder verliert, wenn man gewohnte Arbeitsabläufe aufgibt.
Während der Debian-Entwicklerkonferenz DebConf 25 hielt Kekäläinen einen Vortrag zu diesem Thema.
