Autorskoprávní ochrana APIs - 1. část

12.08.2021

Autor: Mgr. Vítek Švejda, advokátní koncipient

Když v dubnu tohoto roku rozhodl americký Nejvyšší soud o oprávněnosti použití rozhraní pro programování aplikací (API, z anglického application programming interface, v tomto případě Java) vyvinutého společností Sun Microsystems ze strany Googlu při vývoji Androidu, mnoha programátorům spadl kámen ze srdce. 

V prvním díle této dvoudílné minisérie představím fungování a strukturu API pro účely dalšího právního rozboru a blíže popíši fakta tohoto více než desetiletí táhlého sporu. V druhé dílem se pak zaměřím na právní stránku tohoto sporu, zejména na zdůvodnění rozhodnutí Nejvyššího soudu a na otázku, zda jsou v něm uvedené závěry aplikovatelné i v českém právním prostředí či zda API může být dílem dle tuzemského autorského práva.

Význam a základní principy fungování API

Zatímco uživatelské rozhraní slouží pro komunikaci mezi programem a daným uživatelem, API funguje jako rozhraní pro komunikaci mezi dvěma různými aplikacemi. Jedná se tedy o sadu pravidel, která definují, jak mohou počítače, aplikace nebo stroje spolu komunikovat. Jakmile je software používán ke komunikaci s jiným softwarem nebo webovými servery, dochází k zapojení API a přenosu informací, které jsou vyžadovány. Ze strany vývojářů tak dochází k využití API k integraci již naprogramovaných řešení do vlastních webů či softwaru.

K tomuto jsou využívány předem definované programové celky (procedury, funkce), díky kterým programátor nemusí programovat celou požadovanou funkci, ale stačí mu takovýto celek "volat" a využít k dosažení předvídaného výsledku. Jinak řečeno, programátorům je tímto umožněno vyvolat předepsané výpočetní úlohy pro použití ve svých vlastních programech, aniž by tuto úlohu museli sami programovat. Programátory jsou API využívány zejména jako rozhraní k vývoji mobilních či webových aplikací.[1]

Každá takováto úloha je v předmětném API označována jako metoda, přičemž jednotlivé metody jsou dále sdružovány do tříd a balíčků, čímž vytváří danou strukturu (knihovnu) API.

Metoda je předem definována tzv. implementujícím kódem, který počítači říká, jak danou úlohu vykonat (jak např. seřadit vstupní hodnoty dle velikosti). Programátor potom může tuto metodu vyvolat prostřednictvím volání metody, což si můžeme představit jako název dané metody v podobě příkazu a vstupních hodnot. Poslední součástí je deklarující kód, který říká, jak volání metody spojit s konkrétním implementujícím kódem - obsahuje tedy jednak název každé metody, jednak umístění implementujícího kódu ve struktuře API.

Zdroj: Rozhodnutí Nejvyššího soudu Spojených států amerických sp. zn. 18-956 ze dne 5. 4. 2021.

Google v. Oracle

Sun Microsystems (později odkoupena společností Oracle, která ve sporu vystupuje) vypustila Javu do světa v roce 1995. Díky dostupnosti zdrojového kódu, možnosti tvořit odvozená díla (pro komerční použití ovšem s nutností získat zvláštní licenci) a zejména interoperabilitě programů napříč širokým spektrem operačních systémů bez nutnosti upravovat tyto programy, se Java těšila značné popularitě programátorů. Google, který v roce 2005 odkoupil Android a chtěl jej zatraktivnit pro budoucí vývojáře, se rozhodl inkorporovat knihovny Javy do zdrojového kódu Androidu, díky čemuž by se vývojáři při vyvíjení aplikací pro Android nemuseli učit nový programovací jazyk, ale z velké části by si vystačili se znalostí Javy.

Za tímto účelem probíhala mezi těmito společnostmi jednání o udělení licence, která nicméně ztroskotala (jednak kvůli vysoké ceně pohybující se v rozmezí 30-50 milionů USD, jednak kvůli dalším ujednáním smlouvy, díky kterým by Sun získal částečnou kontrolu nad Androidem). Google se tak rozhodl vytvořit svou verzi Javy a vyvinul téměř totožné knihovny, nicméně bez použití zdrojového kódu Javy.

Google tedy nezkopíroval implementující kód Javy, ale "pouze" deklarující kód zahrnující názvy metod a strukturu API Javy, tedy její celkovou funkcionalitu. Programátoři tak mohli využívat ty samé příkazy, které využívali při používání Javy, ale provedení těchto příkazů bylo zajištěno kódem, který vyvinul Google sám. Celkově Google okopíroval názvy metod a strukturu 37 balíčků, což odpovídá zhruba 11,5 tisícům řádků kódu.

V roce 2010 tak byla ze strany Oraclu zahájena řada soudních řízení založených na porušení patentových a autorských práv. Zatímco nároky pramenící z porušení patentových práv byly zamítnuty již v roce 2012, autorskoprávní aspekty byly předmětem řízení až do letošního roku. V roce 2014 odvolací soud rozhodl v neprospěch Googlu v první dílčí otázce, že API může být předmětem autorskoprávní ochrany. V roce 2018 potom odvolací soud rozhodl v neprospěch v Googlu i druhou zásadní otázku, tedy že postup Googlu se nedá považovat za postup v souladu s doktrínou fair use.

Nejvyšší soud se bohužel (alespoň pro mě) nezabýval otázkou toho, zda API naplňuje znaky díla a může požívat autorskoprávní ochrany, ale soustředil se pouze na doktrínu fair use ("To decide no more than is necessary to resolve this case, the Court assumes for argument's sake that the copied lines can be copyrighted, and focuses on whether Google's use of those lines was a fair use.").

Rozbor rozhodnutí v příštím článku tak nabídne exkurz do českého právního řádu neznámé doktríny fair use.


[1] https://www.rascasone.com/cs/blog/co-je-api 


Článek byl publikován na webu Právníprostor.cz