Jak omezit svobodu aneb hrátky MathWorks s licencí BSD

18. 2. 2010
Doba čtení: 6 minut

Sdílet

Společnost MathWorks je známá především svým produktem Matlab, který je velmi úspěšným produktem na poli matematických výpočtů. Firma umožňuje uživatelům, aby si na speciálním webu vyměňovali své programy a funkce pro tento nástroj. Nyní firma nutí uživatele nasadit licenci BSD, ale využívá ji proti nim.

GNU GPL vs. BSD aneb Mortal Kombat

Spor mezi přívrženci licencí GNU GPL (dále jen GPL) a licencí BSD je zřejmě jedním z věčně živých a věčně živených sporů mezi vývojáři svobodného či otevřeného (to je zase další spor) softwaru. Zdá se, že zatímco silní zastánci GPL mají sklony tvrdit, že je to jediná správná licence pro dobro lidstva a bez ní by svobodný software zcela umřel (nebo ani nikdy nevznikl), lidé z tábora BSD se obzvláště rádi strefují do GPL a označují ji za zpátečnickou a komunistickou, a na úspěšné GPL projekty (Linux, GCC) žárlí, třebaže například FreeBSD lze s klidem označit za stejně úspěšný projekt jako Linux. Obě licence mají více verzí, takže záleží na tom, o které verzi je zrovna řeč.

Účelem tohoto článku není řešit tento letitý spor, ani argumentovat ve prospěch některé ze stran. Rád bych si v něm všiml jisté aktuální zajímavosti, související s licenční politikou, rozdílem mezi BSD a GPL, s komerčním softwarem Matlab, vydávaným firmou MathWorks, který je na svém poli obecných technických výpočetních nástrojů jedním z nejúspěšnějších produktů na světě, a jeho svobodnou obdobou GNU Octave. Diskuze, která mě k napsání tohoto článku podnítila, se vedla na mailing listu help@octave.org, který je veřejně přístupný a je archivován.

Co vymysleli v MathWorks

Debata se rozhořela, když J.G. Hermoso, vývojář Debianu a silný zastánce svobodného software, postnul na obecný mailing list Octave příspěvek s názvem „[OT]: Mathworks fighting the GPL“. Upozorňoval v něm na skutečnost, že firma MathWorks mění podmínky své File Exchange Service, široce používané komunitou uživatelů Matlabu pro sdílení programů a funkcí. Napříště bude pro příspěvky povolená pouze licence BSD, existující software pod jinou (nebo žádnou) licencí bude sice na serveru zatím ponechán, ale nebude možné jej updatovat ani nebude přístupný přes jiné služby. Tolik alespoň oficiální text. Podle blogu Aravinda Seshadri, autora jednoho z mnoha balíčků na File Exchange, to ovšem vypadá, že MathWorks má v plánu všechen nevyhovující software z hostingu odstranit, a autory poměrně důrazně žádá, aby licenci změnili. Někteří, jako výše uvedený autor, tak učinili, jiní, např. Tim Davis, autor skvělé knihovny UMFPACK a dalších, změnu z GPL na BSD odmítli a svůj software z File Exchange stáhli.

Až dosud to vypadá na jasnou záležitost. Firma MathWorks prostě chtěla udělat v licencích pořádek, aby věci zjednodušila: When everyone uses the same license, it is a simple matter to re-use and re-license code. Sice to zní poněkud demagogicky (když budeme volit všichni jednu stranu, volby budou taky mnohem jednodušší), ale něco na tom je. Pravda, utrpí ti, kdo by rádi uvolňovali pod jinou licencí, ale zase se při stahování a používání kódu nemusíte hrabat v licenčních podmínkách, protože licence BSD vám povoluje opravdu hodně, včetně začlenění kódu do proprietárního software. Nejedná se ostatně o nic tak neobvyklého, jistě vás napadnou i jiné softwarové firmy, které vám laskavě omezí možnost volby, abyste měli jednodušší život. BSD licence je dobrá, svobodná (či otevřená, chcete-li), široce známá a používaná. Ti, kdo se nenechají přesvědčit ke změně licence, prostě přesunou svůj software jinam, nebo jej nechají upadnout do věčného zapomnění.

Situace se ukázala jako mnohem zajímavější, když Judd Storrs objevil, že firma MathWorks do podmínek použití služby (Terms of Service) vpašovala následující větičku: All content contained in the MATLAB Central File Exchange may only be used with MathWorks products.

A tohle můžou?

To celkem významně mění situaci. S podmínkami ToS musíte souhlasit, pokud službu jakkoliv používáte, samozřejmě včetně stahování software. Judd Storrs (mimochodem spíše zastánce BSD) potvrdil, že věta v podmínkách dříve nebyla, byť nelze přesně říci, kdy se tam objevila.

Nabízí se přirozeně otázka, zda firma MathWorks může něco takového nařizovat. Jisté je to, že v případě GPL by to dělat nemohla – licence GPL něco takového explicitně zakazuje. I proto se zdá pravděpodobné, že nová klíčová podmínka byla přidána současně se změnou licenční politiky. V případě licence BSD je situace méně jasná, protože ta přidávání dalších omezení nezakazuje, aby bylo možno kód pod licencí BSD použít v proprietárním software. Judd Storrs vyjádřil přesvědčení, že licenci není možné omezovat, je-li software pouze distribuován, takže ten, kdo si software stáhne, je vázán pouze původní BSD. Ale je tomu tak? Můžeme se podívat, co na to říká český autorský zákon (zákon č. 121/2000 Sb., Hlava I, par. 48: „poskytnutí oprávnění třetí osobě“): Je-li tak sjednáno ve smlouvě, může nabyvatel oprávnění tvořící součást licence zcela nebo zčásti poskytnout třetí osobě (podlicence). Český autorský zákon tedy praví, že třetí osobě můžete poskytnout omezenou licenci, pokud vám to vaše licence povoluje. Vzhledem k tomu, že BSD licence vám povoluje vše a jen pár věcí nařizuje, zdá se, že přinejmenším český zákon tuto „fintu“ společnosti MathWorks nezakazuje. Je samozřejmě možné, že autorský zákon ve Spojených Státech říká něco jiného, i když bych se tomu velmi divil. Budu rád, když to nějaká dobrá duše prozkoumá.

V zásadě tak lze říci, že firma MathWorks sice software akceptuje pod BSD licencí, ale sama ho hodlá šířit pod BSD licencí s významným omezením navíc, které mimo jiné zapovídá jeho použití například s GNU Octave. To se sice nezdá dvakrát fér, na druhou stranu k tomu není nikdo nucen požadavkem na nějakou exkluzivní licenci a každý si tak svůj software může jinými prostředky dál distribuovat jak se mu zlíbí. Bylo by zajímavé zjistit, kolik uživatelů a autorů si je tohoto přidaného omezení vědomo. Všichni ale samozřejmě vědí, že by podmínky měli číst, a skutečnost, že tak mnoho lidí nečiní, není omluvou.

Východiska

Znamená to tedy, že licence BSD je špatná a málo svobodná? Samozřejmě že ne. Licence BSD je v jistém smyslu mnohem svobodnější než GPL, protože neomezuje vaše možnosti při úpravách a šíření, zejména možnost omezit další osoby. Na druhé straně, licence GPL vás nutí k tomu, abyste při úpravách a šíření poskytli dalším možnost software rovněž upravovat a šířit, a to včetně vašich úprav. Součástí větší svobody, kterou BSD poskytuje, je bohužel také nutnost strpět omezování práv dalších osob ze strany některého redistributora, které se vám nemusí líbit.

bitcoin_skoleni

Která z těchto licencí je pro vás lepší?

Protože nemálo uživatelů Octave nějaký software z File Exchange používá či používalo, je na místě přemýšlet, co s touto nepříznivou situací mohou dělat. Jedno z možných řešení, které jsem ve zmíněné diskuzi navrhl, je obmailovat autory software na File Exchange a získat kopie přímo od nich, které tak nebudou tímto omezením vázány, a ty pak umístit na nějaký alternativní server, zřejmě SourceForge pod projekt OctaveForge. Zapojí-li se dost lidí, mohlo by se podařit celý problém obejít snadno a rychle. Patříte-li mezi uživatele GNU Octave i Matlabu a File Exchange, můžete se k akci připojit.

Na závěr se nabízí úvaha, zda by se z tohoto triku společnosti MathWorks nemohl stát nebezpečný trend. Je-li moje amatérská právní analýza správná a tento postup je právně v pořádku, mohly by se o něco podobného klidně pokusit i další firmy hostující otevřený software. Firmy si navíc obvykle vyhrazují právo podmínky kdykoliv měnit a je na vás, abyste se s tím vypořádali. Mohlo by se tak stát, že váš software pod licencí BSD bude v tichosti takto postižen a vy si toho ani nevšimnete. Software pod licencí GPL je v bezpečí, protože licence to zakazuje; firma by takový software musela odstranit. Můj krátký pohled na služby Google Code a CodePlex ovšem žádné podobné „špeky“ neodhalil, takže zatím můžeme být klidní.

Autor článku