Hlavní navigace

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

Jaroslav Hájek 18. 2. 2010

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.

Anketa

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í.

Našli jste v článku chybu?

18. 2. 2010 10:27

Pokud jde o GUI, je to v zasade pravda, protoze Octave mit vlastni GUI asi nikdy nebude, prinejmensim ne v dohledne dobe. Existuji graficke nadstavby ale protoze takove blbinky nepotrebuju, nemuzu soudit. Ovsem pokud jde o jazyk jako takovy, Octave je s Matlabem mnohem kompatibilnejsi nez Scilab. Zda se, ze INRIA ani nema v umyslu v tomto smeru (kompatibilita s Matlabem) Scilab nejak vyznamne posunovat, takze to tak asi i zustane.

18. 2. 2010 14:21

Scilab je nekompatibilní i v některých naprosto základních funkcích (např. strcmp, any/all, zeros atd), takže šance že Matlabovský skript pojede ve Scilabu beze změny není moc velká (rozhodně mnohem menší než s Octave). Na druhou stranu je zde jakýsi automatický konverzní nástroj, ale nemám s ním žádné zkušenosti.

Některé věci (např. user classes, function handles) zde myslím vůbec nejsou, jiné fungují hodně jinak (cell arrays). Myslím, že INRIA záměrně nevytváří produkt s Matlabem příliš kompa…

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!