Laskentasovelluksissa projektihaarukka on tilanne, jossa vakiintuneen ohjelmistotuotteen tiettyä puolta tai ominaisuutta käytetään perustana uuden tuotteen luomiseen, joka on suunnattu sovelluksiin, jotka eivät ole alkuperäisen ohjelmiston painopiste. Projektihaarukoiden luominen on yleistä, ja se voi tapahtua avoimen lähdekoodin tai ilmaisen ohjelmiston avulla. On myös esimerkkejä projektihaarukkahankkeesta, joka syntyi käyttämällä jotain ohjelmistotuotteen osaa.
Ohjelmistotuotantoprosessissa kehitetään jatkuvasti uusia ohjelmistopaketteja, jotka täyttävät kasvavat kuluttajien tarpeet. Usein olemassa olevat ohjelmistot inspiroivat näitä uusia tuotteita. Yksi tai kaksi nykyisen ohjelmistopaketin ominaisuutta voi muodostaa perustan uudelle tuotteelle. Tässä skenaariossa sanotaan, että uusi ohjelmisto “haarautuu” tai haarautuu olemassa olevasta ohjelmistotuotteesta. Uusi projektihaarukka pyrkii lisäämään lainattujen ominaisuuksien houkuttelevuutta ja lisäämään uusia ominaisuuksia, joita ei ole alkuperäisessä ohjelmistotarjonnassa.
Avoimen lähdekoodin ohjelmistojen käyttö projektihaarukan luomiseen on suhteellisen yksinkertaista. Alkuperäiseltä kehittäjältä ei tarvitse hankkia lupaa, eikä myöskään vaadita minkäänlaista yhteistyötä alkuperäisen ohjelmiston kehittäjien kanssa. Ei kuitenkaan ole harvinaista, että projektihaarukan kehittäjä on vuorovaikutuksessa alkuperäisten kehittäjien kanssa, joskus siihen asti, että he työskentelevät yhdessä projektihaarukan kanssa. Tämä viestinnän ja yhteistyön taso on kuitenkin täysin vapaaehtoista eikä sitä vaadita, kun kyseessä on ilmainen ohjelmisto.
Omien ohjelmistosovellusten avulla projektihaarukan luonti suoritetaan yleensä sillä, mikä yhteisö omistaa alkuperäisen ohjelmiston lisenssin. Riippumaton kehittäjä voi kuitenkin tehdä sopimuksen, joka sallii rajoitetun lisensoidun ohjelmiston käytön haaran tai haarukan kehittämisessä. Yleisemmin alkuperäistä ohjelmistoa hallitseva yritys käyttää yksinkertaisesti omia resursseja projektin haarukan kehittämiseen ja ylläpitää lisenssin täydellistä hallintaa. Tätä lähestymistapaa käytetään usein kehitettäessä uusia ja monipuolisempia versioita omasta ohjelmistosta tai luotaessa kumppaniohjelmistopaketteja, jotka toimivat alkuperäisen ohjelmiston kanssa.
On mahdollista, että projektihaarukka voi johtaa ohjelmistopaketin kehittämiseen, joka lopulta varjostaa ja jopa korvaa alkuperäisen ohjelmiston. Muina aikoina haarukat voivat kehittyä vain siten, että ne lopulta ohjataan takaisin alkuperäiseen ohjelmistosovellukseen ja markkinoidaan uutena ja parannettuna versiona.