Abspaltung (Softwareentwicklung)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Eine zeitliche Übersicht der Abspaltungen bei Linux-Distributionen

Eine Abspaltung (auch Fork; englisch fork ‚Gabel‘, üblicherweise im Maskulinum verwendet) ist in der Softwareentwicklung ein Entwicklungszweig nach der Aufspaltung eines Projektes in zwei oder mehrere Folgeprojekte; die Quelltexte oder Teile davon werden hierbei unabhängig vom ursprünglichen Mutterprojekt weiterentwickelt. Häufig, besonders im Bezug auf das Urheberrecht, wird auch von Derivat (derivativ, lateinisch derivare ‚ableiten‘) gesprochen.

Hintergründe[Bearbeiten | Quelltext bearbeiten]

Abspaltungen finden überwiegend in freien Software-Projekten statt, da bei diesen das Recht zur Weiterentwicklung und Veränderung lizenztechnisch meist möglich ist. Bei Closed-Source-Projekten kann es zu Abspaltungen kommen, wenn mehrere Firmen zusammenarbeiten und sich die – ggf. neuen – Rechte an dem Produkt teilen.

Auch das Gegenteil einer Abspaltung kommt gelegentlich vor, wenn beispielsweise ein abgespaltenes Projekt wieder mit dem Mutterprojekt vereinigt wird.

Projektbeispiele[Bearbeiten | Quelltext bearbeiten]

(Beispiele für Projekte, die aus Aufspaltungen entstanden sind.)

Versionskontrollsysteme[Bearbeiten | Quelltext bearbeiten]

In Versionsverwaltungssystemen ist eine Abspaltung im Allgemeinen nicht das Ergebnis von Streit unter den Entwicklern oder von Inaktivität eines Projektes, sondern im Rahmen von Branches (Zweigen) reguläres Arbeitsmittel, um Neuerungen für ein Projekt beizusteuern. Bei verteilten Versionsverwaltungssystemen kommt die Möglichkeit hinzu, Branches auch ohne Schreibberechtigung auf das Original-Versionsverwaltungssystem erstellen zu können. Zu Linus Torvalds' Betriebssystemkern Linux gibt es allein auf der Softwareentwickler-Plattform GitHub mehr als 7.900 Abspaltungen,[1] die zum Großteil nicht darauf angelegt sind, eigenständig weiterentwickelt zu werden, sondern darauf, dass ihre individuellen Neuerungen wieder in das ursprüngliche Projekt – oder genauer in die ursprünglichen Quellen (oder Repositories) einfließen. Solche Branches sind dementsprechend eher interne Forks.

Urheberrecht[Bearbeiten | Quelltext bearbeiten]

Im Urheberrecht, das auch für Software gilt, hat der Begriff Derivat genau dieselbe Bedeutung wie in allen anderen Bereichen. Das bedeutet zum Beispiel, dass ein Derivat einer Software, solange keine Autorisierung durch die Rechteinhaber der Software gegeben ist, nur unter bestimmten Bedingungen (z. B. Fehlerkorrektur) erstellt (vom Land abhängig, z. B. durch EU-Richtlinien reguliert) und insbesondere nicht verbreitet werden darf. D. h. solange die Lizenz einer Software nicht explizit erlaubt, dass Derivate erzeugt bzw. verbreitet werden dürfen, ist dies verboten. Diese spielt auch im Fall SCO gegen Linux eine gewichtige Rolle, denn SCO hat AIX sowie auch den Linux-Kernel mit Systemsoftware zu unautorisierten Unix-Derivaten erklärt. Obwohl es zwar strittig ist, ob SCO diese Rechte überhaupt hat, kann SCO, solange sich kein urheberrechtlich geschützter Quelltext im GNU/Linux-System findet, keinen Schuldspruch, z. B. für einen Linux-Distributor, auf Basis des Urheberrechts erwirken.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Network Graph · torvalds/linux (englisch) – Seite bei GitHub; Stand: 8. März 2015