U računalnim aplikacijama, projektna vilica je situacija u kojoj se određeni aspekt ili značajka uspostavljenog softverskog proizvoda koristi kao osnova za stvaranje novog proizvoda koji je usmjeren na aplikacije koje nisu u fokusu izvornog softvera. Stvaranje projektnih vilica uobičajena je pojava i može se odvijati korištenjem otvorenog koda ili slobodnog softvera. Postoje i primjeri projekta vilice projekta koji je nastao korištenjem nekog aspekta vlasničkog softverskog proizvoda.
Unutar procesa softverskog inženjeringa konstantno se razvijaju novi programski paketi koji zadovoljavaju sve veći raspon potreba potrošača. Često postojeći softver daje inspiraciju za te nove proizvode. Jedna ili dvije značajke trenutnog softverskog paketa mogu biti temelj za novi proizvod. U ovom scenariju se kaže da se novi softver “račvao” ili odvojio od prethodno postojećeg softverskog proizvoda. Nova projektna vilica nastoji poboljšati privlačnost tih posuđenih značajki, kao i dodati nove značajke koje nisu prisutne u izvornoj softverskoj ponudi.
Korištenje softvera otvorenog koda za izradu vilice projekta relativno je jednostavno. Nije potrebno osigurati dopuštenje od izvornog programera, niti bilo kakav zahtjev za suradnju s programerima izvornog softvera na bilo koji način. Međutim, nije neuobičajeno da programer vilice projekta komunicira s izvornim programerima, ponekad do točke da zajedno rade na projektnoj vilici. Međutim, ova razina komunikacije i suradnje potpuno je dobrovoljna i nije uvjet kada je uključen besplatni softver.
S vlasničkim softverskim aplikacijama, stvaranje vilice projekta obično provodi bilo koji subjekt koji posjeduje licencu za izvorni softver. Međutim, moguće je da neovisni programer sklopi ugovorni ugovor koji dopušta ograničenu upotrebu licenciranog softvera u razvoju grane ili vilice. Češće, tvrtka koja kontrolira originalni softver jednostavno će iskoristiti vlastite resurse za razvoj projektne vilice i zadržati potpunu kontrolu nad licencom. Ovaj pristup se često koristi pri razvoju novih i više značajki bogatih verzija vlasničkog softvera ili stvaranju pratećih softverskih paketa koji će raditi s izvornim softverom.
Moguće je da projektna vilica može dovesti do razvoja softverskog paketa koji na kraju zasjeni, pa čak i zamijeni originalni softver. U drugim slučajevima, vilice se mogu razviti samo da bi se na kraju usmjerile natrag u izvornu softversku aplikaciju i plasirale na tržište kao nova i poboljšana verzija.