Fork

Från Wikipedia
Hoppa till: navigering, sök
För systemanropet i Unix, se fork (systemanrop).
Unix historiska delningar

Det amerikanska ordet fork (gaffel) används ibland i betydelsen avknoppning eller avgrening av programvaruprojekt. Det kan exempelvis handla om en stark grupp som vill driva ett projekt med öppen källkod åt ett annat håll än majoriteten inom projektet. Denna grupp utgår då normalt från en kopia på källkoden och fortsätter jobba efter sina egna principer, utan att nödvändigtvis följa moderprojektets policy och designprinciper.

Då det gäller mer komplicerad programvara kräver utveckling och felsökning mycket arbete. Då en avgrening så småningom avviker allt mer från moderprojektet kommer detta arbete att behöva göras i båda (alla) grenarna. Det betyder att en gren ofta dör bort, men ibland först efter att eventuella välmotiverade förbättringar i denna införlivats i de mer livskraftiga grenarna.

Vetskapen om det extra arbete och den splittring av resurser en avgrening för med sig för båda grenarna är en mycket stark sammanhållande kraft; de ledande personerna i ett framgångsrikt projekt undviker konflikter som skulle leda till att viktiga personer och organisationer lämnar projektet, samtidigt som erfarna programmerare vanligen drar sig för att lägga arbete på en egen gren.

I någorlunda överskådliga projekt går det ofta att upprätthålla en uppsättning egna modifikationer (engelska: patchset), som anpassas till moderprojektets kod alltefter som denna förändras. Detta räknas inte som en avgrening och är vanligt vad gäller experimentell kod som inte ännu är mogen för projektets huvudgren eller kod anpassad för en viss miljö som inte upplevs väsentlig för projektet.

Här är en illustration av varför fenomenet kallas fork; i figuren löper tiden åt höger (det engelska ordet betyder inte bara gaffel utan även förgrening och trädklyka):

                                   ------------- NetBSD
 BSD                             /
 ----------------------------------------------- FreeBSD
                                 \
                                   ------------- OpenBSD

Detta är en grov skiss, för en bra bild av skeendet i denna fork, se Computer History Graphing Project, som bland annat har en graf över alla Unix-varianter.

[redigera] Kända forkar

[redigera] Se även

Personliga verktyg
Namnrymder

Varianter
Åtgärder
Navigering
Skriv ut/exportera
Verktygslåda
På andra språk