
Teilen Sie:
Diana ist Entwicklungsbeauftragte bei Vonage. Sie isst gerne frische Austern.
Eine Anleitung für Anfänger, wie man zu Open Source beiträgt
Lesedauer: 10 Minuten
"Zu Open Source beizutragen" ist einer dieser Sätze, die man ständig hört und gerne tun würde, aber nicht immer weiß, wie. Anfangs war ich zugegebenermaßen entmutigt, einen Beitrag zu leisten, weil ich von all den Ressourcen, die mir zur Verfügung gestellt wurden, überwältigt war, vor allem, wenn jede einzelne einen anderen Ansatz hatte.
Dieser Blog wird auch eine von vielen Möglichkeiten sein, wie Sie mit Open Source beginnen können (Entschuldigung), aber ich werde meine ehrliche Herangehensweise teilen, wie ich dazu gekommen bin, einen Beitrag zu leisten, und Dinge, von denen ich wünschte, ich hätte sie gewusst, als ich anfing.
Was ist ein Open-Source-Projekt?
Open Source bezieht sich auf ein Projekt, das so konzipiert ist, dass es offen zugänglich und veränderbar ist. Oft wird ein Open-Source-Projekt für jedermann zugänglich gemacht, um es zu sehen, zu ändern und weiterzugeben (im Gegensatz zu Closed-Source-Software (CSS), die nicht öffentlich zugänglich ist und nur von der Person oder Organisation geändert werden kann, die sie erstellt hat). Auch wenn die Menschen in der Regel dazu ermutigt werden, einen Beitrag zu leisten und das Projekt zu verbessern, müssen dennoch einige Regeln für den Umgang mit dem Projekt eingehalten werden, und hier kommt die Lizenzierung ins Spiel (ich werde in diesem Blog noch näher darauf eingehen).
Die bestimmenden Faktoren von Open Source sind:
Der Quellcode des Projekts ist öffentlich zugänglich. Das Projekt verfügt über eine Lizenz, die mit der Open-Source-Definition (OSD).
Zum Beispiel kann das Vonage Python SDK ist quelloffen. Hier können Sie sehen, dass es die Apache-2.0-Lizenz verwendet. Dies ist der Standard für unsere Vonage SDKs.
Python Repo
Was ist ein Open-Source-Mitarbeiter?
Während Open-Source Projekte Kriterien haben, die sie als Open-Source-Projekte definieren, sind Mitwirkende nicht. Es gibt viele verschiedene Möglichkeiten, einen Beitrag zu leisten, zum Beispiel:
Code-Beiträge: Behebung von Fehlern, Implementierung neuer Funktionen und Refaktorierung des Codes.
Dokumentation: Erstellen oder verbessern Sie die Dokumentation (einschließlich README-Dateien, Benutzerhandbücher und API-Dokumentation), lokalisieren Sie die Dokumente (übersetzen Sie sie in eine andere Sprache oder schreiben Sie den Code in einer anderen Programmiersprache), und schreiben Sie Tutorials.
Bericht Ausgaben: Wenn Sie feststellen, dass ein Projekt verbessert werden kann, schlagen Sie Änderungen vor, indem Sie das Problem melden. Sie müssen die Änderung nicht selbst durchführen, obwohl es sehr empfehlenswert und äußerst hilfreich wäre, wenn Sie es könnten. Jemand anderes, der über die nötigen Fähigkeiten und die nötige Bandbreite verfügt, könnte sich des Themas annehmen, um das Projekt für alle anderen zu verbessern.
Prüfung: Testen Sie auf verschiedenen Plattformen und melden Sie Probleme, schreiben Sie Unit-Tests und richten Sie CI/CD-Pipelines ein oder verbessern Sie sie.
Gemeinschaftliche Unterstützung: Beantworten Sie Fragen in Foren, führen Sie Code-Reviews durch und stehen Sie neuen Mitarbeitern als Mentor zur Seite. Wenn zum Beispiel jemand im Appwrite-Discord-Server um Hilfe bei der Implementierung von Vonage Video auf Appwrite Cloud bittet, könnte ich einen Kommentar abgeben und den Betreffenden an meinen Teamkollegen Chris Tankersleys Blog.
Veranstaltungen organisieren: Veranstalten oder besuchen Sie Treffen oder Workshops, die Open-Source-Projekte fördern.
Wie man ein Open-Source-Projekt findet, zu dem man beitragen kann
Sehen wir uns die verschiedenen Möglichkeiten an, wie Sie Open-Source-Projekte finden können.
Bewerben Sie sich für ein Open-Source-Mentoring-Programm
Die Mitarbeit an Open Source kann eine gelegentliche Tätigkeit sein, die Sie in Ihrer Freizeit ausüben, oder sie kann wie eine Vollzeitbeschäftigung sein. Wenn Sie über die nötige Bandbreite verfügen, um an einem Programm teilzunehmen, bei dem Ihnen jemand Verantwortung überträgt und Sie durch den Prozess führt, Ihnen ein Projekt mit Fristen zugewiesen wird und Ihre Arbeit benotet wird, würde ich empfehlen, sich für ein Programm wie Google Summer of Codezu bewerben, bei dem man während des Programms 40 Stunden pro Woche arbeiten muss. Das wäre für mich eine ideale Option gewesen, als ich noch Studentin war und kein Praktikum hatte.
Einer meiner sehr guten Freunde, Kunal Kushwahahat ein YouTube Video das die Leute durch diesen Prozess führt, aber hier ist ein kurzer Überblick:
Achten Sie auf die Fristen für diese Option. Am Google Summer of Code-Programm kann man nicht einfach zu einem beliebigen Zeitpunkt des Jahres teilnehmen. Die Bewerber müssen angenommen werden, um an dem Projekt ihrer Wahl zu arbeiten.
Weiter zu Google Summer of Code> Organisationen> Alle Organisationen durchsuchen. Verwenden Sie die Filter, um nach einer Organisation, einer Technologie oder einem Thema zu suchen, das Sie interessiert. Klicken Sie auf eine Organisation, um zu sehen, welche Projekte sie für Mitwirkende bereithält.
Lesen Sie sich jedes Projekt durch und finden Sie die spezifischen Anweisungen, wie Sie sich für das jeweilige Projekt bewerben können. Dies wäre auch ein guter Zeitpunkt, um das Projekt auszuprobieren.
Hier sind einige Dinge, die Sie bei der Auswahl eines Projekts beachten sollten:
Was wollen Sie erreichen?
Warum haben Sie sich gerade für dieses Projekt entschieden?
Wenn Sie schließlich ein eigenes Projekt vorschlagen, wie unterscheidet sich Ihre Idee von einem bereits bestehenden Projekt, das Sie hätten wählen können?
Warum sind Sie für die Teilnahme an diesem Projekt geeignet?
Wie viel Zeit wollen Sie vor/während/nach dem Programm in das Projekt investieren?
3. Wenn Sie angenommen werden, bekommen Sie einen Mentor zur Seite gestellt, der Sie dabei unterstützen kann, ein guter Mitarbeiter zu werden!
Gute Erstausgabe" Ausgaben finden
Sagen wir, Sie können nicht ganz so viel Zeit aufwenden die viel Zeit aufwenden, um zu Open Source beizutragen - das ist okay, ich kann es auch nicht. Stattdessen können Sie eine gute erste Aufgabe in Angriff nehmen, die für neue Mitwirkende geeignet ist, da diese in der Regel keine tiefen Kenntnisse der Codebasis des Projekts erfordern. Sie sollten eine Aufgabe wählen, die Ihren Fähigkeiten und Interessen entspricht.
Hier sind einige Möglichkeiten, wie Sie eine "gute erste Ausgabe" finden können:
Suche nach einem öffentlichen Github-Repository, das dem Thema 'good-first-issue' entspricht. Andere Schlüsselwörter/Phrasen, nach denen Sie suchen können und die ähnliche Ergebnisse liefern können, sind "contributions-welcome", "hacktoberfest", "beginner", "beginner-friendly", "help-wanted" oder "contributions-welcome".
Appwrite hat zum Beispiel Ausgaben mit der Bezeichnung gut-erste-Ausgabe'..
Verwenden Sie einen guten Erstausgaben-Finder. Eddie Jaoude hat einen gebaut, den Sie kostenlos benutzen können.
Wenn Sie ein Problem gefunden haben, an dem Sie gerne arbeiten möchten, sehen Sie im Kommentar-Thread nach, ob es bereits jemandem zugewiesen wurde. Wenn nicht, hinterlassen Sie einen Kommentar und bitten Sie die Betreuer, Ihnen die Aufgabe zu übertragen.
Hierist ein Beispiel dafür, wie jemand einen Kommentar abgibt und darum bittet, an einem Problem zu arbeiten, das ich gemeldet habe.
Wenn Sie eine Frage haben, während Sie an dem Problem arbeiten, scheuen Sie sich nicht, öffentlich zu lernen. Gehen Sie zum Issue-Thread auf GitHub und/oder einer anderen öffentlichen Plattform, die die Community zum Chatten nutzt (Discord, Slack usw.) und senden Sie eine öffentliche Nachricht mit folgendem Kontext:
was Sie getan haben
was Sie zu erreichen versuchen
Fehler, die Sie erhalten haben
nach Ressourcen fragen, die Ihnen helfen, die Blockade aufzuheben
Wie man ein Problem meldet
Ich dachte immer, wenn ich ein Problem anspreche, bin ich das Problem. Wie Taylor Swift sagt: "Ich bin's. Hi. Ich bin das Problem, es liegt an mir." Aber die Sache ist die - Sie sind nicht das Problem! Sie könnten sogar die Lösung sein. Das Melden von Problemen zählt immer noch, und es ist mein Lieblings Weg, zu Open Source beizutragen.
Wenn Ihnen bei der Suche nach einem "guten ersten Problem" keine Probleme aufgefallen sind, gehen Sie zu einem GitHub-Repositorium, das Sie interessiert, und verwenden Sie das Projekt. Erstellen Sie das Projekt auf Ihrem eigenen System. Wenn Sie auf irgendwelche Probleme stoßen (sei es im Code oder in der Dokumentation), melde sie.
Beispiel für einen Open-Source-Beitrag (Melden eines Problems)
Schauen wir uns meinen Beitrag zu Appwriteeinem Unternehmen, das eine Open-Source Backend-as-a-Service (BaaS) Plattform anbietet.
Woher wissen wir, dass es sich um ein Open-Source-Projekt handelt? Überprüfen wir die deren Repo!
Appwrite Check Es ist ein öffentliches Repo.
Sie hat eine Lizenz.
Die Datei LICENSE.md-Datei beschreibt, was Sie mit diesem Projekt tun dürfen.
Als ich eine Anwendung zur Planung von SMS mit Vonage und Appwrite Messagingerstellte, stieß ich auf ein Problem, bei dem ich mir in diesem Moment sehr dumm vorkam. Ich versuchte, das Datum und die Uhrzeit (30. Mai 2024, 15:27:10 Uhr) für den Versand einer SMS festzulegen, aber ich erhielt immer wieder eine Fehlermeldung. Ich habe sogar bestätigt, dass die Uhrzeit, die ich einstellen wollte, nach der aktuellen Uhrzeit (15:25) lag.
Discord QuestionAlso ging ich zum Discord-Server von Appwrite und schickte eine Nachricht an einen der Kanäle. Ja, es kann entmutigend sein, sich verletzlich zu zeigen und vor anderen Leuten um Hilfe zu bitten, aber das Lernen in der Öffentlichkeit ist ein wichtiger Teil der Open-Source-Kultur.
Kurz darauf erhielt ich eine Antwort von einem ihrer Teammitglieder, in der genau erklärt wurde, was schief gelaufen war. Er erkannte sogar an, dass es sich lohnt, das Problem zu melden, denn wenn ich auf dieses Problem stoßen würde, würden es auch andere tun.
Discord responseZuerst habe ich eine schnelle Suche nach ihrem Repo durchgeführt und ihre CONTRIBUTING.md-Dateigefunden, in der klar beschrieben ist, welche Art von Hilfe sie gebrauchen können und wie man sich einbringen kann.
Ich klickte auf deren Registerkarte Ausgaben und klickte auf "Neue Ausgabe".
Auf dieser Seite habe ich die Art meines Problems ausgewählt. Da ich eine Änderung an der SMS-Planungsfunktion vorschlagen möchte, wähle ich "Verbesserung".
Anschließend füllte ich alle erforderlichen Felder aus, um den Vorschlag einzureichen, und drückte dann auf "Neue Ausgabe einreichen". Als Referenz habe ich mir ein zuvor gemeldeten Problem.
Sie können meine offene Ausgabe hier. Das war's - ich habe einen Open-Source-Beitrag geleistet! 🙌🏻
Häufige Missverständnisse über Open Source
Sie müssen wissen, wie man programmiert. Viele Menschen glauben, dass für die Mitarbeit an Open-Source-Projekten fortgeschrittene Programmierkenntnisse erforderlich sind. Programmieren ist zwar hilfreich, aber es gibt noch andere wertvolle Möglichkeiten, einen Beitrag zu leisten, z. B. die Verbesserung der Dokumentation (Umschreiben, Neuformatieren usw.), Design, Testen, Übersetzen, Melden von Fehlern und Unterstützung der Gemeinschaft. Keine dieser Tätigkeiten erfordert Programmierkenntnisse.
Open Source ist Diebstahl. Manche Leute glauben, dass das Kopieren von Open-Source-Software Diebstahl von geistigem Eigentum ist. IHR ALLE! Erinnern Sie sich, als ich sagte, dass Open-Source-Projekte eine Lizenz benötigen? Wenn der Projektbetreuer eine Lizenz gewählt hat, die tut die es anderen erlaubt, ihre Software zu benutzen, zu verändern und zu verbreiten, ist es vollständig legal, dies zu tun. Open Source ist dazu da, um genutzt zu werden. Angenommen, ein Projekt verfügt über die Funktionalitäten, die Sie für Ihre eigene Anwendung benötigen, warum sollten Sie das Rad neu erfinden? Und wenn Sie bei der Verwendung des Projekts auf Probleme stoßen, können Sie dazu beitragen, indem Sie das Problem melden oder es selbst beheben. Solange Sie die Urheberschaft anerkennen, ist alles erlaubt. Denken Sie nur daran, dass nicht alle Lizenzen dies verbieten.
Die Apache-Lizenz zum Beispiel hat nur wenige Einschränkungen und erlaubt es, den Code in kommerzielle Projekte einzubinden, ohne dass das gesamte Projekt Open Source sein muss. Das ist die Lizenz, die das eingangs erwähnte Python-SDK von Vonage verwendet.
Mit Open Source kann man kein Geld verdienen. Ich war anfangs auch neugierig, weil ich nicht verstanden habe, wie ein Open-Source-Unternehmen Geld verdienen kann, wenn es seinen Code kostenlos zur Verfügung stellt. Der Code ist immer noch kostenlos. Viele Unternehmen, die Open-Source-Software entwickeln, können jedoch Geld verdienen, indem sie Dienstleistungen wie bezahlten Support, benutzerdefinierte Funktionen oder Schulungen für Kunden zur Verwendung des Projekts selbst anbieten.
Zum Beispiel, das CAMARA-Projekt ist ein Open-Source-Projekt innerhalb der Linux Foundation, das Unterprojekte mit Bezug zur Telekommunikation hat, wie z. B. SIM-Tausch und Nummernüberprüfung. Ein großes Unternehmen wie Ericsson kann die SIM-Tausch-API und Nummernüberprüfungs-API verwenden, um seine kommerziellen Produkte zu entwickeln.
Wie Sie Ihr Projekt Open Source machen
Wählen Sie eine Open-Source-Lizenz: Obwohl Sie keinen Genehmigungsprozess durchlaufen müssen, um zu bestätigen, dass Ihr Projekt Open Source ist, ist es erforderlich dass Sie eine genehmigte Lizenz von einer vertrauenswürdigen Quelle wie der Open Source Initiative wählen, die mit Ihren Zielen übereinstimmt. Berücksichtigen Sie bei der Wahl der Lizenz die verschiedenen Anwendungsfälle für Ihr Projekt, z. B. die Entwicklung eines Softwareprodukts, das Sie verkaufen möchten.
Bereiten Sie Ihr Projekt für die Veröffentlichung vor: Vergewissern Sie sich, dass Ihr Code gut dokumentiert und sauber ist, und erstellen Sie Richtlinien für Beiträge, in denen beschrieben wird, wie andere sich beteiligen und Verbesserungen für das Projekt einreichen können. Vergessen Sie nicht, die von Ihnen gewählte Lizenz in Ihr Projekt aufzunehmen.
Veröffentlichen Sie Ihr Projekt auf einer Hosting-Plattform: Laden Sie Ihren Code auf die von Ihnen gewählte Plattform hoch - vergessen Sie nicht, die Lizenzdatei beizufügen! Öffentliche Code-Repositories wie GitHub oder GitLab sind beliebte Optionen für das Hosting von Open-Source-Projekten.
Und das war's! Ihr Projekt gilt als Open Source und ist für andere leicht zugänglich.
Teilen Sie Ihre Open-Source-Projekte mit uns!
Wir sind immer gespannt darauf, was Entwickler mit unseren Open-Source-APIs und SDKs von Vonage. Wenn Sie noch nicht Teil unserer Vonage Entwickler-Community sind, würden wir uns freuen, wenn Sie unserem Slack-Kanal beitreten und folgen Sie unserem Team auf X, früher bekannt als Twitter, damit jeder die lustigen Projekte sehen kann, die Sie gerne teilen möchten. Wenn Ihnen dieser Blog gefallen hat (oder auch nicht), können Sie mir gerne lassen Sie es mich auf X wissen mitzuteilen, was Ihre Lieblings-Open-Source-Projekte sind!