Open source komponenty a licence
Buildify Digital s.r.o., IČO 29541743, Korunní 2569/108, Vinohrady, 101 00 Praha 10, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, sp. zn. C 447453.
Verze 1.0 · účinné od 1. září 2026 · kontakt kluch@buildify.cz
1.K čemu je tento dokument
1.1 Buildify CDE stojí z části na open source komponentách. Tenhle dokument říká, které to jsou, pod jakou licencí je používáme a co z toho pro nás plyne za povinnosti. Píšeme ho hlavně proto, abychom licence dodrželi — a abyste vy jako zákazník věděli, co je uvnitř produktu.
1.2 Dokument zpřístupňujeme na dvou místech: v aplikaci cde.buildify.cz v sekci o produktu a veřejně na webu na adrese /pravni/open-source.
1.3 Seznam níže je přehled hlavních komponent, ne úplný soupis. Konkrétní verze a úplný strom závislostí vždy odpovídají souboru závislostí daného vydání — ten je zdrojem pravdy a při každém vydání se může lišit.
2.Přehled komponent
2.1 Hlavní open source komponenty a jejich licence:
| Komponenta | Licence | Kde se používá |
|---|---|---|
| ThatOpen Components | zčásti MPL-2.0 | web klient (prohlížeč BIM modelů) |
| web-ifc | zčásti MPL-2.0 | web klient (čtení IFC) |
| Three.js | MIT | web klient |
| Cesium | Apache-2.0 | web klient (georeference, LandXML) |
| PDAL | BSD-3-Clause | server (zpracování point cloudů) |
| laz-perf | Apache-2.0 | server a web klient (komprese point cloudů) |
| Tesseract | Apache-2.0 | server (extrakce textu z dokumentů) |
| Collabora Online (CODE) | MPL-2.0 | server (editace dokumentů v prohlížeči) |
| MUI | MIT | web klient |
| React | MIT | web klient |
2.2 U ThatOpen Components a web-ifc není licence jednotná napříč všemi balíčky. Část je pod MPL-2.0, u zbytku je potřeba ověřit licenci konkrétní použité verze přímo v jejím repozitáři. Totéž platí pro doplňkové balíčky, které se instalují jako závislost těchto knihoven — u nich jsme licenci zatím jednotlivě neprocházeli.
2.3 U komponent pod Apache-2.0 (Cesium, laz-perf, Tesseract) máme povinnost přiložit k produktu soubor NOTICE, pokud jej autor dodává, a zachovat v něm uvedené atribuce a upozornění. Stejně tak musíme zachovat text licence a informace o autorských právech.
3.Na co si dát pozor
3.1 Collabora CODE. CODE (Collabora Online Development Edition) je podle Collabora edice určená pro vývoj, testování a domácí použití. Pro komerční produkční nasazení nabízí Collabora samostatný komerční produkt s podporou. Riziko je dvojí. Za prvé smluvní a známkové vůči Collabora: jde o to, za jakých podmínek smíme jejich software a jejich značku nabízet ve své placené službě, a to nezhojí zveřejnění zdrojového kódu. Za druhé copyleftové podle MPL-2.0, které se aktivuje distribucí upravených souborů. Toto je nejvyšší licenční riziko v celém stacku a je potřeba ho vyřešit přímo s Collabora, ideálně ještě před spuštěním placeného provozu.
3.2 MPL-2.0. Mozilla Public License je souborový copyleft. Netýká se celé aplikace, ale jednotlivých souborů: pokud upravíte soubor, který je pod MPL-2.0, musíte zdrojový kód toho souboru zpřístupnit příjemcům. Váš vlastní kód kolem něj zůstává váš. Nejjednodušší řešení pro startup: komponenty pod MPL-2.0 nemodifikovat, jen je používat tak, jak jsou. Když potřebujete jinou funkčnost, napište ji vedle, ne do jejich souborů.
3.3 AGPL. Pokud by se do stacku dostala komponenta pod AGPL-3.0, samotný provoz SaaS by zakládal povinnost zpřístupnit zdrojový kód uživatelům služby — i bez distribuce softwaru. To by pro nás byl problém. AGPL komponenty vědomě nepoužíváme, ale je potřeba to ověřit při auditu závislostí, včetně nepřímých závislostí.
3.4 MUI X Pro a Premium. Základní knihovna MUI je pod MIT, ale komerční moduly MUI X (Pro a Premium) pod MIT nejsou a vyžadují placenou licenci na vývojáře. Je potřeba ověřit, jestli je web klient používá — do produkce se dostanou snadno a neúmyslně.
3.5 Jazyková data tessdata. Tesseract sám je pod Apache-2.0, ale natrénovaná jazyková data (tessdata) mají vlastní licenční režim, který se od Apache-2.0 liší a u jednotlivých jazykových modelů se může lišit navzájem. Je potřeba projít licenci konkrétních modelů, které používáme.
4.Co s tím udělat
4.1 Kroky seřazené podle naléhavosti:
- Vyjasnit Collabora. Napsat Collabora, popsat nasazení a zjistit, jestli potřebujeme komerční licenci. Do vyjasnění nezveřejňovat editaci dokumentů jako placenou funkci. Tohle je první krok, ne poslední.
- Sestavit soupis závislostí a licencí. Vygenerovat úplný seznam přímých i nepřímých závislostí serveru a web klienta i s licencemi. Nástroje to udělají automaticky. Výsledek uložit k vydání.
- Zavést pravidlo. Komponenty pod MPL-2.0 neupravovat. Novou závislost přidávat jen po kontrole licence — a AGPL, SSPL a komerční moduly odmítat.
- Doplnit NOTICE. Přiložit soubory NOTICE a texty licencí k produktu: do aplikace a na web.
- Jednou ročně projít znovu. Závislosti se mění s každým vydáním, licence se u projektů občas mění taky. Stačí jednou za rok vygenerovat soupis znovu a porovnat ho s předchozím.
5.Žádosti o zdrojový kód
5.1 Pokud máte podle licence některé komponenty nárok na zdrojový kód, napište na kluch@buildify.cz. Vyřídíme to bez zbytečného odkladu a zdarma, pokud licence neumožňuje účtovat náklady na nosič.
5.2 Na stejnou adresu pište i tehdy, když si myslíte, že jsme některou licenci nedodrželi nebo že v přehledu chybí komponenta. Opravíme to.
