Abspaltung (Softwareentwicklung)

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

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. Mit Bezug auf das Urheberrecht wird auch von einem Derivat (derivativ, lat.: derivare ableiten) gesprochen.

Hintergründe[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. neue – Rechte an dem Produkt teilen.

Projektbeispiele[Bearbeiten]

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

Versionskontrollsysteme[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 350 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]

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]

  1. mirrors / linux-2.6 (englisch) – Seite bei GitHub; Stand: 26. April 2011