GitHub ist für die meisten Ent­wick­ler ein wichtiges Tool, um durch die Vorzüge von Code­hos­ting zentral auf ein Projekt zugreifen zu können. Mehrere Parteien können hierbei global zu einem Projekt beitragen und ihre Än­de­run­gen jederzeit un­ab­hän­gig von­ein­an­der sichern. Im Gegensatz zu anderen Dienst­leis­tern zur Ver­wal­tung von Open-Source-Software steht nicht das Projekt als Sammlung von Quellcode im Fokus, sondern die Mög­lich­keit zur in­di­vi­du­el­len Nutzung der Re­po­si­to­ries (Ver­zeich­nis­se, die mit Git verwaltet werden). GitHub-Benutzer können entweder Git oder Sub­ver­si­on als VCS (Version Control System) verwenden, um ihre Software-Projekte zu verwalten, zu warten und be­reit­zu­stel­len.

Fakt

Bei zen­tra­li­sier­ten Ver­si­ons­ver­wal­tungs­sys­te­men wie CVS oder SVN werden Quellcode- oder andere Dateien in einem Re­po­si­to­ry oder auch Pro­jekt­ar­chiv ge­spei­chert. Von dort können sie auf andere Rechner geladen werden. Nachdem die Be­ar­bei­tung ab­ge­schlos­sen ist, können die ge­än­der­ten Dateien wieder in das Re­po­si­to­ry ein­ge­speist werden, wobei die Ver­än­de­rung auch pro­to­kol­liert wird.

Vor- und Nachteile der Nutzung von GitHub

Ein wichtiger Vorteil von GitHub ist, dass der Dienst un­be­grenzt freie, öf­fent­li­che Code-Re­po­si­to­ries für alle Benutzer er­mög­licht. Zur Auf­recht­erhal­tung privater Re­po­si­to­ries ist al­ler­dings ein mo­nat­li­ches Abon­ne­ment er­for­der­lich. In GitHub können Sie auch "Or­ga­ni­sa­tio­nen" erstellen, die grund­sätz­lich als reguläre Konten fungieren, außer dass Sie immer min­des­tens ein Be­nut­zer­kon­to als Ei­gen­tü­mer besitzen.

Dennoch kann es in einigen Fällen auch zu Ein­schrän­kun­gen in der Nutz­bar­keit und Effizienz von GitHub kommen. Manchmal gibt es Kom­pli­ka­tio­nen mit dem Client und Ar­beit­ge­ber, wenn bei­spiels­wei­se ein privater Server als Host für den er­stell­ten Code dient. Ein weiterer Grund für eine Al­ter­na­ti­ve zu GitHub ist die Nutzung eines anderen VCS, das nicht durch GitHub un­ter­stützt wird. Es gibt einige gute GitHub-Al­ter­na­ti­ven, von denen wir fünf im Folgenden kurz vor­stel­len.

GitLab

GitLab bietet viele hilf­rei­che Features in seinem DVCS, bei­spiels­wei­se ein in­te­grier­tes Projekt-Wiki und eine Projekt-Website. Die kon­ti­nu­ier­li­chen In­te­gra­ti­ons­fä­hig­kei­ten von GitLab au­to­ma­ti­sie­ren das Testen und Aus­lie­fern Ihres Codes – das spart Zeit­auf­wand in der Testphase. In GitLab erhalten Sie mittels eines Code-Viewers, Pull-Anfragen und prak­ti­scher Kon­flikt­lö­sung leichten Zugriff auf alle wichtigen Aspekte Ihres Projekts. Die Anwendung wurde haupt­säch­lich in Ruby ge­schrie­ben.

SourceF­or­ge

Tat­säch­lich war SourceF­or­ge schon vor GitHub und vielen andere Open-Source-Al­ter­na­ti­ven auf dem Markt und gehörte zur ersten Wahl im Open-Source-Bereich. Das Un­ter­neh­men hatte 2015 zwar einige Schwie­rig­kei­ten mit Malware, ist aber seit Januar 2016 wieder auf gutem Kurs. SourceF­or­ge  bietet jetzt Multi-Faktor-Au­to­ri­sie­rung, was mit der generell sicheren Aus­rich­tung har­mo­ni­siert. Zu den weiteren Features gehören Issue-Tracking und ein ein­ge­bau­tes Code-Ver­zeich­nis.

Cloud Source Re­po­si­to­ries

Nach dem Miss­erfolg von Google Code wurde der Dienst zur Ver­si­ons­ver­wal­tung der Google Cloud Platform ein­ver­leibt. Mit Cloud Source Re­po­si­to­ries, das sich in der Beta-Phase befindet, lassen sich via GitHub oder Bitbucket andere Re­po­si­to­ries nach Bedarf verbinden. Sie können aber auch Googles eigene Re­po­si­to­ries verwenden. Diese speichern Sie über die gesamte Google-In­fra­struk­tur, was bedeutet, dass Ihr Code und Ihre An­wen­dun­gen sicher in einer Hand sind. Der wich­tigs­te Vorteil von Cloud Source Re­po­si­to­ries: Sie können direkt über den Browser nach Code suchen. Des Weiteren spüren Sie Bugs über Cloud Dia­gno­stics auf, während Ihr Code im Hin­ter­grund läuft.

GitKraken

GitKraken legt Wert auf Zeit­ein­spa­run­gen, die dem Nutzer beim Testen des Codes zu­gu­te­kom­men. Das System ist bekannt für sein an­sehn­li­ches Interface, seinen Fokus auf Ge­schwin­dig­keit und seine einfache Git-Bedienung. Mit einem prak­ti­schen Rück­gän­gig-Button können etwaige Fehler sofort revidiert werden, was den Workflow sehr ver­ein­facht. Die kos­ten­lo­se Version steht Un­ter­neh­men unter 20 Mit­ar­bei­tern oder Non-Profit-Or­ga­ni­sa­tio­nen zur Verfügung. Die Pro-Version bietet weitere hilf­rei­che Features, bei­spiels­wei­se eine Profil-Un­ter­stüt­zung, um ver­schie­de­ne Projekte bequem von­ein­an­der zu trennen.

Apache Allura

Allura ist eine Open-Source-Software von Apache zur Ver­wal­tung von Quellcode-Re­po­si­to­ries, Feh­ler­be­rich­ten, Dis­kus­sio­nen, Wiki-Seiten, Blogs und weiteren Online-Inhalten. Beim Issue-Tracking in Allura können Sie Markdown-For­ma­tie­run­gen und Da­tei­an­hän­ge nutzen sowie Tickets mit so­ge­nann­ten Mi­le­sto­nes versehen. Außerdem steht Ihnen eine er­wei­ter­te Such­syn­tax zur Verfügung, mit der Sie z. B. häufige Such­an­fra­gen speichern können. Eine Code-Über­prü­fung ist mit diesem System jedoch nicht möglich. Ent­wi­ckelt wurde die Plattform mit Python.

Zum Hauptmenü