Beiträge zur Open-Source-Community, Teil 1 So gelingt der Einstieg in GitHub-Projekte

Autor / Redakteur: Christian Rentrop / Stephan Augsten

Das Hosting von Code auf GitHub hat eine ganze Reihe von Vorteilen. Insbesondere im Hinblick auf Kollaboration und Versionskontrolle ist der Dienst bei der Softwareentwicklung inzwischen fast unverzichtbar. Doch wie ist es möglich, an einem vorhandenen Projekt mitzuarbeiten?

Firmen zum Thema

Wer erste Schritte bei GitHub unternehmen möchte, kann sich an einem Projekt beteiligen.
Wer erste Schritte bei GitHub unternehmen möchte, kann sich an einem Projekt beteiligen.
(Bild: Yancy Min / Unsplash)

Bei der modernen Softwareentwicklung im Team ist Versionskontrolle sinnvoll und praktisch. Wo konstante Änderungen an der Codebasis stattfinden, ist es wichtig, zu wissen, welcher Code wo ergänzt, abgeändert oder gelöscht wurde. Zumal in Teams mehrere Entwickler gleichzeitig an der Code-Basis arbeiten.

Um diese Versionen zu verwalten, gibt es schon seit geraumer Zeit das Versionskontrollsystem Git, dessen Bedienung allerdings recht aufwändig ist und das nur lokal arbeitet. Für das einfache Hosting von Code-Repositories wurde deshalb 2008 GitHub entwickelt. Eine Art Git-Cloud, auf die beliebige User Zugriff haben. GitHub gehört inzwischen zu Microsoft.

Vorteile für alle Projekte

Der große Vorteil von GitHub ist, dass die Versionskontrolle in die Cloud verlagert wird – und sich Projekte damit ganz einfach freigeben lassen. Dabei spielt es keine Rolle, ob es sich um Open-Source- oder Closed-Source-Projekte handelt. GitHub unterstützt das schnelle Hinzufügen von Entwicklern im Team, die auf die gleiche Codebasis zugreifen können – und zwar weltweit.

Entwickler können die vorhandene Code-Basis zudem „forken“ und anschließend per Pull-Request in den Hauptstamm übernehmen lassen, etwa um eine Idee durchzuspielen. Bei Open-Source-Projekten wiederum dienen Forks auch dazu, eine alternative Anwendung zu erstellen oder ein verwaistes Projekt wiederzubeleben. Kurzum: Github ist außerordentlich praktisch für die Software-Entwicklung.

An Open-Source-Projekten mitarbeiten

Entwickler, die Projekte nicht von Grund auf neu gestalten möchten, sondern sich lieber an der Verbesserung vorhandener Software oder der Aktualisierung verwaister Projekte versuchen möchten, finden auf GitHub einen riesigen Pool vorhandener Lösungen. Die ersten Schritte sind dabei denkbar einfach.

Nach dem Anlegen eines GitHub-Benutzerkontos und der Installation von Git auf dem Rechner kann es auch schon losgehen. So bietet GitHub selbst eine leicht bedienbare lokale Desktop-Version von Git an, bei der Anwender sich nur mit dem GitHub-Account anmelden müssen. Alternativ kann auch das „normale“, CLI-basierte Git installiert werden.

GitHub-Projekt finden und beitragen

Trendende Projekte sind oft besonders interessant.
Trendende Projekte sind oft besonders interessant.
(Bild: Rentrop / GitHub)

Ist das grundsätzliche Setup erledigt, folgt die Suche nach dem passenden Projekt. Öffentlich verfügbare, quelloffene Projekte werden auf GitHubs Websites angezeigt, allerdings ist es nicht immer ganz einfach, diese zu finden. Für einen ersten Eindruck lohnt ein Blick in die Trending-Kategorie. Hier finden sich Projekte, die von der GitHub-Community als besonders interessant bewertet werden. Einige Einsteigerfreundliche GitHub-Projekte hat der User MunGell gelistet, er verweist auch auf das Suchlabel „first-timers-only“.

Deutlich gezieltere Suchen sind über die Topics-Kategorie von GitHub möglich, denn hier sind Projekte thematisch sortiert aufgelistet. Besonders aktive Projekte – etwa Homebridge – erhalten zudem eine eigene Kategorie. Eine weitere Möglichkeit ist die Suchfunktion, die ohne Argumente jedoch mehr schlecht als recht arbeitet. Zum Glück finden sich aber zahlreiche Suchargumente bei GitHub.

Projekt gefunden? Dann kann es auch schon losgehen

Ist ein spannendes Projekt gefunden, kann es auch schon losgehen: Auf der Projektseite gibt es oben rechts den Knopf „Fork“, der auch gleichzeitig anzeigt, wie viele Forks es schon gibt. Ein Hinweis darauf, wie aktiv das Projekt ist. Mit einem Klick auf den Knopf wird ein Fork des Quellcode-Repositorien im eigenen Benutzerkonto angelegt.

Der Fork lässt sich mit einem weiteren Klick auf den „Code“-Button wahlweise verlinken, herunterladen oder – praktischer – mit dem Menüpunkt „Open with GitHub Desktop“ direkt in die GitHub-Desktop-App übertragen. Der Vorteil dieser Lösung ist, dass Offline-Bearbeitung ebenso möglich ist wie die einfache Verwendung des Quellcodes mit dem Lieblings-Editor.

GitHub Desktop erleichtert die lokale GitHub-Nutzung deutlich.
GitHub Desktop erleichtert die lokale GitHub-Nutzung deutlich.
(Bild: Rentrop / GitHub)

Änderungen, die im Editor abgespeichert werden, werden auch automatisch im GitHub Desktop ablegt und sind anschließend nachvollziehbar. Die veränderte Code-Basis kann entweder als eigener Fork verwendet werden oder dem Hauptstamm beitragen.

Änderungen am Code kommunizieren

Sind die Anpassungen, Ergänzungen oder Ideen in den Quellcode eingeflossen, ist die weitere Vorgehensweise kein Problem: Wer das Programm lokal kompilieren will, kann das mit seinem favorisierten Compiler erledigen. Wer hingegen Code-Änderungen in den Stamm des Projekts weitergeben möchte, kann einfach einen Pull-Request erstellen. Dieser wird dann im Stamm angezeigt und kann von anderen Entwicklern übernommen werden. Ist der Beitrag sinnvoll, wird er möglicherweise bald ins Haupt-Projekt übernommen.

Auf die Lizenz achten

Natürlich gibt es einige Kleinigkeiten zu beachten: So sollte immer die Lizenz im Auge behalten werden, wenn ein Project-Fork zum eigenständigen Projekt wird oder wenn Code-Fragmente eines bestehenden Projekts in ein eigenes Projekt integriert werden sollen.

Die meisten öffentlich zugänglichen Projekte auf GitHub unterliegen zwar der ein oder anderen Open-Source-Lizenz, allerdings unterscheiden sich diese zum Teil erheblich. Die Lizenzierung ist natürlich auch bei Neuerstellung eines eigenen Projekts wichtig. Um das richtige Open-Source-Licensing zu wählen, helfen Dienste wie Choosealicence.com. Hier sind alle Open-Source-Lizenzen nicht nur mit Vor- und Nachteilen gelistet.

Übrigens: Code-Projekte, die noch keine Lizenz haben, sind auf GitHub unter „All rights reserved“ gelistet, dürfen also nicht ohne Weiteres von Dritten übernommen werden. Außerdem gibt es die Möglichkeit, ein Repository privat zu nutzen: Dadurch können Dritte es nur auf Github sehen, wenn der Entwickler sie freigibt.

Gute Fingerübung oder Basis für eigene Projekte

Gerade jüngere oder verwaiste Open-Source-Projekte auf GitHub sind natürlich eine perfekte Spielwiese für Entwickler, die nach einem Betätigungsfeld suchen. Die Suchfunktion erlaubt die gezielte Suche nach wenig geforkten Projekten oder solche, die lange keine Aktivität gezeigt haben.

Solche Projekte können – sofern sie einer Open-Source-Lizenz wie der GPLv3 unterliegen – jederzeit als Basis für ein neues Projekt verwendet werden, sofern sie diese Lizenz danach selbst übernehmen, zumindest für den geforkten Teil. Aber auch das Beitragen zu einem der größeren Projekte kann eine gute Fingerübung für Entwickler sein, ganz abgesehen von der möglichen Verbesserung der Software an sich.

(ID:47383754)

Über den Autor

 Christian Rentrop

Christian Rentrop

IT-Fachautor