Mis on projektikahvel?

Arvutusrakendustes on projektihark olukord, kus väljakujunenud tarkvaratoote teatud aspekti või funktsiooni kasutatakse uue toote loomisel, mis on suunatud rakendustele, mis ei ole algse tarkvara fookuses. Projektikahvlite loomine on tavaline nähtus ja see võib toimuda avatud lähtekoodiga või tasuta tarkvara abil. Samuti on näiteid projektihargi projektist, mis loodi patenteeritud tarkvaratoote mõne aspekti abil.

Tarkvaratehnoloogia protsessis arendatakse pidevalt uusi tarkvarapakette, mis vastavad tarbijate kasvavatele vajadustele. Sageli annab nende uute toodete jaoks inspiratsiooni olemasolev tarkvara. Praeguse tarkvarapaketi üks või kaks funktsiooni võivad olla uue toote aluseks. Selle stsenaariumi puhul öeldakse, et uus tarkvara “hargnes” või hargnes olemasoleva tarkvaratoote küljest lahti. Uue projektihargi eesmärk on suurendada nende laenatud funktsioonide atraktiivsust ja lisada uusi funktsioone, mida algses tarkvarapakkumises pole.

Avatud lähtekoodiga tarkvara kasutamine projektikahvli loomiseks on suhteliselt lihtne. Pole vaja hankida algse arendaja luba ega nõuet teha koostööd algse tarkvara arendajatega. Siiski ei ole harvad juhud, kui projektihargi arendaja suhtleb algsete arendajatega, mõnikord kuni projektihargi koos töötamiseni. Selline suhtlemise ja koostöö tase on aga täiesti vabatahtlik ega ole nõutav, kui tegemist on vaba tarkvaraga.

Patenditud tarkvararakenduste puhul loob projekti hargi tavaliselt mis tahes üksus, kellel on algse tarkvara litsents. Küll aga on sõltumatul arendajal võimalik sõlmida lepinguline leping, mis lubab haru või haru arenduses litsentsitud tarkvara piiratud kasutust. Sagedamini kasutab algset tarkvara kontrolliv ettevõte lihtsalt ettevõttesiseseid ressursse projektihargi arendamiseks ja säilitab täieliku kontrolli litsentsi üle. Seda lähenemisviisi kasutatakse sageli patenteeritud tarkvara uute ja funktsioonirikkamate versioonide väljatöötamisel või kaastarkvarapakettide loomisel, mis töötavad koos algse tarkvaraga.

Võimalik, et projekti kahvel võib viia tarkvarapaketi väljatöötamiseni, mis lõpuks jätab algse tarkvara varju ja isegi asendab selle. Muul ajal võivad kahvlid areneda ainult nii, et need suunatakse lõpuks tagasi algsesse tarkvararakendusse ja turustatakse uue ja täiustatud versioonina.