Warum Open Source nicht beängstigend, sondern vorteilhaft ist?
Viele Entwickler, insbesondere in C#, betrachten Open Source mit Skepsis. Es scheint, als säßen dort nur Gurus, die nur darauf warten, deinen Code zu kritisieren. In Wirklichkeit ist ein Open-Source-Beitrag der beste Weg, um Fähigkeiten zu verbessern, Erfahrung in einem großen Team zu sammeln und Freunde auf der ganzen Welt zu finden.
Ich selbst hatte lange Angst, meinen ersten Pull Request zu machen. Ich dachte: „Wer bin ich schon, um mich in den Code von Profis einzumischen?“. Und dann habe ich einfach einen Tippfehler in der Dokumentation korrigiert – und es ging los. Jetzt habe ich über 50 Merges in verschiedene C#-Projekte. Und ich möchte erzählen, wie man ohne unnötigen Stress mit dem Contributed zu Open Source beginnt.
Schritt 1. Finden Sie Ihren „Sandkasten“
Sie müssen nicht sofort in den Kern von ASP.NET Core oder Roslyn einsteigen. Fangen Sie klein an. Hier sind drei Projekttypen, bei denen Sie mit offenen Armen empfangen werden:
- Bibliotheken für C# – es gibt Tausende davon auf GitHub. Suchen Sie nach Tags wie
csharp,dotnet,library. - Entwicklerwerkzeuge – Code-Analyzer, Generatoren, Dienstprogramme.
- Dokumentation – ja, auch das ist Open Source. Und oft gibt es dort die meisten „Lücken“.
Eine hervorragende Möglichkeit, ein Projekt zu finden, ist, auf GitHub zu gehen und in die Suche label:"good first issue" language:csharp einzugeben. Das sind spezielle Labels für Anfänger. Solche Aufgaben sind bewusst als einfach und verständlich markiert.
Schritt 2. Machen Sie sich mit den Werkzeugen vertraut
Bevor Sie Code schreiben, stellen Sie sicher, dass Sie Folgendes haben:
- Git (vorzugsweise über die Konsole, nicht über GUI)
- Visual Studio oder Rider (Community Edition reicht aus)
- Ein GitHub-Konto
- Grundlegendes Verständnis von
git clone,git branch,git commit,git push
Wenn Git noch schwierig ist – kein Problem. Machen Sie einfach einen Fork des Projekts, nehmen Sie Änderungen über die GitHub-Oberfläche vor und erstellen Sie von dort einen Pull Request. Das ist der einfachste Weg für das erste Mal.
Schritt 3. Finden Sie einen Bug oder eine Funktion
Angenommen, Sie haben ein Projekt ausgewählt. Was tun als Nächstes? Öffnen Sie den Reiter Issues und suchen Sie nach Aufgaben mit Labels:
good first issuehelp wantedbeginnerdocumentation
Wenn Sie nichts gefunden haben – zögern Sie nicht, in den Kommentaren zu schreiben: „Hallo! Ich bin Anfänger und möchte helfen. Gibt es etwas Einfaches?“. Glauben Sie mir, die Maintainer sind normalerweise sehr freundlich. Sie haben auch einmal angefangen.
Schritt 4. Schreiben Sie Code (mit Beispiel)
Stellen wir uns vor, Sie haben einen Bug gefunden: In einer Erweiterungsmethode für Zeichenketten wird der Fall null nicht behandelt. So könnte das aussehen.
Ursprünglicher Code (mit Bug):
public static class StringExtensions{ public static string Reverse(this string input) { char[] chars = input.ToCharArray(); Array.Reverse(chars); return new string(chars); }}Ihre Korrektur:
public static class StringExtensions{ public static string Reverse(this string input) { if (input == null) throw new ArgumentNullException(nameof(input));
char[] chars = input.ToCharArray(); Array.Reverse(chars); return new string(chars); }}Sehen Sie? Nichts Außergewöhnliches. Einfach eine Null-Prüfung hinzugefügt und die richtige Ausnahme ausgelöst. Das ist bereits ein würdiger Open-Source-Beitrag.
Schritt 5. Schreiben Sie Unit-Tests
Es ist guter Stil, Tests zu Ihrem Code hinzuzufügen. Hier ist ein Beispiel für unsere Korrektur mit xUnit:
public class StringExtensionsTests{ [Fact] public void Reverse_ValidString_ReturnsReversed() { var result = "hello".Reverse(); Assert.Equal("olle