Kas yra projekto šakutė?

Skaičiavimo programose projekto šakutė yra situacija, kai tam tikras sukurto programinės įrangos produkto aspektas arba ypatybė naudojamas kaip pagrindas kuriant naują produktą, pritaikytą programoms, kurios nėra pagrindinės programinės įrangos dėmesio centre. Projektų šakių kūrimas yra įprastas reiškinys ir gali vykti naudojant atvirojo kodo arba nemokamą programinę įrangą. Taip pat yra projekto šakutės projekto, kuris buvo sukurtas naudojant tam tikrą patentuoto programinės įrangos produkto aspektą, pavyzdžių.

Programinės įrangos inžinerijos procese nuolat kuriami nauji programinės įrangos paketai, atitinkantys didėjančius vartotojų poreikius. Dažnai esama programinė įranga suteikia įkvėpimo šiems naujiems produktams. Viena ar dvi esamo programinės įrangos paketo funkcijos gali būti naujo produkto pagrindas. Pagal šį scenarijų sakoma, kad naujoji programinė įranga „išsišakoja“ arba atsiskyrė nuo jau esamo programinės įrangos produkto. Naujoji projekto šakutė siekia padidinti tų pasiskolintų funkcijų patrauklumą, taip pat pridėti naujų funkcijų, kurių nėra originaliame programinės įrangos pasiūlyme.

Atvirojo kodo programinės įrangos naudojimas kuriant projekto šakutę yra gana paprastas. Nereikia gauti leidimo iš pradinio kūrėjo ir nereikalaujama jokiu būdu bendradarbiauti su pradinės programinės įrangos kūrėjais. Tačiau neretai projekto šakutės kūrėjas bendrauja su pradiniais kūrėjais, kartais net kartu dirba prie projekto šakutės. Tačiau toks bendravimo ir bendradarbiavimo lygis yra visiškai savanoriškas ir nėra būtinas, kai naudojama nemokama programinė įranga.

Naudojant patentuotas programinės įrangos programas, projekto šakutės kūrimą paprastai atlieka bet kuris subjektas, turintis originalios programinės įrangos licenciją. Tačiau nepriklausomas kūrėjas gali sudaryti sutartinę sutartį, leidžiančią ribotai naudoti licencijuotą programinę įrangą kuriant filialą ar šakę. Dažniau įmonė, kontroliuojanti originalią programinę įrangą, paprasčiausiai pasinaudos savo ištekliais, kad sukurtų projekto šakę ir išlaikys visišką licencijos kontrolę. Šis metodas dažnai taikomas kuriant naujas ir daugiau funkcijų turinčias patentuotos programinės įrangos versijas arba kuriant papildomus programinės įrangos paketus, kurie veiks su originalia programine įranga.

Gali būti, kad projekto šakutė gali paskatinti sukurti programinės įrangos paketą, kuris ilgainiui užgožia ir netgi pakeičia originalią programinę įrangą. Kitais atvejais šakės gali išsivystyti tik tada, kai galiausiai bus nukreiptos atgal į pradinę programinę įrangą ir parduodamos kaip nauja ir patobulinta versija.