Hvad er en projektgaffel?
I databehandlingsapplikationer er en projektgaffel en situation, hvor et bestemt aspekt eller funktion i et etableret softwareprodukt bruges som grundlag for at skabe et nyt produkt, der er rettet mod applikationer, der ikke er i fokus for den originale software. Oprettelse af projektgaffler er en almindelig forekomst og kan finde sted ved hjælp af open source eller gratis software. Der er også eksempler på et projektgaffelprojekt, der blev til ved at bruge et aspekt af et proprietært softwareprodukt.
I processen med softwareteknik foregår der konstant udvikling af nye softwarepakker, der imødekommer en voksende række af forbrugernes behov. Ofte giver eksisterende software inspiration til disse nye produkter. En eller to funktioner i en nuværende softwarepakke kan danne grundlaget for et nyt produkt. I dette scenarie siges det, at den nye software "gaffles" eller forgrenes af det eksisterende eksisterende softwareprodukt. Den nye projektgaffel søger at øge tiltrækningen af de lånte funktioner samt tilføje nye funktioner, der ikke er til stede i det originale softwaretilbud.
Brugen af open source-software til oprettelse af en projektgaffel er relativt enkel. Det er ikke nødvendigt at sikre tilladelse fra den oprindelige udvikler, og heller ikke noget krav om at samarbejde med udviklerne af den originale software på nogen måde. Det er dog ikke ualmindeligt, at udvikleren af en projektgaffel interagerer med de originale udviklere, undertiden til det punkt, at man arbejder sammen med projektgaflen. Imidlertid er dette niveau af kommunikation og samarbejde fuldstændigt frivilligt og er ikke et krav, når gratis software er involveret.
Med proprietære softwareapplikationer udføres oprettelse af en projektgaffel normalt af enhver enhed, der har licensen på den originale software. Det er dog muligt for en uafhængig udvikler at indgå en kontraktaftale, der tillader begrænset brug af licenseret software i udviklingen af filialen eller gaffelen. Mere almindeligt vil virksomheden, der kontrollerer den originale software, simpelthen gøre brug af interne ressourcer til at udvikle projektgaflen og opretholde fuld kontrol over licensen. Denne fremgangsmåde anvendes ofte, når du udvikler nye og mere funktionsrige versioner af proprietær software eller opretter ledsagende softwarepakker, der fungerer med den originale software.
Det er muligt, at en projektgaffel kan føre til udvikling af en softwarepakke, der til sidst overskygger og endda erstatter den originale software. På andre tidspunkter udvikles gafler muligvis kun for til sidst at blive dirigeret tilbage til den originale softwareapplikation og markedsført som en ny og forbedret version.