facebook LinkedIN LinkedIN - follow
Tematické sekce
 
Branžové sekce
Přihlášení SystemNEWSPřehledy
 
Tematické seriály

Jak uřídit IT projekt a nezbláznit se

Užitečné tipy a nástroje pro řešení problémů řízení inovací a vývoje produktů...

články >>

 

Industry 4.0

Průmysl 4.0

Jaký vliv bude mít čtvrtá průmyslová revoluce na výrobu a výrobní firmy?

články >>

 
Nové!

RPA - automatizace procesů

Softwaroví roboti automatizují obchodní procesy.

články >>

 
Nové!

IoT – internet věcí

Internet věcí a jeho uplatnění napříč obory.

články >>

 
Nové!

VR – virtuální realita

Praktické využití virtuální reality ve službách i podnikových aplikacích.

články >>

 
Nové!

Bankovní identita (BankID)

K službám eGovernmentu přímo z internetového bankovnictví.

články >>

 

Příručka úspěšného IT manažera

Dnes je řada IT manažerů opomíjena. Úspěšní bývají brouci Pytlíci a Ferdové...

články >>

 
 
Partneři webu
IT SYSTEMS 1-2/2017 , IT právo

Použití open source v rámci vývoje a jeho licencování

JUDr. Lukáš Jansa


Jansa, Mokrý, Otevřel & partneřiPři vývoji SW se často používá různou formou i open source SW, u něhož vzniká otázka dalšího licencování a dodržování mnohdy přísných licenčních podmínek. Komplikace tak přináší právní režim licencí open source SW, které mají celou řadu podob a zejména právní dopadů v důsledku jejich spojování s jiným proprietárním či open source SW při vývoji, linkování dynamických knihoven při fungování atd. Klíčovou otázkou šíření (licencování) softwaru, který využívá open source, je tzv. viralita a nutnost šířit celý SW pod stejnou licencí a dále otázka vzniku tzv. odvozeného softwaru jakožto odvozeného autorského díla.


Licence open source SW, licenční viralita a odvozený software

Základními typy licencí open source SW jsou (bez upozornění na další specifika jednotlivých licencí) [1]:

  • Permisivní licence (např. BSD, MIT nebo APACHE) s povinností označení autorství, vzdání se odpovědnosti ovšem bez tzv. virality.
  • Slabé copyleftové licence (např. LGPL, Eclipse, Mozilla Public License), které předpokládají označení autora, vzdání se odpovědnosti a další případné podmínky, nicméně viralita je oslabena a de iure omezena pouze na danou část SW, tj. nejčastěji použité knihovny, které jsou nejčastěji pod touto licencí šířeny. Pokud by nicméně vzniklo tzv. odvozené dílo, pak je nutné zachovat původní licenci.
  • silné copyleftové (např. GNU GPL 2.0 a 3.0.) vyžadující zachování otevřenosti zdrojového kódu, označení autorství, vzdání se odpovědnosti atd. Při silném copyleftu nastává viralita způsobující povinnost i při použití malé části zdrojového kódu softwaru pod GPL šířit celý výsledný software pod copyleftovou licencí. Viralita by nenastala při oddělitelné funkčně samostatné části SW.

Nyní se pojďme podívat na to, z jakých softwarových částí může být složen softwarový celek, jehož struktura předurčuje následné licencování softwaru. Toto nám přiblíží schéma na orb. 1.

Obr. 1: Softwarový celek může být složen z více softwarových částí a jeho struktura pak předurčuje následné licencování softwaru.
Obr. 1: Softwarový celek může být složen z více softwarových částí
a jeho struktura pak předurčuje následné licencování softwaru.

Viralita silného copyleftu nastane v rámci zdrojového kódu vyvíjeného SW při užití zdrojového kódu open source SW a stejně tak při vzniku odvozeného SW (úpravou open source), byť by šlo o dílčí část zdrojového kódu (viz levá část obrázku). Proto bude nutné zveřejnit zdrojový kód, označit autora a splnit další podmínky licence GNU GPL zbývající části SW. V této souvislosti bude nutné zkoumat ještě tzv. kompatibilitu licencí právě zbývající části s licencí GNU GPL. Ne všechny licence open source SW lze při spojení se silným copyleftem šířit pod původní licencí.

Viralita silného copyleftu nedopadne ovšem na oddělitelnou a funkčně samostatnou část softwaru (např. aplikace, moduly, plug-iny) – viz pravá část obrázku. Nicméně i zde je nutné brát v úvahu, jakým způsobem tato oddělitelná část funguje při využívání softwaru a zda není nedílně spojená s částí v režimu silného copyleftu, ačkoliv z pohledu vývoje (zdrojového kódu) půjde o samostatnou oddělitelnou část.

Pokud by součástí SW (u levé části obrázku) byl open source pod tzv. slabým copyleftem bude nutné zachovat původní licenci (uvedení autora a zveřejnění zdrojového kódu) pouze u části softwaru, která zachovává původní zdrojový kód open source SW nebo je odvozeným softwarem. Není tedy nutné zbývající část softwaru podřídit licenci těchto dvou částí SW. Viralita nenastane.

Klíčovou otázkou je otázka vzniku odvozeného softwaru jakožto autorského díla. Odvozeným dílem lze označit zdrojový kód SW vzniklý modifikací jiného zdrojového kódu. Rozhodující je pak míra této modifikace, nicméně to je vždy předmětem individuálního posouzení a zejména otázka na znalce. Nicméně lze pochopit, že modifikací nebude převod do jiného programovacího jazyka, ani změna nikoliv více než podstatné části zdrojového kódu. Začlenění zdrojového kódu do zdrojového kódu nového softwaru již vznik odvozeného softwaru předpokládá. Toto posouzení vzniku odvozeného softwaru je pak důležité pro aplikaci dopadů tzv. virality open sourcových licencí.

Následující grafika na obr. 2. shrnuje kombinaci jednotlivých typů open sourcových licencí a způsob licencování odvozených děl či softwaru tvořených samostatnými více či méně oddělitelnými funkčními celky SW.

Obr. 2: Základní schéma kombinací a virality licencí [2]
Obr. 2: Základní schéma kombinací a virality licencí [2]

Toto schéma ukazuje pouze situaci při vývoji a šíření softwaru, nikoliv jeho fungování. U samostatných částí SW se navíc nabízí možnost distributora tzv. duálního licencování, tj. šíření jednotlivých částí pod proprietární licencí a open sourcových částí pod licencí příslušného open sourcu.

Největší výkladový problém ve vztahu k odvozeným dílům vzniká v rámci fungování SW u linkování knihoven pod silným copyleftem. Při užití statických knihoven vznikají odvozená díla. Sporné je pak linkování dynamických knihoven, u nichž se názory ohledně vzniku odvozených děl velice liší. Přesto i soudní rozhodnutí a praxe ukazují na následující tři způsoby nahlížení na tuto problematiku:

  • Spustitelný soubor, který používá dynamicky linkované knihovny, je opravdu odvozené dílo a viralita vzniká i při vzájemné komunikaci programů. Tento výklad zastává Free Software Foundation.
  • U dynamického linkování spustitelný soubor není odvozeným dílem [3], jelikož v situaci, kdy proprietární software pouze přistupuje k open source SW bez úpravy kódu, pak nevzniká odvozené dílo.
  • Linkování je irelevantní a podstatnou skutečností je, zda původní software je určen ke spojování programů a vytváření odvozených děl. Pokud není určen, pak nevzniká odvozené softwarové dílo [4].

V tomto směru se lze přiklonit k názoru, který pracuje s podobou zdrojového kódu. Pakliže není zdrojový kód open source SW nedílnou součástí zdrojového kódu spustitelného SW, ale pouze prostředkem jeho fungování, pak nelze hovořit o odvozeném díle.

Závěr

Dodavatel by měl být obezřetný při užití open source SW a uvážlivě tento typ s přihlédnutím k typu licence vybírat a dále správně licencovat. Lze tak vývojářům doporučit užívání softwarů (knihoven) pod permisivními či slabými copyleftovými licencemi, pakliže nechtějí zpřístupnit zdrojový kód celého softwaru v důsledku virality silného copyleftu [5]. Nabyvatel by se měl naopak informovat, zda součástí dodaného SW není náhodou i open source, a pokud ano, pak zjistit příslušný typ licence, aby nedošlo k negativním projevům copyleftových licencí při odpovědnosti za škodu.

Odkazy a zdroje:

JUDr. Lukáš Jansa JUDr. Lukáš Jansa, jansa@lawyer.cz
Autor působí jako advokát v advokátní kanceláři Jansa, Mokrý, Otevřel & partneři. Je předním odborníkem na právo IT a spoluautorem odborných publikací Softwarové právo a Internetové právo. Je členem Pracovní komise pro soukromé právo Legislativní rady vlády ČR.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.