Open Source für Dummies 2

Versionskontrollsysteme und Kollaborative Plattformen

Nachdem wir nun ein klein wenig über die Geschichte von Open-Source wissen, stellt sich nun die Frage: Wie arbeiten und organisieren sich solche Projekte eigentlich? Da die Antwort recht lang ist, habe ich dieser einen eigenen Post gewidmet.

Wenn viele Leute rund um den Globus zusammenarbeiten, kann es vorkommen, dass mehrere Leute dieselbe Datei editieren. Hierbei entstehen langfristig unweigerlich Konflikte. Um diese Konflikte zu lösen und um nachzuverfolgen, welche Person was an dem Projekt geändert hat (falls sich bspw. mal ein Fehler einschleicht), wurde das Prinzip der Versionsverwaltungssysteme erfunden (kurz VCS für Version Control System). Das im Moment weit verbreiteteste System an dieser Stelle ist Git.

Git ist ein verteiltes Versionskontrollsystem, was für die Entwicklung des Linux Kernels im Jahre 2005 erschaffen wurde. Es ist für die größten Softwareprojekte, die es zum Zeitpunkt des Artikels gibt, geeignet, funktioniert aber auch genauso gut mit winzigen Projekten.

Auch wenn Git in der Lage ist, Patches (ein textbasiertes Format zur Anzeige und Beschreibung eines Satzes an Änderungen) per E-Mail zu verschicken, haben sich in den letzten Jahren einige Tools zur Verbesserung der Koordination von Entwicklerteams entwickelt. Die bekanntesten drei, mit denen ich als Autor arbeite, sind die folgendenen:

Die genannten Tools sind mittlerweile weit mehr als nur eine Integration in Git. Sie bieten Security Analysen, Automatisierung, Projekttracking, Foren und mehr an, um das Arbeiten in kollaborativen Umgebungen angenehmer zu gestalten.

Andere gern benutzte Tools sind:

  • Jira: Dieses Tool kommt eigentlich aus dem Projektmanagement, hat sich über die Jahre aber zu einer mächtigen Möglichkeit entwickelt, größere Projekte zu planen und zu verwalten. Insbesondere im Geschäftsumfeld ist diese Software sehr beliebt, da sie auch für Nicht-IT-Personal gut zu bedienen ist.
  • Confluence: Dieses Wiki-Tool wird meist zusammen mit Jira verwendet, da es vom selben Hersteller (Atlassian) kommt. Der WYSIWYG Editor bietet auch Laien die Möglichkeit, schöne Artikel zu schreiben. Wie Jira hat die Software viele Möglichkeiten im Bereich Berechtigungen, durch welche auch eine nach extern sichtbare Wissensdatenbank für Kunden aufgebaut werden kann.
  • Bugzilla: Dies ist nach wie vor ein reiner Issue Tracker. Mit Plugins lässt sich auch viel Drittanbietersoftware anbinden, aber die Haupt-Funktionalität ist sich über die Jahre treu geblieben.
  • Foren: Die älteste Form der Foren sind Mailing-Listen. Eins von vielen moderneren Foren ist bspw. Discourse. Im Kern geht es aber darum, dass jedes Projekt mit einem Forum Nutzern und Entwicklern sowie allen anderen Interessierten die Möglichkeit geben möchte, sich auszutauschen.

Im nächsten Beitrag werde ich ein paar Gedanken zum Thema Testen und synchroner Kommunikation teilen.

Comments

No Comments