Es gibt eine neue Version (0.7) meines Zitierplugins für Wordpress. Die fünf kleinen Änderungen am Plugin selbst sind wahrscheinlich weniger interessant als die neue Heimat des Plugins auf Github. Dort werde ich einerseits endlich ein zentrales Endlager für all meine WP-Plugins und laufende projekte haben –kleine Codeschnipsel landen weiterhin im Wiki. Aber vor allem macht es Github einfacher, an meinen Projekten mitzubasteln. In der letzten Ausgabe der Links habe ich ja bereits auf dieses Video über Git und Github verwiesen. Wer das Video nicht gesehen hat oder Git nicht kennt, fragt sich jetzt vielleicht, wie genau das funktioniert und wozu das gut sein soll.

Das Logo von Github

Github ist sowas wie StudiVZ für Programmierer, bei dem man statt peinlicher Fotos Sourcecode ins Netz stellt und nicht gruschelt, sondern sich gegenseitig die Projekte forkt. Rückgrat von Github ist das Versionsverwaltungssystem Git. Git wurde vom Linux-Schöpfer Linus Torvalds in die Welt gesetzt, der konsquenterweise die Nutzer von anderen solchen Systemen pauschal für stupid and ugly erklärt. Das ändert freilich nichts an der Tatsache, dass Git ein recht komplexes Tool ist – und hier greift Github mit seiner schicken Weboberfläche helfend ein … aber zuerst noch ein paar Git-Basics.

Git funktioniert in etwa so: Es gibt ein Projekt X, an dessen Dateien mehrere Personen arbeiten wollen. Git stellt die Technik zu Verfügung, mit der alle Beteiligten untereinander die Dateien synchronisieren und eventuell auftauchende Konflike (Personen A und B verändern zeitgleich die gleiche Datei) beseitigen können. Wenn eine neue Person in die Entwicklung einsteigen möchte, muss sich diese nur am Code eines der anderen Beteiligten bedienen. Weil es keinen zentralen Server gibt, haben alle Beteiligten quasi wie ihre eigenen kleinen Spezialversionen des Projekts – das lässt Chaos vermuten, aber wenn sich die Beiteiligten darauf einigen können, welche Teile der Entwicklung am Ende zusammen das Ganze ergeben, wen interessiert, wie viele Sub-Versionen es gibt? Bei Bedarf synchronisiert man sich eben wieder. Auch als Solokünstler kann man Git gebrauchen, denn so hat man stets alle Änderungen an seinem Projekt versioniert und kann auch bequem mehrere Entwicklungszweige gleichzeitig pflegen und bei Bedarf zusammenführen.

Github macht diesen ganzen nerdigen Krempel (von dem man natürlich nicht alle Funktionen zu nutzen braucht) bunt und webzwonullig. Wer sich bei Github einen Account zulegt und glaubt, etwas an einem Projekt verbessern zu können (oder einfach ein wenig daran herumspielen will), surft die Projektseite an und klickt auf den Fork-Button. Github legt einem dann ein neues Projekt an, kopiert die Daten aus dem Quellprojekt da hinein und zack – schon hat man seine eigene Subversion des Zitier-Plugins. Diese kann man sich dann via Git auf den heimischen Rechner holen und daran herumbasteln. Wenn man meint, etwas Gutes erreicht zu haben, schiebt man (wieder via Git) die neue Version zurück in seinen Github-Account.

Richtig interessant wird es, wenn man die Eigenentwicklungen in das Urspungsprojekt einfließen lassen möchte. In dem Fall kann man in Github eine entsprechende Anfrage an den Entwickler absetzen, der sich die Änderungen ansehen und sie in das Projekt holen kann. Und wenn das alles für Projekte wie Ruby on Rails, das Blueprint-Framework und Mootools zu funktionieren scheint, muss was dran sein. Also ergeht hiermit die Aufforderung an alle Nerds: Forkt mich!

Infos für den Einsteig bietet

P.S.: Github kann man statt für Open-Source-Kollektivismus auch für hochkommerzielle Geheimprojekte einsetzen, die nicht öffentlich zugänglich sind. Das kostet zwar, aber nicht viel.