În aplicațiile de calcul, o furcă de proiect este o situație în care un anumit aspect sau o caracteristică a unui produs software consacrat este folosit ca bază pentru crearea unui produs nou care este orientat către aplicații care nu sunt în centrul software-ului original. Crearea de fork-uri de proiect este o apariție comună și poate avea loc folosind sursă deschisă sau software gratuit. Există, de asemenea, exemple de proiect fork care a luat ființă prin utilizarea unui anumit aspect al unui produs software proprietar.
În cadrul procesului de inginerie software, există dezvoltarea constantă de noi pachete software care răspund unei game tot mai mari de nevoi ale consumatorilor. Adesea, software-ul existent oferă inspirație pentru aceste noi produse. Una sau două caracteristici ale unui pachet software actual pot sta la baza unui produs nou. În acest scenariu, se spune că noul software s-a „furcat” sau s-a ramificat de produsul software preexistent. Noul proiect furk urmărește să sporească atractivitatea acelor caracteristici împrumutate, precum și să adauge noi caracteristici care nu sunt prezente în oferta software originală.
Utilizarea software-ului open source pentru crearea unui proiect furk este relativ simplă. Nu este nevoie să obțineți permisiunea de la dezvoltatorul original și nicio cerință de a colabora cu dezvoltatorii software-ului original în vreun fel. Cu toate acestea, nu este neobișnuit ca dezvoltatorul unui proiect furk să interacționeze cu dezvoltatorii originali, uneori până la punctul de a lucra împreună la proiectul furk. Cu toate acestea, acest nivel de comunicare și colaborare este complet voluntar și nu este o cerință atunci când este implicat software gratuit.
Cu aplicațiile software proprietare, crearea unui proiect furk este în mod normal realizată de orice entitate care deține licența pentru software-ul original. Cu toate acestea, este posibil ca un dezvoltator independent să încheie un acord contractual care să permită utilizarea limitată a software-ului licențiat în dezvoltarea sucursalei sau furcii. Mai frecvent, compania care controlează software-ul original va folosi pur și simplu resursele interne pentru a dezvolta fork-ul de proiect și va menține controlul deplin asupra licenței. Această abordare este adesea folosită atunci când se dezvoltă versiuni noi și mai bogate în caracteristici ale software-ului proprietar sau când se creează pachete software însoțitoare care vor funcționa cu software-ul original.
Este posibil ca un proiect furk să ducă la dezvoltarea unui pachet software care în cele din urmă umbrește și chiar înlocuiește software-ul original. Alteori, furcile se pot dezvolta doar pentru a fi în cele din urmă direcționate înapoi în aplicația software originală și comercializate ca o versiune nouă și îmbunătățită.