Fork (forkování) je vytvoření odvozené verze existujícího softwaru, která se dále vyvíjí nezávisle na originálu. Výsledný projekt zpočátku funguje stejně jako původní, ale postupem času se od něj odlišuje - podle potřeb a rozhodnutí nového správce.
Jak fork vzniká
Na platformách jako GitHub nebo GitLab jde o technicky jednoduché: jedním kliknutím vznikne kopie celého repozitáře pod vaším účtem. Máte plnou kontrolu nad dalším vývojem, aniž byste potřebovali souhlas původního autora. Podmínkou je, že licence původního projektu forkování povoluje - u open-source projektů zpravidla ano.
Analogie: představte si kuchařku s recepty. Fork je okopírování té kuchařky a přidávání vlastních receptů. Originál zůstane beze změn. Vaše verze se může od originálu postupem času výrazně lišit. Kdykoli chcete, můžete původnímu autorovi navrhnout, aby přidal vaše vylepšení i do jeho verze - tomu se říká pull request.
Reálné příklady forkování
Fork je běžný mechanismus vzniku nových projektů:
- Android vznikl jako fork Linux kernelu pro mobilní zařízení
- Brave Browser je fork Chromiu se zaměřením na soukromí
- LibreOffice je fork OpenOffice.org po jeho převzetí Oraclem
- MariaDB je fork MySQL ze stejného důvodu
- Valkey vznikl v roce 2024 jako fork Redis po změně licence
Fork AI modelů
V kontextu umělé inteligence se forkování týká zejména open-weight modelů. Když Meta vydala model LLaMA s veřejně dostupnými vahami, komunita ihned vytvořila desítky odvozených verzí - každá zaměřená na jiný jazyk, obor nebo použití. Podobně vznikají forky modelů Mistral nebo Qwen.
Fork AI modelu má dvě podoby: fine-tuning (dotrénování na specifických datech) nebo architekturální fork (základ převzat a výrazně upraven).
Fork vs. clone vs. branch
Tři pojmy, které se snadno pletou. Clone je kopie repozitáře na lokální disk pro práci offline - předpokládá synchronizaci zpět. Branch je větev uvnitř jednoho projektu pro paralelní vývoj funkce. Fork je nový samostatný projekt s jiným vlastníkem - nevede nutně zpět k originálu.
Praktické využití pro firmy
Firma, která chce používat open-source software s vlastními úpravami, typicky forkuje repozitář a přidává firemní specifika. Výhoda: kód je pod vlastní kontrolou. Nevýhoda: bezpečnostní záplaty z originálu je nutné ručně přenášet. Správa forku vyžaduje průběžnou péči vývojáře.
Pavel Szabo
Programátor webů, eshopů a informačních systémů s více než 23 lety praxe. Pomáhám firmám i jednotlivcům s online podnikáním, automatizacemi a využitím AI v praxi.