⚖️Vývoj software7 min čteníAktualizováno: 31. 10. 2026

Open source licence: rozdíly mezi MIT, Apache a GPL

Open source licence jsou různých typů: MIT licence a Apache 2.0 dovolují užití v uzavřeném softwaru, GPL licence ne. Ukážeme si, jak mezi nimi vybrat.

👨‍💻
Roman
AboutTheApp

Shrnutí a kontext

Open source licence říká uživatelům vaší aplikace, co smí s vaší aplikací dělat a jaké podmínky přitom musí splnit. Rozlišují se tzv. permisivní licence (MIT, Apache 2.0), které dovolují použití i v uzavřeném softwaru, a copyleftové (GPL, AGPL), které vyžadují, aby odvozený kód zůstal otevřený. Níže se podíváme na typy licencí, jejich srovnání a postup, jak vybrat licenci pro svůj projekt.

1. Co je open source licence

Open source licence je dokument, kterým autor dává ostatním povolení užívat jeho kód, upravovat ho a šířit. Bez licence platí výchozí autorské právo: podle dokumentace GitHubu si ostatní uživatelé GitHubu mohou prohlížet kód ve veřejném repozitáři a vytvořit jeho fork, ale nikdo ho nesmí kopírovat, šířit nebo z něj odvozovat vlastní práci. Veřejný repozitář tedy ještě neznamená open source.

Které licence se považují za open source posuzuje organizace OSI (Open Source Initiative) podle Open Source Definition a schválené vede ve veřejném seznamu. Definice mimo jiné zakazuje omezovat oblast použití, takže open source software smíte používat i komerčně.

2. Typy open source licencí

Open source licence se dělí na permisivní a copyleftové, copyleft pak může být slabý anebo silný. Copyleft znamená, že odvozené dílo musí být vydáno pod stejnou nebo slučitelnou licencí, takže kód zůstane otevřený i v dalších verzích.

Licence, které open source nejsou

Business Source License (BSL) není open source licence a produkční použití dovoluje jen v rozsahu, který určí autor. Server Side Public License (SSPL) vyžaduje, aby každý, kdo software nabízí jako službu, zveřejnil i zdrojový kód celé služby. OSI ji za open source licenci nepovažuje.

TypCo vyžadujeLicence
PermisivníZachovat upozornění na autorská práva a text licence; kód smíte použít i v uzavřeném softwaruMIT, BSD, ISC, Apache 2.0
Slabý copyleftOtevřené musí zůstat úpravy knihovny nebo licencovaných souborů; zbytek aplikace může být uzavřenýLGPL, MPL 2.0
Silný copyleftPři šíření musí celé odvozené dílo vyjít se zdrojovým kódem pod stejnou licencíGPL, AGPL

3. MIT licence

MIT licence dovoluje s kódem dělat téměř cokoli, včetně použití v uzavřeném komerčním produktu. Jedinou podmínkou je zachovat upozornění na autorská práva a text licence ve všech kopiích. Licence má jen pár odstavců a vylučuje jakoukoli záruku.

Licence výslovně neřeší patenty, slovo patent se v jejím textu vůbec nevyskytuje. Používá ji například React nebo Vue.

4. Apache licence 2.0

Apache licence 2.0 je permisivní stejně jako MIT, ale navíc výslovně uděluje patentovou licenci od všech přispěvatelů. Když někdo někoho zažaluje s tvrzením, že tento kód porušuje patent, patentovou licenci k němu ztrácí. Pod Apache 2.0 vychází například Kubernetes.

Licence má o něco více podmínek než zmíněná MIT: musíte označit změněné soubory a pokud projekt obsahuje soubor `NOTICE`, jeho obsah musíte předávat dál. Licence nedává právo používat ochranné známky autora. Pozor také na slučitelnost: kód pod Apache 2.0 smíte zahrnout do projektu pod GPL v3, ale podle Free Software Foundation ne do projektu pod GPL v2 bez možnosti novější verze.

5. GPL licence: co znamená copyleft

GPL licence (GNU General Public License) vyžaduje, aby každý, kdo šíří program nebo dílo z něj odvozené, předal příjemcům i zdrojový kód pod stejnou licencí. Komerční použití nezakazuje: software pod GPL smíte prodávat, kupující ale dostane stejná práva jako vy a může ho dál šířit.

Podle FAQ k licencím GNU smíte GPL kód upravit a používat ve firmě, aniž byste cokoli zveřejňovali, a totéž platí pro upravený program, který provozujete na svém webu. Jiná situace je u programů, které web předává dalším návštěvníkům, často v JavaScriptu: jejich zdrojový kód musí uživatel dostat podle podmínek GPL. GPL v3 za šíření považuje každé předání kopie, takže sem patří i dodání desktopové nebo mobilní aplikace zákazníkovi.

GPL se dnes používá ve verzích 2 a 3. GPL v3 zavazuje každého, kdo program šíří, předat příjemcům potřebné patentové licence a brání zařízením, na kterých uživatel nemůže spustit upravenou verzi. Linuxové jádro je pod GPL v2, GIMP nebo Ansible pod GPL v3.

6. AGPL licence: copyleft i pro webové aplikace

AGPL licence (GNU Affero General Public License) vychází z GPL v3 a navíc se vztahuje na provoz po síti. Když upravenou verzi programu zpřístupníte uživatelům na internetu, musíte jim zpřístupnit i její zdrojový kód. Rozdíl oproti GPL je podstatný hlavně u webových aplikací a služeb.

Free Software Foundation ji doporučuje zvážit pro software, který se běžně provozuje přes síť. Používá ji například Grafana nebo Mastodon. Některé firmy ji ale nepřipouštějí: podle zásad Googlu se kód pod AGPL v Googlu nesmí používat, protože podmínky pro provoz přes síť se tam obtížně plní. U knihovny to může omezit její rozšíření.

7. Srovnání MIT, Apache 2.0 a GPL

Srovnání licencí ukazuje, že MIT a Apache 2.0 se liší hlavně patenty, zatímco MIT a GPL se liší tím, jestli odvozený kód musí zůstat otevřený.

MITApache 2.0GPL v3AGPL v3
Komerční použitíAnoAnoAnoAno
Šíření v uzavřeném softwaruAnoAnoNeNe
Zachovat upozornění a text licenceAnoAnoAnoAno
Označit změnyNeAnoAnoAno
Předat zdrojový kódNeNePři šířeníPři šíření i při provozu upravené verze přes síť
Výslovná patentová licenceNeAnoAnoAno
Příklad projektuReact, VueKubernetesGIMP, AnsibleGrafana, Mastodon

8. Jak vybrat open source licenci pro svůj projekt

Výběr licence závisí na tom, co chcete, aby se s kódem stalo: jestli má být co nejrozšířenější anebo jestli mají úpravy zůstat otevřené. Pomůže vám následující přehled, případně web Choose a License, který vytvořil GitHub.

Tento přehled není právní rada

Článek slouží pro základní orientaci. Pokud licence ovlivňuje váš obchodní model, smlouvy se zákazníky nebo patenty, poraďte se s právníkem.

Co chceteVhodná licence
Co největší rozšíření, nevadí vám použití v uzavřených produktechMIT
Totéž a výslovné ošetření patentů, například u projektu, do kterého přispívají firmyApache 2.0
Knihovnu, kterou jde použít v uzavřené aplikaci, ale její úpravy zůstanou otevřenéLGPL nebo MPL 2.0
Aby zůstala otevřená i aplikace, která z vašeho kódu vznikneGPL v3
Aby úpravy sdílel i ten, kdo váš projekt provozuje jako webovou službuAGPL v3
Uzavřenou aplikaci pro zákazníky nebo interní použitíŽádnou open source licenci, stačí vlastní smlouva nebo podmínky

9. Jak licenci přidat do projektu

Licenci do projektu přidáte souborem v repozitáři a údajem v manifestu balíčku. Po výběru licence ještě ověřte, že jí neodporují knihovny, které aplikace používá.

  1. 1

    Přidejte soubor LICENSE

    Do kořene repozitáře vložte plné znění licence a u MIT doplňte rok a držitele autorských práv. GitHub soubor rozpozná a licenci zobrazí v přehledu repozitáře.

  2. 2

    Uveďte licenci v manifestu

    Použijte identifikátor ze seznamu SPDX, například `MIT`, `Apache-2.0` nebo `GPL-3.0-or-later`, jak doporučuje dokumentace npm. U balíčku, ke kterému nechcete dát ostatním žádná práva, uveďte `UNLICENSED`.

  3. 3

    Zkontrolujte licence závislostí

    Když aplikace používá knihovnu pod GPL, vztahují se podmínky GPL podle FAQ k licencím GNU na celou kombinaci aplikace a knihovny. Seznam knihoven s licencemi se hodí i na obrazovku O aplikaci a do kontrolního seznamu pro předání.

package.json
{
  "name": "rezervace-zasedacek",
  "version": "1.8.2",
  "license": "MIT"
}

10. Kde má být licence aplikace vidět

Licence aplikace má být vidět i mimo repozitář, protože k němu zákazník, podpora ani nový správce nemusí mít přístup.

V AboutTheApp u aplikace vyplníte licenci (vyberete ji z nabídky nebo napíšete vlastní) a odkaz na její text. About page a About box ji pak zobrazí vedle autora, verze a odkazů. Související dokumenty, například licenční smlouvu nebo podmínky použití, připojíte jako odkazy v kategorii Právo a vztahy. AboutTheApp licenci za vás nevybere ani neověří její správnost, drží jen údaj a odkazy na jednom místě.

11. Jak vést licence komponent a zobrazit je na About page

Licence komponent vedete v AboutTheApp u každé aplikace v okně Komponenty a licence, které otevřete z karty aplikace. U každé knihovny, frameworku nebo písma zapíšete název, verzi, licenci, odkaz, kategorii a případně popis. Licenci vyberete ze stejné nabídky jako u aplikace nebo napíšete vlastní.

About page pak seznam veřejně zobrazí v záložce Komponenty a licence, kde návštěvník vidí název, licenci a odkaz a může si komponenty filtrovat podle kategorie. Přímo ve vaší aplikaci ho ukáže varianta About boxu Autoři a licence, která navíc uvádí verzi a popis.

Časté otázky

Jaký je rozdíl mezi MIT a Apache 2.0?

Obě licence jsou permisivní a dovolují použití v uzavřeném softwaru. Apache 2.0 navíc výslovně uděluje patentovou licenci a vyžaduje označení změn, MIT je kratší a patenty výslovně neřeší.

Jaký je rozdíl mezi MIT a GPL?

MIT dovoluje šířit odvozený kód i jako uzavřený software, stačí zachovat upozornění na autorská práva a text licence. GPL vyžaduje, aby odvozené dílo při šíření vyšlo se zdrojovým kódem pod stejnou licencí.

Mohu použít knihovnu pod GPL v komerční aplikaci?

Ano, GPL komerční použití nezakazuje. Pokud ale aplikaci s touto knihovnou šíříte zákazníkům, musíte jim předat i zdrojový kód celé aplikace pod GPL. Při provozu jen na vlastním serveru tato povinnost nevzniká, u AGPL se ale vztahuje i na upravenou verzi dostupnou přes síť.

Co když projekt nemá žádnou licenci?

Pak platí výchozí autorské právo a autor si ponechává všechna práva. Na GitHubu si kód ve veřejném repozitáři můžete prohlédnout, ale nesmíte ho kopírovat, upravovat ani šířit, dokud k tomu nedostanete povolení.

Jde později změnit licenci projektu?

Ano, jako jediný autor můžete zvolit jakoukoli licenci. Jinak může být potřeba souhlas ostatních držitelů autorských práv, tedy přispěvatelů nebo jejich zaměstnavatelů. Permisivní licence jako MIT obecně dovolují přechod na licenci s více podmínkami, pokud zachováte původní licenci a upozornění na autorská práva.

Ve zkratce

Pro projekty, které mají být co nejsnáze použitelné, stačí MIT nebo Apache 2.0, pro otevřené úpravy zvolte GPL nebo AGPL. Bez licence ostatní váš kód legálně používat nesmí.

AboutTheApp

Chcete mít licence u aplikace?

Založte si zdarma aplikaci v AboutTheApp a přidejte k ní licenci, seznam komponent s licencemi, odkazy na právní dokumenty a repozitář.