Github ist echt eine geile Erfindung. Jeder Honk kann seinen Quellcode dort hosten und sich Quellcode von anderen Honks anschauen. Alle tausend Repositories gibt es mal eine Perle von Quellcode die man brauchen kann, unter diesen tausend ist aber wiederum nur jede tausendste gepflegt und jünger als 3 Jahre. Gut das ist übertrieben aber der Funke der Wahrheit dürfte zu erkennen sein.

Warum ist das so? Github ist unglaublich einfach zu bedienen und hat ein riesiges Ökosystem um sich herum versammelt. Bugtracker, Wiki, Webseiten, Releaseverwaltung alles kommt quasi gleich mit der Versionsverwaltung mit. Auch an Drittanbieter Diensten mangelt es nicht, es gibt geradezu eine Unzahl von Build-Servern, Code-Analyse-Tools und ähnlichem in der Cloud. Mit wenigen Clicks kann man sich dort mit seinem Github Account anmelden und los gehts. Die Schnittstellen gibts gratis von Github.

Durch einfache Bedienung und Kostenlosigkeit landet jede noch so belanglose Bibliothek bei Github. Viele Projekte kommen dabei nicht über das gerade benötigte Featureset hinaus und bei nicht wenigen stapeln sich irgendwann die unbeantworteten Anfragen. Wer will es den Programmierern verübeln, es sind überwiegend private Projekte und eine Merge oder gar Change kostet Zeit und Arbeit und hilft einem selbst vielleicht gar nicht mehr weiter.

Das inhaltliche Qualitätsdebakel ist aber nur eines der Probleme. Ich wage zu behaupten, Github hat durchaus Google oder Facebook Tendenzen. Woran man das erkennt? Es ist kostenlos und bietet trotzdem eine echt geile Dienstleistung an! Und dabei hat Github bereits heute ein ziemliches Monopol errichtet. Gemerkt habe ich, das als ich Anfang des Jahres nach einer einfachen Lösung suchte meine privaten Projekte mit einem Build-Server zu versorgen. Dabei waren meine Anforderungen eigentlich recht simpel:

  • Unterstützung verschiedener Programmiersprachen
  • Unterstützung von GIT per SSH oder HTTPS
  • Kostenlos

Tatsächlich wäre ich sogar bereit gewesen meinen Code zwecks Analyse und Testausführung der Cloud preiszugeben. Aber ich musste feststellen das es quasi keinen Anbieter gab der es mir ermöglicht hätte mittels trivialem Webhook ein Build zu erzeugen das von meinem Server ausgecheckt werden kann. Wohl könnte ich mein Zeug bei Github hosten, das mache ich aber bewusst nicht. Die meisten Dinge die ich in meiner Freizeit baue sind zu speziell, experimentell oder schlicht zu kurzlebig. Solcher Kram hat nix in der Öffentlichkeit zu suchen.

Ich könnte bei Github auch private Repositories einrichten, aber das kostet dann Geld. Genauso die Dienstleister, so lange die Repositories öffentlich sind, bleibt es gratis. Warum nervt es mich nun aber? Weils doch nicht gratis ist? Nein, weil es sich bei Github nicht um ein Tool für Idioten handelt sondern um eine Quellcodeverwaltung für Softwareentwickler und Programmierer. Also intelligente Fachidioten die in der Lage sein sollten sich selbst ein GIT einzurichten und in Kleingruppen darauf zu arbeiten.

Ohne Frage, Github ist ein geiles Tool und Quell endloser Inspiration aber dieser ganze Haufen von Infrastruktur der da draußen entsteht und sich auf Github verlässt macht mir echt Sorgen. Das es mit Gitlab oder Bitbucket noch Alternativen gibt macht es nicht wirklich besser, denn diese sind nach dem selben Muster gestrickt. Was ich aber noch nicht gesehen hab ist eine ordentliche dezentrale Infrastruktur für Quellcode. Dabei bringt doch GIT eigentlich alles mit was man braucht.

Klar hat nicht jeder einen eigenen Server, aber eine dezentrale Lösung mit einer öffentlichen API ist wesentlich dauerhafter als dieser ganze Pseudo-Cloud-Kram und auch mit einer solchen kann man Ressourcen konzentrieren und Server gemeinsam nutzen. Mir ist nur echt nicht klar warum scheinbar alle ihren Mist auf einen großen Haufen werfen. Brennt Github ab hat jeder nur noch sein Backup daheim.

Meine Lösung zumindest ist jetzt ein artig in Container verpacktes Team aus Gogs und Drone die auf meinem eigenen Server ihren Dienst versehen. Gitlab war unter meinen Kanditaten fühlte sich aber zu schwer an.

Quelle: github.com