Website-Suche

13 Möglichkeiten, sich an Ihrem Lieblings-Open-Source-Projekt zu beteiligen


Wenden Sie GET/SET-Prinzipien auf die Verbindung mit Open-Source-Projekten an.

Viele Leser meines Blogs wissen bereits viel über Open Source, aber mir ist auch bewusst, dass viele, wenn überhaupt, wenig oder gar nichts darüber wissen. Ich bin ein großer Befürworter von Open-Source-Software (und darüber hinaus, wie z. B. offener Hardware), und Sie können viele großartige Ressourcen finden, um mehr darüber zu erfahren.

Ein sehr guter Ausgangspunkt ist der, den Sie gerade lesen: Opensource.com. Es wird von einer Gruppe brillanter Leute für die breitere Community von meinem derzeitigen Arbeitgeber, Red Hat, geleitet. (Ich sollte einen Haftungsausschluss hinzufügen, dass ich nicht nur bei Red Hat angestellt bin, sondern auch Korrespondent bei Opensource.com – eine Art regelmäßiger Mitwirkender/Elder Thing.) Es gibt Artikel zu so ziemlich jedem Aspekt von Open Source, den Sie sich vorstellen können .

Ich habe heute über APIs nachgedacht (sie sind in den Nachrichten, während ich dies schreibe, nach einem Urteil des Obersten Gerichtshofs der USA zu einem Streit zwischen Google und Oracle), und mir kam der Gedanke, dass ich daran interessiert wäre, zu verstehen, wie man interagiert mit Open Source auf Projektebene, wusste aber nicht viel darüber, dann könnte eine Kurzanleitung hilfreich sein. Das Gleiche gilt, wenn ich an einem Open-Source-Projekt (z. B. Enarx) beteiligt wäre und daran interessiert wäre, Mitwirkende (insbesondere technisch versierte Mitwirkende) zu gewinnen, die sich noch nicht mit Open Source auskennen.

Angesichts der Tatsache, dass die meisten Programmierer verstehen, was GET- und SET-Methoden bewirken (eine liest Daten, die andere schreibt Daten), dachte ich, dass dies ein nützlicher Rahmen sein könnte, um über Engagement nachzudenken.1 Ich beginne mit GET, Denn so beginnen Sie wahrscheinlich – mehr über das Projekt herauszufinden – und wechseln dann zu SET-Methoden, um sich an einem Open-Source-Projekt zu beteiligen.

Dies ist bei weitem keine vollständige Liste, aber ich hoffe, dass ich die meisten wichtigen Möglichkeiten kennengelernt habe, mit denen Sie am ehesten beginnen, sich zu engagieren oder andere dazu zu ermutigen, sich zu engagieren. Die von mir gewählte Reihenfolge spiegelt meiner Meinung nach einen ziemlich typischen Ansatz wider, um mehr über ein Projekt herauszufinden, insbesondere für diejenigen, die sich noch nicht mit Open Source auskennen, aber, wie man sagt, YMMV.3

Ich habe es geschafft, mich davon abzuhalten, Enarx (das ich mitbegründet habe) als einzige Beispielquelle zu verwenden, und habe versucht, verschiedene Projekte zu finden, um Ihnen einen Vorgeschmack zu geben. Haftungsausschluss: Ihre Aufnahme hier bedeutet nicht, dass ich ein Benutzer oder Mitwirkender des Projekts bin, noch gibt es eine Garantie für ihre Open-Source-Anmeldeinformationen, Codequalität, Aktualität, Projektreife oder Community-Gesundheit.4

GET-Methoden

  • Landingpage: Die erste Begegnung, die Sie mit einem Projekt haben, wird wahrscheinlich seine Landingpage sein. Bei manchen Projekten geht es um etwas Einfaches, bei anderen geht es um mehr Design, aber Sie sollten dies als Ausgangspunkt für Ihre Abenteuer rund um das Projekt nutzen können. Im Allgemeinen hoffen Sie, auf der Zielseite Links zu verschiedenen anderen unten aufgeführten Ressourcen zu finden.

    • Siehe Sigstores Landingpage.
  • Wiki: In vielen Fällen verfügt das Projekt über ein Wiki. Dies kann einfach oder komplex sein. Es kann die Bearbeitung durch jedermann oder nur durch eine ausgewählte Gruppe von Mitwirkenden des Projekts gestatten, und seine Relevanz als Quelle der Wahrheit kann davon abhängen, wie aktuell es ist. Dennoch ist das Wiki normalerweise ein ausgezeichneter Ausgangspunkt.

    • Weitere Informationen finden Sie im Fedora-Projekt-Wiki.
  • Videos: Einige Projekte unterhalten eine Reihe von Videos über ihr Projekt. Dazu können Einführungen in die Konzepte, Talking-Head-Interviews mit Teammitgliedern, Konferenzsitzungen, Demos, Anleitungen und mehr gehören. Es lohnt sich auch, nach Videos zu suchen, die von Mitwirkenden des Projekts gepostet wurden, sich aber nicht unbedingt offiziell im Eigentum des Projekts befinden.

    • Siehe Rust Language-Videos.
  • Verhaltenskodex: Viele Projekte bestehen darauf, dass ihre Projektmitglieder einen Verhaltenskodex befolgen, um Belästigungen und Reibungen zu reduzieren und das Projekt allgemein zu einem freundlicheren, integrativeren und vielfältigeren Ort zu machen.

    • Siehe CoC des Linux-Kernels.
  • Binär-Downloads: Wenn Projekte ausgereifter werden, entscheiden sie sich möglicherweise dafür, vorkompilierte Binär-Downloads für Benutzer bereitzustellen. Technisch versiertere Benutzer entscheiden sich vielleicht dafür, ihre eigenen Binärdateien aus der Codebasis zu kompilieren (siehe unten), aber Binär-Downloads können eine schnelle Möglichkeit sein, ein Projekt auszuprobieren und zu sehen, ob es das tut, was Sie wollen.

    • Sehen Sie sich die Binärdateien von Chocolate Doom (eine Doom-Portierung) an.
  • Designdokumentation: Ohne Designdokumentation kann es sehr schwierig sein, wirklich in ein Projekt einzusteigen. (Über die Bedeutung von Architekturdiagrammen habe ich bereits geschrieben.) Diese Dokumentation umfasst wahrscheinlich alles von einer API-Definition bis hin zu komplexen Anwendungsfällen und Bedrohungsmodellen.

    • Siehe die Designdokumente von Kubernetes.
  • Codebasis: Sie haben alles herausgefunden, was Sie brauchen, um loszulegen: Es ist Zeit, sich den Code anzusehen! Dies kann von wenigen Zeilen bis hin zu mehreren Tausend Zeilen reichen, eine Dokumentation in Kommentaren umfassen oder Testfälle umfassen, aber wenn der Code nicht vorhanden ist, kann sich das Projekt nicht legitim als Open Source bezeichnen.

    • Siehe Code des Rocket Rust-Webframeworks.5
  • E-Mail/Chat: Die meisten Projekte möchten den Mitwirkenden die Möglichkeit bieten, Angelegenheiten asynchron zu diskutieren. Das bevorzugte Medium variiert je nach Projekt, aber die meisten entscheiden sich für eine E-Mail-Liste, einen Chat-Server oder beides. Hier können Sie andere Benutzer und Mitwirkende kennenlernen, Fragen stellen, erfolgreiche Kompilierungen feiern und einfach nur Zeit verbringen.

    • Siehe Enarx-Chat.
  • Treffen, Videokonferenzen, Anrufe usw.: Obwohl persönliche Treffen für viele im Moment schwierig sind (ich schreibe, da COVID-19 immer noch die Reisemöglichkeiten einschränkt), gibt es Möglichkeiten für Community-Mitglieder und Mitwirkende Das synchrone Zusammenkommen kann für alle sehr hilfreich sein. Manchmal sind diese auf täglicher, wöchentlicher oder monatlicher Basis geplant; manchmal fallen sie mit anderen, größeren Treffen zusammen, manchmal wird ein Projekt groß genug, um eigene Treffen zu veranstalten; Manchmal ist es so groß, dass es Treffen von Teilprojekten oder internen Interessengruppen gibt.

    • Sehen Sie sich den Linux Security Summit Europe an.

PUT-Methoden

  • Fehlerberichte: Viele von uns tragen zum ersten Mal etwas Wesentliches zu einem Open-Source-Projekt bei, wenn wir einen Fehlerbericht einreichen. Fehlerberichte von neuen Benutzern können für Projekte sehr hilfreich sein, da sie nicht nur Fehler aufdecken, die dem Projekt möglicherweise noch nicht bekannt sind, sondern auch Hinweise darauf geben, wie tatsächliche Benutzer des Projekts versuchen, den Code zu verwenden. Wenn das Projekt bereits Binär-Downloads veröffentlicht (siehe oben), müssen Sie nicht einmal den Code kompilieren, um es auszuprobieren und einen Fehlerbericht einzureichen. Aber auch Fehlerberichte im Zusammenhang mit der Kompilierung und dem Build können für das Projekt äußerst nützlich sein. Manchmal bietet der Mechanismus zur Fehlerberichterstattung auch die Möglichkeit, allgemeinere Fragen zum Projekt zu stellen oder nach neuen Funktionen zu fragen.

    • Weitere Informationen finden Sie auf der Problemseite für exa (ein Ersatz für den Befehl ls).
  • Tests: Sobald Sie mit der Nutzung des Projekts begonnen haben, können Sie sich auch beteiligen (insbesondere, wenn Sie anfangen, Code beizutragen), indem Sie Tests dafür entwerfen und einreichen, wie das Projekt funktionieren soll arbeiten. Dies kann eine großartige Möglichkeit sein, sowohl Ihre Annahmen (und Unwissenheiten!) über das Projekt als auch die Entwurfsannahmen des Projekts (von denen einige durchaus fehlerhaft sein können) aufzudecken. Tests sind oft Teil des Code-Repositorys, aber nicht immer.

    • Weitere Informationen finden Sie im Test-Repository der GNOME-Shell.
  • Wiki: Ein Wiki kann eine großartige Möglichkeit sein, zum Projekt beizutragen, unabhängig davon, ob Sie programmieren oder nicht. Bei vielen Projekten sind nicht so viele Informationen verfügbar, wie sie sollten, und diese Informationen richten sich möglicherweise nicht an Personen, die „frisch“ zum Projekt kommen. Wenn Sie dies getan haben, sind Sie in einer guten Position, Material zu schreiben, das anderen „Neulingen“ hilft, schneller in das Projekt einzusteigen, da Sie wissen, was Ihnen geholfen hätte, wenn es dort gewesen wäre.

    • Weitere Informationen finden Sie im Wiki zu Wine (Windows-Emulator für Linux).
  • Code: Zu guter Letzt können Sie Code schreiben. Es kann Stunden, Monate oder Jahre dauern, bis Sie dieses Stadium erreichen – oder Sie werden es vielleicht nie erreichen –, aber Open-Source-Software ist nichts ohne ihren Code. Wenn Sie den anderen Schritten genügend Aufmerksamkeit geschenkt haben, sich in der Community engagiert haben, verstanden haben, was das Projekt bezwecken soll, und über das technische Fachwissen verfügen (das Sie im Laufe der Zeit durchaus weiterentwickeln können!), dann ist das Schreiben von Code möglicherweise der richtige Weg Du möchtest einen Beitrag leisten.

    • Siehe Enarx (noch einmal).
  1. Ich habe zwar über Standard-RESTful-Verben nachgedacht – GET, PUT, POST und DELETE –, aber das fühlte sich ziemlich gekünstelt an.2
  2. Und mir gefällt die Idee von DELETE in diesem Zusammenhang nicht!
  3. „Ihr Kilometerstand kann variieren“, was im Grunde bedeutet, dass Ihre Erfahrung unterschiedlich sein kann, und das ist zu erwarten.
  4. Trotzdem verwende ich viele davon!
  5. Ich habe dieses aufgenommen, weil ich in den letzten Monaten viel viel Zeit damit verbracht habe, mir das anzuschauen …

Dieser Artikel wurde ursprünglich über Alice, Eve und Bob veröffentlicht und wird mit Genehmigung des Autors nachgedruckt.

Verwandte Artikel: