Co je fork v programování a open source

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.

Domluvte si konzultaci zdarma

Znáte někoho komu by článek mohl pomoct? Budu rád za sdílení!

Nejnovější články

Nabídka služeb

Vyberte si z nabídky níže, co zrovna potřebujete nebo mi rovnou zavolejte a probereme Vaše potřeby.

Weby a portály

Kódování a programování

Praha, Brno, Ostrava či zahraničí? Na tom nezáleží

Osobní schůzky jsou možné, ale většinu záležitostí — od tvorby webů po AI automatizace — lze vyřešit pohodlně přes videohovor. Působím po celé ČR, s klienty z mnoha měst: Praha, Brno, Ostrava, Jičín, Liberec, Olomouc, Hradec Králové, České Budějovice, Karviná, Frýdek-Místek, Opava, Třinec, Orlová, Český Těšín, Nový Jičín, Krnov, Bohumín, Kopřivnice, Bruntál...
Pro lepší porozumění vašim potřebám je ideální online hovor. Rezervujte si schůzku přes můj formulář nebo mě kontaktujte telefonicky. Můžeme se taky domluvit na výjezdu a osobní schůzce.
Praha, Brno, Ostrava či zahraničí? Na tom nezáleží