Hva er en prosjektgaffel?
I databehandlingsapplikasjoner er en prosjektgaffel en situasjon der et bestemt aspekt eller funksjon ved et etablert programvareprodukt brukes som grunnlag for å lage et nytt produkt som er rettet mot applikasjoner som ikke er i fokus for den opprinnelige programvaren. Opprettelse av prosjektgaffler er en vanlig forekomst, og kan skje ved bruk av åpen kildekode eller gratis programvare. Det er også eksempler på et prosjektgaffelprosjekt som ble til ved å bruke et aspekt av et proprietært programvareprodukt.
Innenfor prosessen med programvareteknikk er det kontinuerlig utvikling av nye programvarepakker som tilfredsstiller et voksende spekter av forbrukernes behov. Ofte gir eksisterende programvare inspirasjonen til disse nye produktene. En eller to funksjoner i en nåværende programvarepakke kan danne grunnlaget for et nytt produkt. I dette scenariet sies det at den nye programvaren "forked" eller forgrenes av det eksisterende eksisterende programvareproduktet. Den nye prosjektgaffelen søker å forbedre appellen til de lånte funksjonene, samt legge til nye funksjoner som ikke er til stede i det originale programvaretilbudet.
Bruken av open source-programvare for å lage en prosjektgaffel er relativt enkel. Det er ikke nødvendig å sikre tillatelse fra den opprinnelige utvikleren, og heller ikke noe krav om å samarbeide med utviklerne av den opprinnelige programvaren på noen måte. Det er imidlertid ikke uvanlig at utvikleren av en prosjektgaffel samhandler med de opprinnelige utviklerne, noen ganger til det punktet at de jobber sammen med prosjektgaffelen. Imidlertid er dette nivået av kommunikasjon og samarbeid helt frivillig og er ikke et krav når gratis programvare er involvert.
Med proprietære programvareprogrammer, blir det å lage en prosjektgaffel normalt utført av den enheten som har lisensen på den opprinnelige programvaren. Imidlertid er det mulig for en uavhengig utvikler å inngå en avtale som tillater begrenset bruk av lisensiert programvare i utviklingen av filialen eller gaffelen. Mer ofte vil selskapet som kontrollerer den opprinnelige programvaren ganske enkelt benytte seg av interne ressurser for å utvikle prosjektgaffelen, og opprettholde full kontroll over lisensen. Denne tilnærmingen brukes ofte når du utvikler nye og mer funksjonsrike versjoner av proprietær programvare, eller lager ledsagerprogramvarepakker som skal fungere med den opprinnelige programvaren.
Det er mulig at en prosjektgaffel kan føre til utvikling av en programvarepakke som til slutt overskygger og til og med erstatter den originale programvaren. Andre ganger kan det hende at gafler utvikler seg for bare å bli ført tilbake til den originale programvaren og markedsført som en ny og forbedret versjon.