Erfahrungen mit GitHub für Nicht-Programmierer

Für die professionelle Softwareentwicklung, darunter auch Webprojekte, wird häufig eine sogenannte Versionsverwaltung verwendet. Wird diese richtig genutzt, vereinfacht sie die Zusammenarbeit im Entwicklerteam und ermöglicht es, bestimmte Punkte im Entwicklungsprozess ohne viel Aufwand wiederherzustellen. Es gibt mehrere Systeme für die Versionsverwaltung. Eines davon ist git. Man kann das System selbst aufsetzen oder es bei einem Anbieter anmieten. Ich nutze seit einiger Zeit das Angebot von GitHub und möchte in diesem Artikel besonders für Nicht-Programmierer auf die Vor- und Nachteile dieses Anbieters eingehen.

Was kann GitHub?

GitHub ist ein kommerzielles Angebot, dem git als Versionsverwaltung zu Grunde liegt. Im Kern bietet GitHub Speicherplatz im Internet an, der es ermöglicht, per git verwalteten Quellcode zu teilen. Erst damit ist es möglich, dass der Quellcode und seine Historie für mehrere Entwickler zugänglich ist und es bei der Bearbeitung nicht zur Überschneidung von Quellcode kommt, der später nicht mehr manuell auseinander dividiert werden kann.

git kann von einem Serveradmin auch leicht selbst auf einem eigenen Server eingerichtet werden. GitHub macht den Einstieg aber leichter, weil die Einrichtung auch ohne technisches Wissen erfolgen kann und kein Server notwendig ist. Zudem bietet GitHub eine übersichtliche Weboberfläche zur Verwaltung von Projekten und Ansicht des Quellcodes und Zusatzfunktionen wie ein Ticketsystem oder ein Wiki je Projekt an.

Das Wiki und Ticketsystem macht GitHub auch für Nicht-Entwickler interessant. Im Wiki können Entwickler etwa die Handbücher ablegen und aktuell halten, so dass sie vom Support oder Anwender eingesehen werden können. Das Ticketsystem eignet sich wiederum dazu, Fehler und Featureideen zu sammeln, die dann von den Entwicklern umgesetzt werden. Beide Zusatzfunktionen werfen die Frage auf, ob sich GitHub nicht generell für das Projektmanagement eignet.

GitHub für Projektmanagement?

Nachdem ich vor einer Weile begonnen habe, programmierintensive Projekte mit git in GitHub zu verwalten, kam schnell die Frage auf, ob ich nicht alle anderen Dinge rund um den Quellcode ebenfalls dort verwalte. Damit gemeint sind im Kern die bereits oben genannten Dinge wie Fehlermeldungen, Aufgaben oder auch Dokumentation. Damit wären zusätzliche Ablagesysteme überflüssig. Das habe ich bei diesen Projekten auch nach und nach so umgesetzt.

Mit der Zeit habe ich jedoch in der Praxis einige Einschränkungen festgestellt, die für größere Projekte schnell zu Tage treten und die Nutzung eines weiteren Projektmanagement-Tools erfordern.

Als größtes Problem besonders bei großen Projekten hat sich die fehlende Suche im Wiki herausgestellt. In einem aktuell laufenden Online-Shop-Projekt habe ich bereits so viel Dokumentation angelegt, dass man ohne Volltextsuche zu lange nach Informationen suchen muss. Da gibt es auch keine Alternative. Das wirkt sich mittlerweile auch auf die Lust aus, die Dokumentation weiter fortzuführen.

Das Ticketsystem von GitHub ist zwar nicht mit den Möglichkeiten von Redmine vergleichbar, gerade weil es sich kaum anpassen lässt, reicht aber zumindest für grundlegende Features aus. Hier hätte die Verknüpfung mit Seiten im Wiki oder z.B. bestimmten Zeilen im Quellcode auch besser gelöst sein können.

GitHub beschreibt sich selbst nicht als Projektmanagementtool und wird zumindest dem eigenen Anspruch für die Quellcodeverwaltung gerecht. Für Coder sind das System und seine Möglichkeiten ausreichend. Ohne Quellcode macht die Nutzung dann auch keinen Sinn. Daher richtige ich mir mittlerweile nur ein Projekt bei GitHub ein, wenn ich mit anderen „richtigen“ Programmierern zusammenarbeite oder ich den Code eines komplexen Projektes gerne noch als Backup online habe. Sobald Nicht-Programmierer involviert sind bzw. auch Aufgaben neben der Programmierung erfasst werden sollen, greife ich wieder auf andere Systeme zurück.

Was kostet GitHub?

GitHub kann mit den meisten Funktionen kostenlos genutzt werden, wenn der Quellcode öffentlich gemacht wird. Das möchte ich natürlich bei sensiblen eigenen oder Kundenprojekten nicht. Als selbstständiger Programmierer habe ich daher einen Micro-Account für 7$ im Monat, mit dem ich 5 private Projekte verwalten kann. Meine Firma webgilde hat einen kleinen Unternehmensaccount für 25$ im Monat und 10 private Projekte und kann dafür die Rechte verschiedener Entwickler je nach Projekt anpassen. Für beide Zugangsarten gibt es viele weitere Stufen, falls mehr private Projekte benötigt werden.

Die Kosten für einen GitHub-Zugang halte ich für angemessen. Ich selbst habe keine Lust auf Serveradministration und die Kosten für einen eigenen Server und entsprechende Fachleute sind höher, als die monatliche Gebühr bei GitHub. Ich empfehle jedem Gründer, bei größeren Programmierprojekten die Nutzung einer Versionsverwaltung, selbst wenn zunächst nur ein Programmierer beteiligt ist. Für den Fall, dass es zu einem Wechsel kommt, lassen sich die Daten deutlich schneller einsehen bzw. übergeben. Für eine einfache Webseite oder ein Theme ist das aber vielleicht nicht notwendig und würde, da gerade viele Frontendentwickler meiner Erfahrung nach noch nicht mit Versionsverwaltungen arbeiten, auch zu einem zu großen Overhead führen.

Bildquellen

  • GitHub Logo: GitHub Inc