
Viele von uns Softwareingenieuren beschließen irgendwann, dass wir uns an einem Open-Source-Projekt beteiligen möchten. Viele von uns werden tatsächlich zu Mitwirkenden, aber es ist nicht immer klar, wo man anfangen soll und wie man ein Projekt findet, das perfekt zu einem passt. Einige Jahre lang haben mich diese Fragen davon abgehalten, anzufangen, und ich dachte, dass ich vielleicht nicht der Einzige bin. Daher habe ich beschlossen, meine Erfahrungen mit Ihnen zu teilen und hoffe, dass Sie dadurch etwas Zeit sparen oder sich unnötige Frustrationen ersparen können.
Warum beitragen?
Open-Source-Beiträge werden nicht oft in den Lebenslauf aufgenommen oder für das Marketing verwendet. In vielen Fällen werfen potenzielle Arbeitgeber keinen Blick auf Ihr GitHub-Konto. Natürlich sollten sie das, es ist ein großartiger Hinweis auf Ihre Fähigkeiten und Ihren Enthusiasmus! Aber wenn Sie dadurch nicht den neuen, schicken Job bekommen, was bringt es Ihnen dann?
Indem Sie an verschiedenen Projekten mitarbeiten, lernen Sie verschiedene Ansätze und Technologien kennen und können schlechte Praktiken leichter erkennen. Sie knüpfen Kontakte zu anderen Menschen, die Ihre Interessen teilen, und erhalten eine Menge Feedback. Sie lernen und bemerken, dass Ihnen neue Ideen in den Sinn kommen.
Ein weiterer häufiger Grund, einen Beitrag zu leisten, ist die Verbesserung von etwas, das Sie bei Ihrer täglichen Arbeit verwenden und von dem Sie oder Ihr Kunde direkt profitieren. Wenn Sie in Ihrem Unternehmen/Kunden/Hobbyprojekt eine Lösung implementieren, die generisch gemacht werden kann, können Sie jederzeit Ihr eigenes Projekt starten und Ihre eigene Bibliothek erstellen. Es ist sogar möglich, für die Open-Source-Arbeit bezahlt zu werden. Manche Unternehmen bezahlen ihre Mitarbeiter auch dafür, aber das ist ein ganz anderes Thema. Dennoch ist die meiste Open-Source-Arbeit freiwillig.
Schließlich ist es ein großartiges Gefühl, stolz darauf zu sein, zu etwas beizutragen, das Sie wirklich mögen und das einen positiven Einfluss hat. Aber denken Sie daran, dass die OSS-Beiträge nur dann regelmäßig für Sie arbeiten, wenn Sie Spaß daran haben.
Perfektes Projekt
Wie finden Sie nun ein geeignetes Projekt? Als ich mir diese Frage zum ersten Mal stellte, dachte ich einfach, dass ich auf GitHub (oder einer anderen Plattform) jedes Thema durchsuchen könnte, das für mich interessant ist. Aber wenn ich zum Beispiel nach 2D-Spiele-Engines suchte, bekam ich nicht wirklich die passenden Projekte angezeigt. Ich hatte mit Java zu tun und die meisten Spiel-Engines waren eine völlig andere Welt, so dass ich mich nicht traute, dort etwas einzureichen. Die Ergebnisse passten nicht zu meinen Kenntnissen. Selbst wenn es Ihnen nichts ausmacht, Ihren Stack komplett zu wechseln und das Unbekannte auszuprobieren, könnte es ein schwieriger Anfang sein.
Das hat mich zu einem anderen Ansatz geführt: Suchen Sie nach den Projekten, die meinen Fachkenntnissen entsprechen, z.B. die Java-Projekte. Es gibt tonnenweise Java-Projekte, aber auch andere Sprachen und Technologien. Sie können im Grunde alles finden, aber wenn Sie nicht wissen, was es tut und was die Aufgabe des Projekts ist, werden Sie sich nie engagiert genug fühlen, um anzufangen. Ich habe mich selbst dabei ertappt, wie ich mich in irgendwelchen Projekten umgesehen habe und keine Ahnung hatte, was ich damit anfangen sollte.
Meiner Erfahrung nach war es am besten, jedes Mal, wenn ich bei meiner täglichen Arbeit oder bei Gesprächen mit meinen Kollegen, bei Konferenzen usw. auf etwas Interessantes stieß, eine mentale Notiz zu machen. In Ihrem Projekt verwenden Sie höchstwahrscheinlich eine Bibliothek oder ein Framework, das Ihnen das Leben leichter macht. Vielleicht müssen Sie dort einen Fehler beheben oder eine Funktion hinzufügen (wenn die Bibliothek inaktiv ist, ist Forking immer eine Option). Als ich zum Beispiel an einem Scala-Projekt gearbeitet habe, musste ich viel mit Ammonite machen, was ein interessantes Projekt war.
Es kann eine Bibliothek sein, die Sie noch nicht unbedingt anwenden, vielleicht haben Sie nur davon gehört und gedacht, dass sie praktisch sein könnte, das reicht schon! Einige Bibliotheken werden immer beliebter und die Leute sind neugierig darauf, sie zu benutzen, auch das könnte eine gute Wahl sein.
Wo soll ich anfangen?
Jetzt haben Sie etwas gefunden, das für Sie ein interessantes Projekt ist. Was genau setzen Sie um? Was, wenn Sie noch keine Ideen haben? Werfen Sie einen Blick auf die Probleme, die für das Projekt erstellt wurden, vielleicht gibt es sowohl Fehler als auch Funktionswünsche. Einige Projekte verwenden Kennzeichnungen, so dass Sie eine Kennzeichnung wie "Hilfe gesucht", "anfängerfreundlich" oder "gute erste Ausgabe" finden können. Es gibt eine Ressource, die Ihnen hilft, diese zu finden, aber für mich persönlich reichte es aus, mir die Labels anzusehen.
Wenn das Projekt quelloffen ist, bedeutet das nicht, dass es für Beiträge von jedermann offen ist, aber ein Blick auf CONTRIBUTING.md oder ähnliche Seiten (falls vorhanden) wird Ihnen wahrscheinlich einen Eindruck vermitteln. Dort finden Sie auch die Richtlinien, wie/was Sie beitragen können, sowie die Code- und Designkonventionen.
Zeit für Feedback!
Meine größte Frustration nach dem ersten Pull Request war... die Stille. Einen Tag lang, zwei Tage lang und dann einen Monat lang hat sich niemand dazu geäußert. Ich habe jeden Tag nachgesehen und irgendwann dachte ich, dass das Projekt nicht mehr aktiv ist. Also habe ich nachgesehen, wann das letzte Mal etwas dort zusammengeführt wurde, und das war mehrere Monate zuvor. Es war traurig, einen PR zu finden, der dort mehrere Jahre lang hing und bei dem ab und zu jemand fragte: 'Das sieht nach einer coolen Funktion aus, warum wollen wir sie nicht zusammenführen?
Ich habe ein anderes Projekt ausprobiert und nach zwei Wochen des Wartens auf die Rückmeldung war ich von der ganzen Idee frustriert.
Das brachte mich dazu, nach wirklich aktiven Projekten zu suchen. Ich habe mir die Daten und die Häufigkeit von Pull-Anfragen, die zusammengeführt und kommentiert wurden, genau angesehen. Das einzige Problem war, dass bei aktiveren Projekten alle Anfragen in Bearbeitung waren. Es gab so gut wie nichts zu holen (außer Dokumentationstickets, aber wer will die schon).
Irgendwann aus dem Nichts erhielt ich Kommentare und etwas wurde sogar zusammengeführt. Auch wenn ich bereits den Bezug zu dem, was ich dort gemacht habe, verloren habe, war es dennoch ein tolles Gefühl, einen Beitrag zu leisten und mit anderen Menschen, die ähnliche Ideen wie ich hatten, an dem Projekt teilzunehmen.
Kommunikation ist wichtig
Ja, es gibt einen Vorschlag, der Ihnen helfen würde, den ganzen Frust zu vermeiden. Sie können sich immer direkt an den Projektinhaber wenden und ihm sagen, dass Sie sich gerne beteiligen möchten. Viele aktive Projekte haben Slack-Kanäle oder Gitter-Chats, in denen Sie Fragen stellen oder um Hilfe bitten können. Wenn Sie Ihre Fragen zu den Problemen stellen, Ihre Kommentare hinzufügen und sogar Ihr eigenes Feedback zu den bestehenden Pull Requests hinzufügen, werden Sie wahrscheinlich andere dazu bringen, sich im Projekt umzusehen und aktiver zu werden. Denken Sie daran, dass Ihr Beitrag in jedem Format (Kommentare, Fragen, Probleme, gelöschte oder zusammengefasste PRs) ein gültiger Beitrag ist.
Wenn Sie gerne etwas beitragen, könnten Sie auch Fragen auf Stack Overflow beantworten.
Fazit
OSS-Arbeit macht Spaß und ist auch sehr lehrreich. Es ist also immer gut, es auszuprobieren und zu sehen, ob Sie es regelmäßig tun möchten.
Stellen Sie sich vor, wie viele Tools, die Sie verwenden, von begeisterten Ingenieuren kostenlos entwickelt wurden! So funktioniert Open Source: Wir alle nutzen es, und es ist schön, wenn wir auch etwas dazu beitragen, also auch anderen helfen. Jeder gewinnt davon. Und wenn es noch kein perfektes Projekt gibt, können Sie jederzeit mit der Entwicklung von etwas Neuem beginnen und dabei natürlich andere mit einbeziehen!
Ein Versuch ist es auf jeden Fall wert. Viel Glück!
Verfasst von

Nataliia Dziubenko
Unsere Ideen
Weitere Blogs
Contact




