Leitfaden für Praktiker: Erste Schritte mit Contributor Sustainability

Primäre Kennzahlen:

Falls Sie das noch nicht gelesen haben Leitfaden für Praktiker: Einführung – Woran Sie bei der Interpretation von Kennzahlen denken solltenBitte halten Sie jetzt inne und lesen Sie diesen Leitfaden.

Die Nachhaltigkeit der Mitwirkenden ist ein wichtiger Teil der Beurteilung, ob ein Open-Source-Projekt und eine Open-Source-Community über genügend Mitwirkende verfügen, damit das Projekt langfristig aufrechterhalten werden kann. Daher hat die Nachhaltigkeit der Mitwirkenden einen großen Einfluss auf die Gesamtnachhaltigkeit des Projekts. Es gibt viele Projekte mit einem einzigen Betreuer (siehe xkcd-Abhängigkeit), und viele Projekte haben Mühe, genügend Leute zu finden, die aktiv an ihren Projekten teilnehmen und sie langfristig weiterführen (Egbahl 2016). Avelino et al. (2019) stellten fest, dass selbst beliebte Projekte dauerhaft aufgegeben werden können und sich nicht erholen, wenn sie zu viele wichtige Mitwirkende verlieren.

Die Realität ist, dass es viele Open-Source-Projekte und nicht genügend Mitwirkende gibt. Daher benötigen die Betreuer dringend Hilfe bei den verschiedenen Arten von Beiträgen, die für ein erfolgreiches und nachhaltiges Open-Source-Projekt erforderlich sind. Es ist jedoch wichtig, darüber nachzudenken, dass jeder neue Beitrag für die Betreuer zusätzliche Arbeit mit sich bringt, die diese überprüfen und akzeptieren müssen. Dieser Aufwand kann durch entsprechende Automatisierung, Prozesse und Dokumentation gemildert werden, um den Erfolg der Mitwirkenden zu unterstützen. Letztendlich müssen einige dieser Mitwirkenden jedoch selbst Betreuer werden, um die zusätzliche Arbeitsbelastung durch neue Mitwirkende zu bewältigen (Eghbal 2020).

Wenn es nicht genügend Mitwirkende und Betreuer gibt, um ein Projekt aufrechtzuerhalten, erhöht dies das Risiko, dass das Projekt scheitert, was wiederum eine Reihe von oft erheblichen Herausforderungen für die Benutzer und andere Projekte mit sich bringt, die davon abhängen.

Schritt 1: Trends identifizieren

Es gibt eine Reihe von Dingen, die sich auf die Nachhaltigkeit der Mitwirkenden auswirken können. Beginnend mit Mitarbeiterabwesenheitsfaktor, können Sie das Risiko für das Projekt einschätzen, wenn wichtige Mitwirkende/Betreuer sich entscheiden, das Projekt zu verlassen, aber es ist auch wichtig, sich andere damit zusammenhängende Trends anzusehen Mitwirkende zusammen mit dem Arten von Beiträgen die Menschen machen, um potenzielle Mitwirkende-Risiken zu identifizieren, die sich auf die Gesamtnachhaltigkeit Ihres Projekts auswirken könnten.

Mitarbeiterabwesenheitsfaktor

Der Contributor Absence Factor ist wichtig, um die Nachhaltigkeit von Mitwirkenden zu verstehen, da er die Frage visualisiert: „Wie viele Mitwirkende können wir verlieren, bevor ein Projekt ins Stocken gerät?“ Er hilft dabei, festzustellen, wie weit die Arbeit in einem Projekt auf die Mitwirkenden verteilt ist, und die Schlüsselpersonen in einem Projekt zu identifizieren, die den Großteil der Arbeit erledigen. Wenn der Großteil der Arbeit von einer einzelnen Person oder einer kleinen Anzahl von Personen erledigt wird, erhöht sich das Risiko, dass ein Projekt nicht mehr nachhaltig ist, wenn diese Person oder Personen nicht mehr an dem Projekt arbeiten (Avelino et al. 2019).

Balkendiagramm „Beitragsabwesenheitsfaktor“ mit ausgeglichenen Beiträgen von 16 % bis 6 % der Zusagen

Mitwirkende

Die Metrik „Mitwirkende“ untersucht allgemein, wer zu einem Projekt beiträgt, und kann auf viele verschiedene Arten visualisiert werden. Sie können dies zwar als einzelne Anzahl von Mitwirkenden im Zeitverlauf betrachten, es kann jedoch hilfreich sein, dies aufzuschlüsseln, um zu verstehen, wie viele Mitwirkende aktiv sind und wie viele im Zeitverlauf eine zunehmende oder abnehmende Aktivität aufweisen. Während die Metrik „Mitwirkender-Abwesenheitsfaktor“ gut dazu geeignet ist, wichtige Mitwirkende zu identifizieren, sollten Sie auch versuchen, die Nachhaltigkeit der Mitwirkenden allgemeiner zu verstehen, um allgemeine Trends bei allen Mitwirkenden zu betrachten und festzustellen, ob Sie einen Zuwachs oder Rückgang der Mitwirkendenzahl verzeichnen.

Aktive Mitwirkende im Zeitverlauf und Wachstumsanalyse mit positiven und negativen Beitragssalden

Arten von Beiträgen

Mehrere, unterschiedliche Beiträge wirken sich auf den Zustand und die Nachhaltigkeit von Open-Source-Projekten aus. Zu den Beiträgen können das Schreiben von Code, die Verwaltung der Community, die Fehlersuche, die Evangelisierung des Projekts, die Unterstützung von Benutzern oder die Hilfe auf andere Weise gehören. Eine Vielzahl von Beitragstypen kann zeigen, dass ein Projekt ausgereift und umfassend ist und über ausreichende Aktivität verfügt, um alle Aspekte des Projekts aufrechtzuerhalten, und Wege zur Führung ermöglichen, die eine Vielzahl von Beitragstypen und Personen mit unterschiedlichem Fachwissen über die Programmierung hinaus unterstützen.

Beiträge nach Datenquelle für verschiedene Quellen im Laufe der Zeit, darunter GitHub, Twitter, Pipermail, Slack

Schritt 2: Diagnose

Wie in der Einführung zum Practitioner Guide erwähnt, sollten Sie zunächst mit einigen Personen sprechen, die eng am Projekt beteiligt sind, damit Sie gemeinsam die Trends betrachten und sie auf eine Weise interpretieren können, die für das Projekt sinnvoll ist. Das Bild unten zeigt beispielsweise, dass über 60 % der Zusagen für dieses Projekt im vergangenen Jahr von einer einzelnen Person getätigt wurden, was in den meisten Fällen das Risiko erhöht, dass das Projekt nicht mehr nachhaltig sein könnte, wenn diese Person oder Personen nicht mehr arbeiten An dem Projekt. Es ist jedoch auch wichtig, darüber im Lichte anderer Aspekte des Projekts nachzudenken. Wenn es sich bei diesem Projekt beispielsweise hauptsächlich um Dokumentation handelt, die viele Leute über das erforderliche Wissen aktualisieren können, oder wenn es sich um Code handelt, der relativ einfach und für andere leicht verständlich ist, oder wenn das Projekt hauptsächlich von einer einzelnen Person verwendet wird, ist das Risiko relativ gering. Wenn das Projekt andererseits komplex, groß und/oder weit verbreitet ist, ist das Risiko hoch und das Projekt sollte sich auf die Rekrutierung von mehr Mitwirkenden und Betreuern konzentrieren, um die Nachhaltigkeit der Mitwirkenden zu erhöhen.

Busfaktor-Kreisdiagramm, das zeigt, dass ein Mitwirkender 61.8 % der Zusagen geleistet hat, während die nächstgrößten Mitwirkenden 10.8 % und 9.77 % geleistet haben

Es ist auch wichtig, sich andere Trends im Zusammenhang mit Mitwirkenden anzusehen. Die folgende Grafik zeigt beispielsweise, dass die Zahl der aktiven Mitwirkenden für dieses Projekt ihren Höhepunkt erreichte und dann zurückging. Daher wäre es wichtig zu diagnostizieren, warum dies der Fall sein könnte. Wenn es sich bei dem Projekt um etwas zeitlich Begrenztes handelte (z. B. im Zusammenhang mit einer Konferenz oder einem Workshop), das abgeschlossen wurde, oder um ein Projekt, bei dem der Großteil der Arbeit abgeschlossen wurde und nicht leichtfertig gewartet wird, wäre dies ein normales Muster. Wenn es sich jedoch um ein typisches Open-Source-Projekt handelt, könnte dies darauf hindeuten, dass es schwerwiegende Probleme gibt, die sich auf die Bindung von Mitwirkenden auswirken und diagnostiziert und behoben werden sollten.

Das Beitragswachstum nach Engagement zeigt, dass die Zahl der aktiven Mitwirkenden im April 2023 ihren Höhepunkt erreichte und bis Oktober 2023 auf null zurückging

Schritt 3: Sammeln Sie bei Bedarf zusätzliche Daten

CHAOSS verfügt über weitere Kennzahlen zur Nachhaltigkeit der Mitwirkenden, die bei der Diagnose spezifischer Probleme innerhalb Ihrer Community helfen können.

Zusätzliche Metriken:

Schritt 4: Nehmen Sie Verbesserungen vor

Die Rekrutierung neuer Mitwirkender, die als Betreuer fungieren können, ist entscheidend für den Erfolg von Projekten, bei denen die Nachhaltigkeit der Mitwirkenden ein Anliegen ist. Manche Projekte können sich sogar von der Aufgabe durch ihre Hauptentwickler erholen, indem sie neue Betreuer rekrutieren (Avelino et al. 2019). Indem Sie sich auf die Rekrutierung neuer Mitwirkender konzentrieren, bevor Sie Ihre wichtigsten Entwickler verlieren, haben Sie Zeit, Mitwirkende an Bord zu holen und einer späteren Krise proaktiv vorzubeugen.

Der Contributor Absence Factor kann Ihnen einige Dinge sagen, die Sie verwenden können, um Verbesserungen durch die Mitwirkenden voranzutreiben, die Ihr Projekt nachhaltiger machen. Erstens hilft er Ihnen zu entscheiden, wie nachhaltig Ihre aktuelle Mitwirkendensituation ist. Wenn eine Person die meisten Beiträge leistet und das Projekt groß oder komplex ist, sollten Sie sich auf Möglichkeiten konzentrieren, die Last zu verteilen und mehr Personen in das Projekt einzubeziehen. Zweitens kann Ihnen die Metrik des Contributor Absence Factor dabei helfen, Personen zu finden, die möglicherweise mehr beitragen, als Sie dachten, was Ihnen dabei helfen kann, darüber nachzudenken, wen Sie ermutigen können, mehr beizutragen, oder vielleicht jemanden zu finden, der eine Führungsrolle übernehmen könnte (z. B. Prüfer oder Betreuer). In Bezug auf Führungsrollen könnten Sie sich jemanden ansehen, der zehn Prozent der Beiträge leistet, und entscheiden, dass er bereit ist, Betreuer zu werden. Eine Möglichkeit, dies zu tun, besteht darin, den Spielraum für neue Betreuer zu reduzieren. Wenn sie nicht bereit sind, Betreuer für das gesamte Projekt zu sein, können sie vielleicht ein Unterprojekt oder einen bestimmten Abschnitt des Projekts betreuen, während sie ihre Expertise in anderen Bereichen aufbauen. Eine Möglichkeit, dies zu tun, besteht darin, OWNERS oder CODEOWNERS-Dateien um Personen die Verantwortung für verschiedene Bereiche innerhalb Ihres Repositorys zu übertragen, einschließlich Dokumente oder Community-Abschnitte. Leute, die weniger, aber regelmäßige Beiträge leisten, könnten gute Kandidaten für eine Mentorschaft oder eine Tätigkeit als Gutachter sein, mit dem Ziel, sie zu Betreuern zu machen, nachdem sie etwas mehr Erfahrung gesammelt haben.

Es ist auch wichtig, sich Ihre Beitragsleitfäden oder andere Onboarding-Dokumentationen anzusehen, um sicherzustellen, dass neue Mitwirkende problemlos in Ihr Projekt einsteigen können (Links finden Sie im Abschnitt „Weitere Lektüre“). Durch eine gute Dokumentation können wir die Dinge skalieren, die bereits überlasteten Betreuern wertvolle Zeit rauben, und ihnen Zeit für andere Dinge verschaffen. Ein neuer Mitwirkender muss zumindest verstehen, wie er eine Umgebung einrichtet, in der er seine Entwicklung durchführen kann, welche Erwartungen an Tests gestellt werden und wie Tests ausgeführt werden, welche Prozesse oder Erwartungen Sie an Pull Requests haben und welche Anweisungen für andere Anforderungen gelten. Wenn dies gut dokumentiert ist, können neue Mitwirkende mit minimaler Hilfe von vorhandenen Betreuern einsteigen, was Ihnen auf lange Sicht viel Zeit sparen kann (Eghbal 2020). Wenn ein Projekt keine guten Onboarding-Dokumente hat, können Betreuer frustriert sein, weil sie so viel Zeit mit Fragen neuer Mitwirkender verbringen müssen, was es neuen Mitwirkenden schwer machen kann, sich willkommen zu fühlen, und es lange dauern kann, bis sie produktiv werden. So werden die Leute entmutigt und lassen Ihr Projekt hinter sich. Das heißt aber nicht, dass Sie Tage und Wochen damit verbringen müssen, perfekte Onboarding-Dokumente zu schreiben. Alles ist besser als nichts, und wenn Sie mit ein paar Dingen beginnen, die den Leuten den Einstieg erleichtern, können neue Mitarbeiter tatsächlich dazu beitragen, die Onboarding-Dokumente zu verbessern, indem sie mehr Details und zusätzliche Anweisungen für Dinge hinzufügen, die sie verwirrend fanden oder mit denen sie Schwierigkeiten hatten.

Während Onboarding-Dokumentation eine gute Möglichkeit ist, Leuten den Einstieg in großem Maßstab zu erleichtern, hat sich Mentoring als effektive und effiziente Methode erwiesen, neue Mitwirkende einzuarbeiten, damit sie schneller produktiv in Ihrem Projekt sein können (Fagerholm et al. 2014). Mentoring nimmt dem Betreuer jedoch kurzfristig Zeit weg, in der Hoffnung, das Projekt langfristig nachhaltiger zu machen. Daher ist es wichtig, darüber nachzudenken, welche wiederkehrenden Mitwirkenden gute Kandidaten für Mentoring sein könnten (Egbahl 2020).

Gute erste Ausgaben oder Hilfegesuche-Labels sind ein guter Ausgangspunkt, da sie den Leuten helfen, etwas zu finden, an dem sie arbeiten können, während sie mehr über das Projekt erfahren. Sie müssen sich jedoch Gedanken darüber machen, wie Sie diese Ausgaben so gestalten, dass sie genügend Informationen für neue Mitwirkende enthalten. Gute erste Ausgaben sollten als etwas Einfaches konzipiert sein, das ein brandneuer Mitwirkender in kurzer Zeit verstehen und abschließen kann, um ihm zu helfen, mehr über Ihren Beitragsprozess zu erfahren. Hilfegesuche-Labels können für etwas komplexere Ausgaben verwendet werden, damit Leute, die bereits mit Beiträgen begonnen haben, etwas anderes finden, an dem sie arbeiten können. Gute erste Ausgaben und Hilfegesuche-Labels sowie gute Beitragsleitfäden helfen Ihnen dabei, einen nachhaltigen Pool an Mitwirkenden für Ihr Projekt aufzubauen.

Allerdings handelt es sich bei den Labels „Gute erste Probleme“ und „Hilfe gesucht“ um passive Hilfeanfragen. Deshalb ermutige ich die Betreuer auch dazu, proaktiv und konkret zu sein, wie Menschen helfen können. Wenn Sie eine bestimmte Person bitten, eine PR zu überprüfen oder eine Frage eines Benutzers zu beantworten, zeigen Sie, dass Sie dessen einzigartiges Fachwissen erkennen und seine Hilfe benötigen. Zu wissen, dass wir gewollt und geschätzt werden, gibt uns ein gutes Gefühl, was eine starke Motivation sein kann, zu einem Open-Source-Projekt beizutragen oder weiterhin beizutragen. Sich an jemanden zu wenden, seine Arbeit anzuerkennen und ihn gleichzeitig dazu zu ermutigen, mehr zu tun, kann Ihnen dabei helfen, Leute zu rekrutieren, die in Ihrem Projekt zunehmend Verantwortung übernehmen könnten (z. B. Prüfer oder Betreuer). Scheuen Sie sich nicht, sich zusätzlich zu Ihren Mitwirkenden auch an Ihre Power-User zu wenden. Wenn Sie in einem Unternehmen arbeiten, können Sie Ihre Unternehmensbeziehungen zu anderen Organisationen nutzen, um Personen zu finden, die an einer Mitarbeit interessiert sein könnten.

Die Definition der Rollen und Verantwortlichkeiten für Mitwirkende, Prüfer und Betreuer kann bei der Rekrutierung neuer Personen für diese Rollen hilfreich sein. Es kann hilfreich sein, darüber nachzudenken Beitragsleiter wo Mitwirkende zu Prüfern aufsteigen können und diese Prüfer zu Betreuern. Wichtig ist, dies zu dokumentieren und sicherzustellen, dass die Leute verstehen, wie sie die Karriereleiter erklimmen und mehr Verantwortung innerhalb des Projekts übernehmen können. Wenn Sie mehr Leute in Führungsrollen wie Prüfer und Betreuer befördern, kann das den Busfaktor verringern und Ihr Projekt mit der Zeit nachhaltiger machen.

Der Haken hier und bei vielen Metriken ist, dass wir nicht nur an die Leute denken wollen, die Codebeiträge leisten. Das ist ein guter Anfang, aber Sie sollten auch darüber nachdenken, wie Sie Menschen in Führungspositionen befördern können, damit sie für Dinge verantwortlich sind, die in GitHub oder GitLab möglicherweise nicht auftauchen, wie Dokumentation, Community-Management, Marketing und andere wichtige Rollen. Aus diesem Grund ist es so wichtig, auch die Kennzahl „Arten von Beiträgen“ zu betrachten. Es kommt häufig vor, dass Betreuer den Zeitaufwand, der für einige dieser Aufgaben aufgewendet wird, unterschätzen. Die Rekrutierung von mehr Leuten für andere Rollen kann die Arbeitsbelastung weiter verteilen und die Nachhaltigkeit der Mitwirkenden erhöhen.

Betreuer eines Projekts mit einem niedrigen Beitragsabwesenheitsfaktor sollten, insbesondere wenn sie die einzigen Betreuer sind, eine Art Nachfolgeplan haben. Zumindest sollte jemand anderes Administratorzugriff auf alles haben, was zum Aktualisieren der Software und Veröffentlichen von Releases (einschließlich der Veröffentlichung an relevante Paketmanager) erforderlich ist, zusammen mit der Dokumentation dazu. Idealerweise gibt es einen anderen Betreuer für das Projekt, der die Verantwortlichkeiten gleichmäßig aufteilen kann und bereits über den Zugriff, die Fähigkeiten und das Wissen verfügt, um alle Projektaufgaben auszuführen. Dies ist ein Grund, warum die obigen Diskussionen zum Aufbau Ihrer Beitragsbasis und zur Rekrutierung von Betreuern so wichtig sind. Obwohl dies nicht ideal ist, könnte die Nachfolgeplanung für Projekte mit einem einzigen Betreuer die Bereitstellung von Zugriff und Dokumentation für einen vertrauenswürdigen Kollegen oder Freund umfassen. Der Schlüssel zur Nachfolgeplanung besteht darin, sie jetzt einzurichten, bevor Sie denken, dass Sie sie brauchen.

Schritt 5: Ergebnisse überwachen

Wie Sie die Ergebnisse überwachen, hängt davon ab, für welche Verbesserungen Sie sich entschieden haben. Die weitere Überwachung dieser drei Kennzahlen ist ein guter Anfang. Wenn Sie andere Daten aus Schritt 3 verwendet haben, sollten Sie diese Metriken ebenfalls überwachen.

Wenn Sie neue Mitwirkende, Genehmiger und Betreuer einstellen, kann es eine Weile dauern, bis Sie die Ergebnisse dieser Bemühungen sehen. Daher werden Sie möglicherweise erst nach drei bis sechs Monaten signifikante Verbesserungen feststellen. Daher müssen Sie dies über einen längeren Zeitraum überwachen von Zeit.

Vorsichtsmaßnahmen und Überlegungen

  • Es ist wichtig, über die menschliche Dynamik nachzudenken, die die Nachhaltigkeit der Mitwirkenden beeinflussen kann, und Menschen mit Freundlichkeit und Respekt zu behandeln, während Sie an Verbesserungen arbeiten.

Zusätzliche Lektüre

Feedback

Wir würden uns über Feedback freuen, um mehr darüber zu erfahren, wie Menschen die CHAOSS Practitioner Guides nutzen und wie wir sie im Laufe der Zeit verbessern können. Bitte füllen Sie dies aus kurze Umfrage um Ihr Feedback abzugeben.

Mitwirkende

Die folgenden Personen haben zu diesem Leitfaden beigetragen:

  • Morgenröte
  • Chan Voong
  • Jeffrey Osier-Mixon
  • Luis Cañas Díaz

Literaturhinweise

CHAOSS Practitioner Guides sind MIT-lizenzierte, lebendige Dokumente und wir freuen uns über Ihr Feedback und Ihren Input. Sie können Änderungen an diesem Dokument vorschlagen unter https://github.com/chaoss/wg-data-science/blob/main/practitioner-guides/contributor-sustainability.md