Tegenwoordig is Fork (ontwikkeling) een onderwerp dat grote belangstelling en debat genereert in verschillende delen van de samenleving. Jarenlang heeft dit onderwerp een grote relevantie verworven, waardoor de interesse is gewekt van experts, academici, professionals en het grote publiek. Het belang van Fork (ontwikkeling) ligt in de impact ervan op verschillende aspecten van het dagelijks leven, evenals in de invloed ervan op de besluitvorming op politiek, sociaal en economisch niveau. Daarom is het essentieel om de aspecten rond Fork (ontwikkeling), de implicaties ervan en de korte- en langetermijneffecten ervan diepgaand te begrijpen. Daarom zullen we in dit artikel uitgebreid en objectief ingaan op de verschillende aspecten die verband houden met Fork (ontwikkeling), met als doel een duidelijke en volledige visie te geven op dit onderwerp dat vandaag de dag zo relevant is.
In softwareontwikkeling wordt over fork (ofwel: afsplitsing) gesproken wanneer op basis van de broncode van een bestaand opensourcesoftwarepakket een nieuw en daarna onafhankelijk project wordt gestart.
Vrije of opensourcesoftware is per definitie software waarvan het mogelijk is een afsplitsing te starten zonder toestemming van de originele maker. Gelicentieerde afsplitsingen van propriëtaire software komen echter ook voor (een voorbeeld is Unix).
Een veelvoorkomende vorm van afsplitsing, die intern is binnen een project, is een stabiele (stable) of vrijgegeven (release)versie, waarin uitsluitend nog programmeerfouten (bugs) worden verbeterd. Deze bestaan naast de ontwikkelversie, waar nieuwe functionaliteit wordt ontwikkeld. Dergelijke splitsingen worden meestal aangeduid als "branches" (aftakkingen, hoewel ook in het Nederlands de Engelse term het meest wordt gebruikt), om de negatieve bijbetekenis van het woord fork te vermijden.[bron?]
De definitie van vrije software staat het toe af te splitsen zonder voorgaande toestemming ("Vrijheid 3: De vrijheid om het programma te verbeteren en daarna te verspreiden ten bate van de hele gemeenschap. Beschikbaarheid van de broncode is hiervoor eveneens noodzakelijk.". Ook bij open source is dit het geval: "Opensourcesoftware is software waarvan de broncode is gepubliceerd en vrij beschikbaar is voor het publiek, waardoor iedereen het vrijelijk kan kopiëren, aanpassen en verspreiden zonder kosten aan auteursrechten en toeslagen".
In vrije software is een afsplitsing meestal het resultaat van een meningsverschil of van persoonlijke conflicten. Beide partijen gaan verder met vrijwel identieke broncode, maar meestal behoudt de grootste groep of de groep waar de originele softwarearchitect deel van uitmaakt de oorspronkelijke naam en de gebruikersgemeenschap. Afsplitsen heeft meestal reputatieschade tot gevolg. De relatie tussen de beide teams kan beleefd zijn (bijvoorbeeld Ubuntu en Debian), rancuneus (X.Org Server en XFree86 of cdrtools en cdrkit) of niet noemenswaardig (de meeste Linuxdistributies).
Afsplitsen wordt gezien als een uitdrukking van de vrijheid die vrije software biedt. Als zwakke punten worden beschouwd het (potentieel) dupliceren van ontwikkelwerkzaamheden en verwarring bij gebruikers over welke afsplitsing te gebruiken. Ontwikkelaars hebben altijd de mogelijkheid om samen te werken binnen vrije software, maar dit wordt niet gegarandeerd door vrije softwarelicenties. Uitsluitend toewijding van de ontwikkelaars kan hiervoor zorgen. Desondanks nemen veel ontwikkelaars wel degelijk de moeite om wijzigingen in alle relevante afsplitsingen aan te brengen, bijvoorbeeld bij de verschillende BSD-varianten.
In The Cathedral and the Bazaar (1997) wordt geopperd dat "De belangrijkste eigenschap van een afsplitsing is dat ze leidt tot concurrerende projecten waartussen later geen uitwisseling van broncode mogelijk is, en een opsplitsing van de ontwikkelgemeenschap.". Dit is echter tegenwoordig niet per definitie waar.
Soms kan een afsplitsing weer terugvloeien in het oorspronkelijke project, of het zelfs vervangen. EGCS (het 'Experimental/Enhanced GNU Compiler System), een afsplitsing van GCC, bleek vitaler dan het oorspronkelijke project en werd na verloop van tijd erkend als het officiële GCC-project. Er zijn gevallen waarin dit resultaat met opzet werd nagestreefd, zo begon Mozilla Firefox als een officieus project binnen Mozilla, dat al gauw de originele Mozilla Suite verdrong als primaire focus van ontwikkeling.
De Jargon File zegt over afsplitsen:
Een afsplitsing uitroepen is simpel, maar het kost veel moeite om onafhankelijke ontwikkeling en ondersteuning mogelijk te blijven maken. Afsplitsingen lopen daarom het risico om snel inactief te worden, zoals bijvoorbeeld GoneME dat een afsplitsing is van GNOME. Ondanks publicitaire aandacht lukte het de voormalige GNOME-ontwikkelaar niet om de afsplitsing in leven te houden. Er zijn echter genoeg bekende voorbeelden van afsplitsingen die wel succesvol bleken, zoals X.Org-server, een afsplitsing van XFree86. Deze afsplitsing kreeg veel bijval van ontwikkelaars en gebruikers en versnelde de ontwikkeling van X aanzienlijk.
Van propriëtaire software ligt het auteursrecht meestal bij de werkgever en niet bij de individuele software-ontwikkelaars. Afsplitsingen zijn hier dan ook gebruikelijker wanneer de eigenaar verschillende versies wil ontwikkelen, zoals een grafische versie en een versie voor gebruik vanaf de commandoregel, of versies voor verschillende besturingssystemen zoals een tekstverwerker voor IBM PC-systemen en Apple-computers. Over het algemeen bezitten dergelijke afsplitsingen dezelfde uiterlijke kenmerken en gebruikersinterface, dezelfde gegevensindeling en gelijke functionaliteit, zodat een gebruiker ongeacht het besturingssysteem met de software overweg kan en documenten tussen de verschillende systemen kan uitwisselen. Dit is zo goed als altijd een economische beslissing om een groter marktaandeel te veroveren. Derhalve wegen de extra inkomsten op tegen de hogere kosten door dubbel ontwikkelwerk.
Een uitzondering hierop zijn de vele afsplitsingen van Unix — allemaal afsplitsingen (al dan niet indirect) van AT&T Unix en allemaal bekend als "Unix". De vele verschillende versies vertonen echter steeds meer incompatibiliteit.
De BSD-licentie staat het toe dat afsplitsingen propriëtaire software worden. Volgens sommigen zorgen commerciële motivaties ervoor dat het propriëtair maken van software zo onvermijdelijk is. Enkele voorbeelden zijn Cedega en CrossOver (propriëtaire afsplitsingen van Wine), EnterpriseDB (een afsplitsing van PostgreSQL met Oracle-compatibiliteit), Fujitsu Supported PostgreSQL met een propriëtair ESM-opslagsysteem, en Netezza's propriëtaire op schaalbaarheid georiënteerde versie van PostgreSQL. Sommige van deze bedrijven geven veranderingen terug aan het oorspronkelijke, vrije project terwijl andere deze voor hun eigen concurrentievoordeel behouden.
Een cryptovaluta (en daarmee zijn software) splitst soms in twee versies, of anders gezegd, van een cryptovaluta splitst soms een andere af. Zo splitste Bitcoin Cash in 2017 af van Bitcoin.