GitHub ist seit Jahren die unverzichtbare Plattform für Entwickler, um ihre Codeprojekte zu hosten, zu verwalten und offen zugänglich zu machen. Viele Entwickler schätzen die leistungsstarke Infrastruktur, die breite Community und den nahtlosen Workflow, den GitHub bietet. Doch trotz seiner Popularität und bedingungslosen Verbreitung habe ich mich 2022 dazu entschlossen, meine Projekte von GitHub weg zu verlagern und auf eine alternative Code-Hosting-Plattform umzusteigen. Diese Entscheidung fußt auf einer vielschichtigen Betrachtung technischer, philosophischer und persönlicher Aspekte, die ich in den folgenden Abschnitten gerne teilen möchte. Dabei biete ich zugleich Einblicke in die Vor- und Nachteile alternativer Plattformen, spezifisch Sourcehut, und erläutere, warum es sich lohnen könnte, die eigenen Projekte ebenfalls kritisch zu hinterfragen und möglicherweise zu diversifizieren.
Einer der ausschlaggebenden Faktoren für meinen Abschied von GitHub ist die kontroverse Nutzung von Open-Source-Code durch GitHub Copilot. Copilot ist ein KI-gestütztes Tool zur Code-Generierung, das große Teile öffentlich zugänglichen Quellcodes verwendet, um Vorschläge zu machen. Es ist bekannt geworden, dass Copilot dabei häufig Code-Segmente reproduziert, die eigentlich unter bestimmten Open-Source-Lizenzen stehen, jedoch ohne deren Lizenzhinweise oder entsprechende Urheberrechtliche Anerkennung in die generierten Vorschläge einfliessen. Für mich ist dies nicht nur ein rechtliches Problem, sondern auch eine ethische Belastung. Ich möchte es nicht unterstützen, wenn mein eingebrachter Code ohne diese Anerkennung weiterverwendet wird.
Selbst wenn mein individueller Beitrag in diesem großen Spektrum klein erscheint, ist es mir wichtig, zumindest einen persönlichen Beitrag zu leisten, um diese Praxis herauszufordern oder zumindest etwas dagegen zu setzen. Damit nehme ich eine aktive Haltung ein, auch wenn es sich hier eher um einen symbolischen Akt handelt. Neben der Copilot-Thematik habe ich eine grundsätzliche Abneigung gegen proprietäre Plattformen für Open-Source-Software entwickelt. GitHub, obwohl der zentrale Anlaufpunkt für Milliarden von Codezeilen und Entwickler weltweit, ist selbst eine proprietäre Plattform unter Microsofts Dach. Das empfinde ich als widersprüchlich, wenn Open-Source-Code auf einer geschlossenen Infrastruktur gehostet und verwaltet wird.
Langfristig sehe ich darin eine gefährliche Konzentration von Macht und Kontrolle über einen Großteil der Open-Source-Welt. Auch wenn Microsoft bislang als verantwortungsvoller Steward agiert, kann niemand mit Sicherheit vorhersagen, in welche Richtung sich die Plattform und das Unternehmen entwickeln werden. Demgegenüber steht Sourcehut, eine vollständig Open-Source-gehostete Plattform, die unter der AGPL-Lizenz läuft, wodurch Nutzer mehr Kontrolle und Transparenz erhalten. Die Möglichkeit zur Selbst-Hosting ist ein großer Vorteil, der Vertrauen schafft und einer weiteren Zentralisierung entgegenwirkt. Darüber hinaus hat GitHub mein eigenes Verhalten als Nutzer stark beeinflusst – und leider nicht immer im positiven Sinne.
Viele moderne Webdienste verwenden psychologische Mechanismen, um ihre Nutzer zu motivieren und zu binden. GitHub ist besonders effektiv darin, kleine Belohnungen auszulösen, wie die Anzeige grüner „Aktivitätssquadrate“ für tägliches Engagement oder sichtbare Sternchen und Followers als Symbole von Anerkennung. Für mich führten diese Momente der Dopaminsteigerung zu einem suboptimalen Nutzungsverhalten. Ich fand mich häufig dabei, Aktivitäten zu forcieren, die vor allem darauf abzielten, das sogenannte „grüne Quadrate“ zu füllen, anstatt wirklich an sinnvollen Projekten oder durchdachter Umsetzung zu arbeiten. Diese Verhaltensänderung empfinde ich als sehr problematisch, da sie die Qualität meiner Arbeit und meine Arbeitsweise beeinträchtigt.
Plattformen sollten so gestaltet werden, dass sie den Nutzer in seiner Produktivität unterstützen und nicht sein Verhalten manipulieren, um eigene Umsätze oder Nutzerzahlen zu steigern. Ein weiterer Faktor ist meine Überzeugung, für die von mir genutzten Werkzeuge fair zu bezahlen. In der heutigen Zeit ist es kaum möglich, digitale Produkte ohne entsprechende Monetarisierung anzubieten. Ob dies durch Werbung, Datenverkauf oder andere Modelle geschieht, man ist als Nutzer fast immer Teil eines Geschäftsmodells. Bei kostenlosen Diensten wie GitHub besteht das Risiko, als „Produkt“ behandelt zu werden, was eventuell zu Interessenkonflikten führen kann.
Deshalb bevorzuge ich bezahlte Dienste, bei denen die Interessen klarer ausgerichtet sind – so zahle ich beispielsweise auch für meinen E-Mail-Dienst Fastmail und verzichte bewusst auf Google Mail. Die bewusste Wahl für kostenpflichtige Tools bringt bessere Anreize für den Dienstleister mit, transparent und verantwortungsvoll mit den Daten und dem Service umzugehen. Nachdem der Entschluss gefasst war, meine Projekte weg von GitHub zu verlagern, begann die Suche nach einer Alternative. Dabei war die Grundvoraussetzung für mich klar: Die Plattform musste Open-Source sein und die Möglichkeit zur Selbst-Hosting bieten. Sourcehut erfüllte dabei alle meine Ansatzpunkte sehr überzeugend.
Die Plattform ist schlank, reduziert und ohne störende JavaScript-Overheads gestaltet, was zu extrem kurzen Ladezeiten und hoher Geschwindigkeit führt. Im Vergleich zu GitHub ist Sourcehut eine wahre Erholung, wenn es darum geht, digital fokussiert zu arbeiten, ohne Ablenkung durch unnötige visuelle Reize oder gar manipulative Oberflächenelemente. Auch technisch ist Sourcehut mit seinen eingebauten Continuous-Integration-Tools hervorzuheben. Die Build-Plattform ist intuitiv, leicht konfigurierbar und bietet eine hervorragende Debugging-Umgebung, beispielsweise die Möglichkeit, per SSH in die Build-VM einzusteigen. Dies erleichtert das iterative Arbeiten an der Build-Konfiguration erheblich.
Gegenüber GitHub Actions, die ich als unübersichtlich und schwer zu debuggen empfand, ist das ein großer Vorteil. Das mühsame Ausprobieren und mehrfaches Committen entfällt in vielen Fällen, was den Entwicklungsprozess deutlich angenehmer gestaltet. Ein relativ großer Unterschied zu GitHub ist die Art der Beitragsverwaltung bei Sourcehut. Anstelle der gängigen Pull-Request-Methodik wird hier traditionell mit git-send-email gearbeitet. Das bedeutet, dass Beiträge, Diskussionen und Problemberichte primär per E-Mail ausgetauscht werden.
Zwar erfordert das zunächst etwas Umgewöhnung und kann das Onboarding neuer Mitwirkender erschweren, aber ich persönlich finde den E-Mail-Workflow sehr fokussierend und weniger ablenkend als webbasierte Plattformen. Es ermöglicht mir, meine Arbeit fern vom Browser durchzuführen und so meine Konzentration zu verbessern. Aus meiner Sicht ist das nicht weniger leistungsstark als Pull Requests, nur eben anders. Zudem können Beiträge auch ganz klassisch per E-Mail eingereicht oder in andere Plattformen gespiegelt werden, was die Beteiligung flexibel hält. Andere Alternativen wie GitLab oder Gitea habe ich ebenfalls in Betracht gezogen, sie erfüllen jedoch nicht meine persönlichen Anforderungen in gleichem Maße.
GitLab erschien mir zu überladen und langsam, und Gitea fehlt ein integriertes CI-System, was heutigen Entwicklungsprozessen nicht gerecht wird. Außerdem sind bei beiden Plattformen zusätzliche Nutzerkonten erforderlich, was eine weitere Hürde für Mitwirkende bedeutet. Bei Sourcehut besteht dagegen die Möglichkeit, Beiträge ohne weitere Accounts einzureichen, was die Einstiegshürde senkt und somit potenziell Beteiligung und Zusammenarbeit fördert. Obwohl ich meine eigenen Projekte von GitHub weg verlagere, werde ich mein Konto weiterhin behalten und gelegentlich nutzen. Gerade im beruflichen Umfeld und bei Beiträgen zu fremden Projekten auf GitHub ist die Nutzung weiterhin notwendig und sinnvoll.
Außerdem sind einige alte Projekte, die ich kaum noch betreue, weiterhin dort gehostet. Diese differenzierte Nutzung ist auch ein pragmatischer Umgang mit der Realität, ohne dogmatisch zu sein. Es zeigt sich, dass eine 100-prozentige Abkehr nicht immer möglich und auch nicht zwingend nötig ist. Für Personen, die ähnlich denken wie ich oder denen die hier dargestellten Punkte vertraut vorkommen, kann ein Umstieg oder eine zweite Plattform durchaus sinnvoll sein. Man muss nicht vollständig aussteigen, sondern kann seine Aktivitäten aufteilen und so die Abhängigkeit von nur einer Plattform reduzieren.
Gleichzeitig wächst das Bewusstsein in der Open-Source-Welt für die Problematik der Zentralisierung, und eine größere Diversifikation der genutzten Plattformen kann langfristig die gesamte Entwicklerlandschaft widerstandsfähiger und freier machen. Für viele bleibt GitHub dennoch die beste oder gar einzige Option, und das ist vollkommen nachvollziehbar. Insbesondere für Arbeitssituationen, Jobsuche oder große Communities ist die Plattform nach wie vor unschlagbar. Ein aktives GitHub-Profil kann bei Bewerbungen helfen und ermöglicht die Zusammenarbeit mit einer globalen Developer-Community. Hier sehe ich auch eine wichtige Rolle für Recruiter und Arbeitgeber, zu hinterfragen, ob das alleinige Messen über GitHub-Aktivität wirklich gerechtfertigt ist und keine Barrieren aufbaut.
Abschließend bleibt zu sagen, dass meine Verlagerung weg von GitHub keine einfache Entscheidung war, sondern das Ergebnis intensiver Reflexion über technische, ethische und persönliche Kriterien. Ich hoffe, dass meine Erfahrungen und Gedanken andere Entwickler dazu ermutigen, ebenfalls ihre Beziehung zu Code-Hosting-Plattformen zu überdenken. Ein bewusster Umgang mit dem eigenen Code, den Plattformen und der Community kann langfristig zur positiven Entwicklung der Open-Source-Landschaft beitragen. Die Zukunft ist offen, und wir haben die Möglichkeit, diese mitzugestalten, indem wir verantwortungsvoll und reflektiert handeln.