Nelle applicazioni di calcolo, un progetto forcella è una situazione in cui un particolare aspetto o la funzionalità di un prodotto di software è utilizzato come base per la creazione di un nuovo prodotto che è orientata verso le applicazioni che non sono al centro del software originale. La creazione di forche progetto è un evento comune, e può essere effettuata utilizzando l'open source e software libero. Ci sono anche esempi di un progetto fork del progetto che è venuto in essere utilizzando alcuni aspetti di un prodotto software proprietario.
Nell'ambito del processo di ingegneria del software, vi è il costante sviluppo di nuovi pacchetti software che soddisfano una crescente gamma di bisogni dei consumatori. Spesso, il software esistente fornisce l'ispirazione per questi nuovi prodotti. Uno o due caratteristiche di un pacchetto software corrente può costituire la base per un nuovo prodotto. In questo scenario, si dice che il nuovo software "a forcella" o ramificata fuori del prodotto software preesistente. Il nuovo progetto mira forcella per aumentare il fascino di quelle prese in prestito le caratteristiche, oltre ad aggiungere nuove funzionalità che non sono presenti nell'offerta software originale. L'uso di software open source per la creazione di un progetto forcella è relativamente semplice. Non vi è alcuna necessità di ottenere il permesso da parte dello sviluppatore originale, né alcun obbligo di collaborare con gli sviluppatori del software originario in alcun modo. Tuttavia, non è raro che lo sviluppatore di un progetto forcella per interagire con gli sviluppatori originali, a volte fino al punto di lavorare sul progetto forchetta insieme. Tuttavia, questo livello di comunicazione e collaborazione è volontaria e non è un obbligo, quando il software libero è coinvolto. Con le applicazioni software proprietario, la creazione di un fork del progetto è di norma effettuata con qualsiasi entità detiene la licenza per l'originale software. Tuttavia, è possibile per uno sviluppatore indipendente a stipulare un accordo contrattuale che consente un uso limitato di software concesso in licenza per lo sviluppo del ramo o della forcella. Più comunemente, la società che controlla il software originale non farà uso delle risorse in casa per sviluppare il progetto forcella, e mantenere il pieno controllo della licenza. Questo approccio è spesso utilizzato nello sviluppo di nuove e più ricche funzionalità di versioni di software proprietario, o la creazione di pacchetti software compagno che funzionano con il software originale.E 'possibile che un progetto forcella può portare allo sviluppo di un pacchetto software che alla fine mette in secondo piano e sostituisce anche il software originale. Altre volte, forcelle possono sviluppare solo per poi essere indirizzati nuovamente dentro l'applicazione software originale e commercializzati come una nuova e migliorata versione.
