Přejít k navigační liště

Zdroják » Zprávičky » Free licenci – ale kterou?

Free licenci – ale kterou?

Zprávičky Různé

Nálepky:

Volných licencí je téměř nepřeberné množství, leckdy se od sebe liší jen v detailech (a v nich se, jak známo, skrývá ďábel), takže pokud člověk nechce strávit dlouhé hodiny studováním textů licencí a komentářů k nim, tak neví po které sáhnout, a snadno se stane, že použije takovou, kterou vlastně ani použít nechtěl, třeba zbytečně restriktivní, nebo naopak volnou víc než je záhodno. Pepak na svém blogu vydal dva články, věnované právě free licencím (první díl, druhý díl), kde shrnuje rozdíly mezi těmi nejznámějšími free licencemi.

K tomu ještě poznámka, kterou snad není třeba na stránkách Roota zmiňovat, ale pro jistotu: Pokud vám připadají free licence překombinované a nevidíte důvod je používat („prostě to dám na web a je to volné“), tak vězte, že je tomu přesně naopak: Pokud uvolníte dílo bez licence, podléhá jeho použití a šíření plně ustanovením autorského zákona, který takové operace zakazuje. Licence nejsou proto, aby něco zakázaly, ale naopak aby v souladu s autorským zákonem volné šíření umožnily.

Komentáře

Subscribe
Upozornit na
guest
21 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Mordae

Nejak jsem nepobral co mini tim, ze je nutne mix GPL a ne-GPL prelicencovat na GPL, jinak neni mozne ho distribuovat. Vzdy jsem to chapal tak, ze je mozne distribuovat dilo slozene z nekonfliktujicich licenci a *celek* se bude ridit sjednocenim vsech restrikci.

šachy

Respektive celek se bude řídit nejrestriktnější licencí.

Mordae

Ne tak docela. Pokud bude jedna licence GPL a druha MIT + „odvozeny software bude vzdy ve svem nazvu obsahovat ‚beetlejuice‘“, tak to bude pod GPL a odvozeny software bude obsahovat v nazvu ‚beetlejuice‘.

šachy

Máte pravdu. Příliš jsem to zobecnil. Myslel jsem to tak, že bod musí/nesmí má ve výsledku vyšší prioritu než může/nemusí.

aargh

Nie je pravda. Konkrétne GPL zakazuje pridávať ďalšie obmedzenia (ako dotyčná požiadavka na názov).
Pozri section 11 paragraph 3 (further restrictions):
http://www.gnu.org/licenses/gpl.html

aargh

preklep, section 10

pepak

Míním tím přesně to, tam je napsáno: Pokud v jednom programu použiju sebekratší kód, který je pod GPL, musím _celý_ program, !!! včetně všech jeho komponent !!!, uvolnit pod GPL. Což je problém, protože já obvykle _nemám_ právo u komponent jiných autorů měnit jejich licenci. Takže pokud mám například komponentu uvolněnou pod MPL, tak ve stejném programu nemůžu použít GPL – té MPL komponentě samotné by to bylo jedno, ale licence MPL mě zavazuje tu komponentu i nadále šířit pod MPL, tudíž ji nemůžu přelicencovat pod GPL, tudíž nesplním podmínku GPL komponenty, že mám celý program vydat pod GPL.
Absurdní je, že tohle platí dokonce i pro různé verze GPL. Když budu mít komponentu vydanou pod GPL verze 2 (a ne pod „GPL verze 2 nebo novější“) a komponentu vydanou pod GPL verze 3, tak každá z nich po mě chce, abych celý program vydal pod GPL verze 2 (resp. 3), a zakazuje mi použít jakoukoliv jinou licenci, byť by to byla GPL verze 3 (resp. 2). (A než se začnete divit, co to vymýšlím za konstrukce – přesně to, i když jinými slovy, říká ta tabulka v oficiálním GPL FAQ…).

František Kučera

Proto se právě doporučuje vydávat kód pod licencí s dodatkem „a nebo novější“ ;-) Samozřejmě to není nutné, pokud je člověk sám autorem toho softwaru nebo ten software „žije“ a vznikají nové verze – pak není problém zareagovat a vydat pod novější verzí GPL. Ten dodatek usnadňuje život v případě, že někdo kdysi vydal nějaký kód a víc už se o něj nestará, nebo když na kódu spolupracuje víc lidí a práva k němu nejsou konsolidovaná a bylo by potřeba shánět souhlasy všech autorů pro vydání pod novou verzí licence.

František Kučera

To je pak otázka, jestli se nám víc líbí anarchie nebo svoboda (kde jsou práva, ale i povinnosti) a taky jde o obchodní modely a nějakou dlouhodobou udržitelnost… Obávám se, že diskuse pod zprávičkou povede leda ke flamu a nic se v ní nevyřeší – zkusím to raději rozepsat v nějakém článku. (ale dřív se vrhnu na tu Javu :-)

pepak

Jako vývojář říkám: já chci vyvíjet, ne běhat jak křeček v kolotoči absurdních omezení, které mi tu svobodu vnutí všemi tělesnými otvory, i kdyby mě to mělo zabít. Pokud je někdo natolik uvědomělý a pilný, že ta omezení v rámci lepší budoucnosti uživatelů přijme a všechny nevyhovující komponenty přepíše, mám pro něj jen obdiv, ale osobně se radši budu věnovat úplně novým věcem než tomu, abych znovu vynalézal kolo jenom proto, že původní vynálezce ho dovolil používat všem, i těm, kdo by ho chtěli využít v utajeném automobilu.

František Kučera

Člověk musí pracovat s tím, co je k dispozici, a zboží na trhu (kód) za jeho cenu (podmínky licence) buď přijmout nebo nechat ležet. Já si taky nestěžuji, že existují kuřácké hospody (člověk pak strašně smrdí, když odtamtud jde) – prostě si představím, že neexistují a nijak mi tím pádem neškodí. To je svoboda. Ty si zase můžeš představit, že GPL kód neexistuje (když ti smrdí), a používat nějaký jiný.
Když někdo vydá svůj program pod GPL*, tak k tomu měl zřejmě nějaký důvod – stejně jako má hospodský důvod provozovat kuřáckou hospodu. Např. autor došel k tomu, že kód pod BSD licencí by mu sice přinesl víc uživatelů, ale větší počet uživatelů neznamená automaticky něco pozitivního. Je to jako na webu – velký počet návštěvníků taky automaticky neznamená výhodu**. Autor si potom řekl, že by akorát pomohl svým konkurentům a ušetřil jim práci, jiný efekt by z toho nebyl.
*) nebo dokonce Affero GPL, to je ale sprosťárna, co? :-)
**) někdy to může být dokonce nevýhoda, protože ti vyžírají datové přenosy a musíš za ně platit provoz serveru a nic z toho, nic ti zpátky nevracejí. Někdy je prostě dobré dát přednost kvalitě před kvantitou a mít třeba méně uživatelů/náv­štěvníků, ale takových, ze kterých něco mám – ať už přímo peníze, nebo nějaký jiný užitek, třeba pomoc, nebo software, který oni vytvořili na základě toho mého.

bauglir

Teda nevím, jestli jsem to dobře pochopil, ale vážně považujete BSD-like za anarchii a GPL za svobodu? Také bych nerad neproduktivní flame, ale snažím se to pochopit…

en

Jistě, že považuje. Nepochopil totiž, že pokud se hovoří o free software jako o svobodném software, tak se tím nemyslí svoboda uživatelů nebo autorů, ale opravdu svoboda software. Je to sice absurdní věc, ale licencí vymožená.

Snahou GPL je opravdu dát a zajistit analogii lidské svobody tomu kódu s vědomím, že tím vznikají omezení uživatelům.

A jelikož já nechci uživatelům házet klacky pod nohy, tak raději používám BSD licenci.

Tundra

Licence typu BSD se mi zdají nevhodné v tom, že by podle mě mohly existovat situace, které by sice BSD licence povolovala, ale přitom bych sám měl pocit, že mě částečně poškozuje. Ale souhlasím s tím, že GPL licence je zase příliš restriktivní – na ní je trochu nesympatické, že nutí podmínky zvolení licence i částem kódu, které vznikly naprosto bez pomoci autora volícího tuto licenci.
Mě osobně by nejvíce vyhovovala licence typu LGPL, ale upravená tak, aby byla trochu volnější a dala se použít i na ucelené aplikace. Prostě původní části kódu by musely zůstat v licenci kompatibilní s GPL a musely by být s aplikací dodávané zdrojové kódy této části kódu, ale nově vytvořené části by mohly mít licenci jakoukoliv. A ty části, které by byly jaksi hybridní – tedy doplněný a upravený původní kód – by musely mít opět stejnou licenci s původním kódem.
Mám trochu obavy z možností prosazování takové licence, ale z čistě teoretického pohledu to vcelku přesně vyznačuje, co bych na pracování s mým kódem povolil a co ne.

pepak

To je poměrně přesný popis Mozilla Public License, případně jejích odvozenin.

bauglir

Zajímavé, pravda, že takto jsem o GPL nikdy nepřemýšlel, většinou začnu vidět rudě, jakmile někdo hovoří o GPL jakožto o svobodě uživatelů :), což je zjevný nesmysl, ale opakující se neustále, GPL nedává svobodu uživatelům a už vůbec ne programátorům. Takto budiž, je to jakási ekvivalence svobody jednotlivce, prostě soft pod GPL nesmí být omezen, jeho licence musí být zachována… to už zní zajímavěji…
Ale přesto, svou virovou podobou je to pro mě nevyužitelná licence, radši budu nabízet kódy pod BSD či MPL. Když už open source licenci, nebudu s ní zamořovat výsledný produkt..

bauglir

Jen podotknu, že takové vysvětlení GPL zní zajímavěji pouze jako filozofické cvičení, reálně to je zjevně nesmysl, softu je jedno, pod jakou je licencí

Karel

Softu není jedno. Soft nemá vědomí a tudíž nemůže mít názor. Pokud se tedy nebavíme o nějaké pokročilé AI :-) Hovořit o svobodě SW je asi to samé, jako hovořit o svobodě hrníčku.

bauglir

Ano, proto jsem psal jako filozofické cvičení :)
Mimochodem, je tu na rootu ve zpravičkách odkaz na rozhovor se Stallmanem, doporučuju přečíst :) fanatik a ideolog :)

Karel

No, on je trochu problém v tom „a nebo novější“. Zjednodušeně řečeno, nemůžete vydat SW pod licencí, kterou neznáte. Takže vydáte SW pod licencí „GPL v2 nebo novější“. Časem vyjde GPL v4, vám se nebude líbit a vy kupodivu máte právo zakázat použití vašeho SW pod GPL v4, přestože jste původně uvedli licenci „GPL v2 nebo novější“. V případě v3 byste neuspěl, protože ta už existuje a tudíž by soud vaši námitku shodil ze stolu s tím, že jste si byl licenčních podmínek vědom. V případě v4 byste ale uspěl, protože byste právem namítal, že jste ve chvíli vydání svého SW licenci GPL v4 neznal a tudíž ji není možné (přes vaše „nebo novější“) aplikovat, protože není jak dokázat, že jste svobodně svolil k licencování za podmínek GPL v4 (protože jste je nemohl znát). Takže jakožto uživateli mi takové ty „GPL v2 nebo vyšší“ docela vadí, protože autor může kdykoliv některé verze licence zpětně zakázat. Na druhou stranu to docela chápu. Dokážete si představit tu legraci, kdyby verze GPL v4 přiřkla výkon veškerých autorských práv Microsoftu a zavedla licenční poplatky? Nebo zakázala použití GPL kódu pro komerční účely? Nebo naopak uvolnila veškeré kódy ve stylu BSD? FSF takovou verzi licence může vydat, z legislativního pohledu jí v tom nic nebrání. A právě v té chvíli by se mohli autoři ozvat a u soudu uspět s tím, že „GPL v2 a nebo novější“ ještě neznamená, že by to šlo použít pod „GPL v4“.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.