Proč je open-source audit důležitý
Moderní software typicky obsahuje 70–90 % open-source kódu (knihovny, frameworky, nástroje). Některé licence ale vyžadují, abyste zveřejnili vlastní zdrojový kód nebo dodrželi specifické podmínky.
Typy open-source licencí
Permisivní licence (nízké riziko)
| Licence | Požadavky | Komerční použití |
|---|---|---|
| MIT | Zachovat copyright notice | ✅ Plně povoleno |
| BSD 2/3 | Zachovat notice | ✅ Povoleno |
| Apache 2.0 | Notice + patent grant | ✅ Povoleno |
| ISC | Minimální | ✅ Povoleno |
Copyleft licence (vysoké riziko)
| Licence | Požadavky | Riziko pro SaaS |
|---|---|---|
| GPL v2 | Zveřejnit odvozený kód | ⚠ Vysoké při distribuci |
| GPL v3 | Zveřejnit + anti-tivoizace | ⚠ Vysoké |
| AGPL | Zveřejnit i při network use | 🔴 Kritické pro SaaS |
| SSPL | Zveřejnit celý stack | 🔴 Kritické (MongoDB) |
Speciální případ: AGPL a SaaS
AGPL (Affero GPL) je nejrizikovější licence pro SaaS: vyžaduje zveřejnění kódu i když software pouze provozujete na serveru (network use = distribuce). Pokud váš SaaS používá AGPL knihovnu, možná musíte zveřejnit celý kód.
Jak provést open-source audit
1. Automatizovaný scan
Použijte SCA (Software Composition Analysis) nástroje:
- FOSSA — komplexní licenční analýza
- Snyk — bezpečnost + licence
- WhiteSource (Mend) — enterprise řešení
- npm audit / pip-licenses / composer licenses — základní kontrola
2. Sestavte SBOM
SBOM (Software Bill of Materials) — kompletní seznam všech závislostí:
- Název knihovny
- Verze
- Licence
- Přímá vs. tranzitivní závislost
3. Vyhodnoťte rizika
- Jsou copyleft licence správně izolovány?
- Existují alternativy ke GPL komponentám?
- Jsou všechny licence kompatibilní mezi sebou?
- Dodržuje firma attribution požadavky?
Dopad na valuaci
| Nález | Dopad |
|---|---|
| Pouze permisivní licence | Neutrální |
| GPL v kódu, ale izolované | −5–10 % (náklady na refaktoring) |
| AGPL v core produktu | −20–50 % nebo deal-breaker |
| Nulled/piratský software | Deal-breaker |