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

Zdroják » Různé » Softwarové licence: úvod pro obyčejné lidi

Softwarové licence: úvod pro obyčejné lidi

Články Různé

Taky vám jde hlava kolem z právnických termínů a z neustálých dohadů v diskusních fórech? Přemýšlíte, jakou licenci vybrat, a proč vůbec nějakou vybírat? Vždyť jste jen napsali nějaký kód a chcete ho dát k dispozici lidem, ať si s tím každý dělá co chce? Tak přesně pro vás je následující text!

Nálepky:

qrcode

K článku není ukázka

K článku není k dispozici zdrojový kód

Problematika softwarových licencí se ve světě open source komunity probírá velmi často. Na mateřském serveru Root.cz dokonce vyšel celý právní speciál. Jenže smutným faktem je, že takový speciál nebude číst běžný vývojář, protože se v něm za chvilku ztratí. Jemu se hodí se spíš taková praktická příručka, „rukověť“ – a právě takovou je i tento článek.

Články o SW licencích jsou už vlastně takovým evergreenem – vydáváme je stále dokola, a vždy jednou za čas se zase v diskusi objeví: Měli byste o tom napsat nějaký článek. Zkušenějším tento článek nic nedá, ale pro někoho může přinést odpovědi na základní otázky, jako třeba:

Proč vůbec licence?

První otázka, kterou si programátor (grafik, kodér, copywriter, prostě kdokoli, kdo produkuje autorská díla) položí, je: Proč bych se vůbec měl starat?

Zákon o právu autorském (zákon 121/2000 Sb.) určuje nakládání s autorskými díly v ČR. Pro naše účely je potřeba vědět, že autorská práva jsou dvojí: osobnostní a majetková. Osobnostní práva jsou nepřenosná a zajišťují autorovi např. právo na to, že mu nebude autorství upřeno. Majetková autorská práva většinou patří rovněž autorovi, s výjimkou případů, kdy takové dílo vzniklo na zakázku či v rámci pracovní smlouvy; pak majetková práva vykonává ten, kdo si dílo objednal. Vykonavatel majetkového práva k dílu rozhoduje o jeho šíření, rozmnožování, užití, …

Pokud jste programátor a pracujete jako zaměstnanec na nějakém programu, má obvykle právo rozhodnout o užití díla a o dalších věcech váš zaměstnavatel.

Zároveň zákon zakazuje jiným osobám do tohoto práva zasahovat, tedy dílo neoprávněně užívat, šířit, rozmnožovat atd.

Jak z výše uvedeného vyplývá: Pokud vytvoříte autorské dílo (třeba program), můžete s ním nakládat, jak je vám libo, protože jste autor. Zákon ale toto právo nedává nikomu jinému (až na výjimky, které nejsou podstatné – např. právo citovat dílo v odůvodněném rozsahu…) – lépe řečeno pokud kdokoli jiný vaše dílo bude užívat, šířit, rozmnožovat, upravovat…, tak porušuje zákon.

Co s tím?

Zákon dává autorovi právo udělovat smlouvou oprávnění k použití díla jiným osobám. Takže vy, jako autor, můžete říct, že konkrétní lidé, firmy atd. mají např. právo dílo šířit.

Ve světě software právě k tomuto účelu slouží softwarové licence.

Licence tedy není nějaký zákaz nebo nařízení, je to smlouva, kterou povolujete ostatním použít vaše dílo tak, jak si vy přejete.

Nahraju zdrojáky na svůj web – musí tam licence být?

Nemusí. Když tam nebude, platí pro ně ustanovení autorského zákona, tedy kdokoli je použije, pozmění apod., poruší zákon. Pokud ale chcete, aby je lidé mohli použít, musíte k nim přidat právě tu licenci, v níž udělíte souhlas.

A co když tam nedám značku (C) – copyright?

Český autorský zákon se vztahuje na veškerá autorská díla, ať jsou opatřena copyrightem nebo ne. Takže i když u díla není uveden, stále pro to dílo platí výše uvedené.

Autorský zákon je zlo, OSA je zlo, já na to kašlu, dám to tam a je mi to jedno!

Jasně, můžete. Ale opět platí výše napsané. To, že vy osobně považujete zákon za zlo, neznamená, že pro vaše dílo neplatí. Pro člověka, který bude chtít dílo užít, je to ale velká překážka – i kdyby nakrásně věděl, že vy sám autorský zákon neuznáváte a nebudete se s ním soudit, tak on zákon porušuje; navíc nikde nemá jistotu, že ho nezažalujete za deset let, až on na vašem programu vydělá majlant. Váš kód je tak nepoužitelný pro jakýkoli solidní záměr.

Licence v kostce

Budeme zjednodušovat – pokud chcete opravdu podrobné informace k licencím, doporučuji vyhledat si jejich originální znění a jejich výklad. Dále uvedené informace berte jako rychlé vodítko pro rozhodování.

Proprietární licence

Napíšete „Tento program jsem udělal já, X.Y., a pan Jan Novák, r.č. toato, jej může používat obvyklým způsobem na svém počítači, a to každé první úterý v měsíci mezi 12:30 a 14:00.“ A je to. Právě jste udělili licenci k používání svého programu. Sice trošku podivnou, ale právně závaznou. 

Vlastní licenční smlouva, v níž přesně specifikujete kdo, kdy a jak smí vaše dílo užít, je nejčastější eventualitou. Zjednodušeně lze říci, že co do ní napíšete, tak to taky bude (pokud to nebude v rozporu se zákonem). Pokud chcete dát své dílo „lidem“, tak je problém, že takovou licenci, pokud bude dlouhá, nikdo číst nebude. V open source se proto používají dohodnuté licence, které pokrývají všechny možné způsoby toho, co po uživatelích chcete a co jim hodláte povolit.

No whining / wtfpl

Autor tohoto textu na svá dílka občas používá svou vlastní licenci DPL, která patří mezi takzvané „no whining licence“ – tedy licence, které dávají právo dílo užít, šířit, měnit, a to pod jedinou podmínkou: že si nikdo nebude autorovi stěžovat. Použijte tuto licenci tehdy, když je vám opravdu úplně jedno, co s vaším dílem kdo udělá, hlavně když vás nebude otravovat.

O něco benevolentnější je licence WTFPL, česky přeložitelná jako „dělejte si s tím, kurva, co chcete„, která sestává z jediného bodu, jehož obsahem je právě toto.

BSD-like

Originální BSD licence, později upravená do podoby modifikované BSD (vypuštěn dodatek o reklamě) je velmi liberální licence, která říká: Dílo je k dispozici tak jak je, udělal jej ten a ten a zříká se jakékoli přímé nebo nepřímé zodpovědnosti za cokoli, co se stane. S dílem můžete dělat cokoli, pokud zachováte informaci o autorovi a informaci o zřeknutí se odpovědnosti. Od BSD je odvozena řada licencí; některé (MIT-X11) jsou téměř totožné…

MPL

MPL (Mozilla Public License) je restriktivnější než BSD. (Kompletní text, neoficiální český překlad).
Hlavní rozdíl proti BSD je ten, že pokud do svého SW zahrnete software s
licencí MPL, musíte tuto část (i s případnými změnami) dál šířit jako
MPL. Totéž pokud bude MPL kód vložen do nějakého zdrojového souboru – v
takovém případě jste povinni zveřejnit celý zdrojový soubor. Na rozdíl
od GPL však MPL umožňuje, aby na ostatní části SW byla použita jiná
licence. MPL tedy zajišťuje stálou otevřenost kódu a jeho změn, aniž by
si nárokovala otevřenost celého odvozeného díla. Navíc máte právo šířit
binární kód pod naprosto libovolnou licencí.

CDDL

CDDL (Common Development and Distribution License) vychází z MPL a poněkud ji upravuje – viz FAQ.
Jedná se opět o souborově orientovanou licenci, která požaduje
zachování otevřeného kódu na konkrétní soubory a stanovuje povinnost
uveřejňovat změny, přesto dovoluje kombinovat takovéto soubory v
projektech s vlastním kódem, který nijak neomezuje.

LGPL

LGPL je upravená GPL, vhodná především pro knihovny. Umožňuje
knihovnu slinkovat s jakýmkoli programem, aniž by kladla na tento
program některá omezení, co klade GPL, zejména nevyžaduje jeho otevření
ani nevyžaduje GPL kompatibilní licenci.

GPL

GPL je pravděpodobně nejznámější licence v open source komunitě. Svobodné použití je v ní omezeno požadavkem na šíření upraveného díla pod stejnou či kompatibilní licencí (kompatibilními licencemi jsou myšleny ty, které rovněž vynucují povinnost vydat odvozené dílo jako open source).

Creative Commons

Pro některé účely, především pak pro autorská díla v podobě textů, obrázků apod., je vhodné použít licence Creative Commons, které umožňuje šíření a užívání díla komukoli. Můžete si vybrat z různých kombinací, podle toho, jestli chcete pouze zachovat jméno autora (BY), nebo zda chcete např. zakázat komerční využití (NC), zakázat zasahování do díla (ND) nebo vynutit další šíření pod volnou licencí (SA). Např. kombinace CC-BY-SA označuje dílo, které můžete použít, změnit a šířit, pokud zachováte informaci o autorovi a pokud výsledné dílo dáte k dispozici pod podobnou licencí.

Kterou?

Grafici, textaři, kodéři a další si určitě vyberou z nabídky CC licencí.

U software záleží na vašich osobních preferencích. Zvažte, jestli bude váš kód vynuceně svobodný, nebo svobodný bez přívlastků (a k plné svobodě patří i svoboda kód učinit nesvobodným). Pokud je pro vás důležité, aby vaše práce zůstala navždy otevřená a aby ostatní byli nuceni své úpravy dát k dispozici rovněž otevřené, použijte GPL. Pokud je vám jedno, že váš kód třeba někdo změní a použije v uzavřeném software, použijte BSD.

Při kombinování např. GPL a BSD kódu je nutné dát pozor na to, že GPL licence si vynucuje, aby i výsledek byl pod licencí GPL (nebo kompatibilní). Mnozí autoři, kteří nechtějí pro svoje výsledné dílo použít GPL (připadá jim nesvobodná, chtějí použít BSD licenci nebo naopak proprietární) tak sáhnou raději po komponentách s licencí BSD.

Kompromisem jsou licence jako MPL, CDDL či LGPL, které zaručí, že váš kód bude stále otevřený, resp. i jeho úpravy budou dány zpětně komunitě, ale nijak neomezí ty, kteří jej budou chtít využít ve vlastních programech.

Závěr

Licence nejsou ani opruz, ani šikanování autorů, ani „onanie špatných programátorů, co se domnívají, že licence plná právnických výrazů dělá z jejich kódu něco důležitého„. Licence dává vašim uživatelům právo nakládat s dílem (používat, šířit, …), které by bez ní neměli.

Licence, a to ani ty nejopensourcovatější, tedy neruší autorská práva ani platnost autorského zákona; z autorského zákona vycházejí, v jeho rámci fungují, a právě díky autorskému zákonu mají smysl a význam.

Bez licence je váš kód nepoužitelný, protože jeho použití zákon zakazuje. Proto nezapomeňte k dílům, která dáváte „k dispozici lidem“, přiložit licenci, která takové použití legitimizuje.

Pokud máte stále dojem, že zde spousta informací nezazněla, že bylo něco zkráceno a zjednodušeno, tak máte pravdu. Kdyby to tu zaznělo, nikdo by to nečetl.

Komentáře

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

Diky za clanek, mam jeste par dotazu.
Co vlastne znamena ten radek

Copyright (C) Karel Vomacka 2005-2010

a co znamena ten letopocet? Jakou ma syntaxi?
Je nutne uvadet info o licenci v kazdem souboru? Jake minimum se musi uvest a co se tam vsechno pise? diky

Sten

Letopočet sloužil pro určení, kdy bylo dílo vydáno (případně v jakých letech bylo vydáváno), aby bylo jasno, kdy vyprší ochrana autorským právem. Úplně původně aby se dalo dohledat, jestli onen subjekt měl právo vydat kopii. Dnes již tato informace není povinná, ale pro ony účely se stále může hodit.

Běžná syntax je Copyright © 2005-2010 Karel Vomacka, GNU doporučuje používat Copyright © 2005, 2006, 2007, 2008, 2009, 2010 Karel Vomacka.

Ne, v souboru nemusí být uvedeno nic, stačí, když je v licenci uvedeno, na co se vztahuje. Z důvodu, že třeba v GPL toto uvedeno není (a GPL není dovoleno upravovat), tak se uvádí copyright a licence do souborů.

Nemusí se uvést nic, autorské právo se dnes vztahuje na všechna díla. Je lepší to ale uvádět, lépe se potom hledá, kdo a kdy vlastně licenci udělil.

kutilm

Ahoj, děkuji za článek a vím že v závěru bylo zmíněno, že výčet není a nemůže být komplexní, ale i tak bych se rád zeptal na MS-PL licenci (http://www.opensource.org/licenses/ms-pl). Setkávám se s ní poslední dobou trochu častěji a nevím kam ji zařadit. I když jsem se ji snažil přečíst, tak právník nejsem a tak nepoznám jaké záludnosti může skrývat. Dala by se připodobnit k některým licencím uvedeným v článku, případně čím se liší od nějaké jí podobné? Děkuji.

kutilm

Děkuji.

živnostník

Co přesně je komerční využití? Jaká je definice komerčního využití? Osobně v některých případech nevím, zda program využívám komerčně nebo soukromě.

živnostník

Abych byl konkrétní, uvedu svůj problém. Na osobních stránkách píši popularizační články o určité odborné problematice. Zároveň informuji, že v tomto oboru podnikám, takže mi to přináší reklamu. Stránky sami jsou „nekomerční“ (není zde reklama, obsah je bezplatný atd.). Smím na těchto stránkách použít materiály licencované jako CC-NC? Autor materiálů je anonymní, takže se s ním nelze dohodnout.

petr.steinbauer

Zajímavý dotaz, skutečně – jak to tedy je? Kde končí komerce?
1/ napíši si sam sobe shop, použiju externí SW – a vydelávám díky tomu. Pouzil jsem SW komerčně?
2/ napisi sve s.r.o. firme shop, použiju externí SW – a vydelávám díky tomu. Pouzil jsem SW komerčně?
3/ napisi sve a společníhovo s.r.o. firme shop, použiju externí SW – a vydelávám díky tomu. Pouzil jsem SW komerčně?
4/ napisi příbuznému zadarmo shop, použiju externí SW – a on vydělává díky tomu. Pouzil jsem SW komerčně?
5/ napisi klientovi za penize shop, použiju externí SW – a on vydělává díky tomu. Pouzil jsem SW komerčně? (tady asi jednoznacne ano)
6/ napisi klientovi shop a mám podíl z dokoncenych zakazek, použiju dibi – a on a já vyděláváme díky tomu. Pouzil jsem SW komerčně? (tady asi jednoznacne ano)

pokuste se to odhadnout, hádám ze každý budeme mít jiný názor…
(osobně jen hádám že komerce je jen bod 5, ale kolega tvrdí ze komerce je: 2,3,4,5,6) těžko říc…

petrkrcmar

Tady je otázka, co znamená „použiji externí SW“. Pokud to znamená, že součástí toho výsledku je část toho „externího SW“, pak ve spojení se slovem „vydělávám“ to je jednoznačně problém ve všech případech. Ten software je určen pro nekomerční účely, takže ten, kdo s jeho pomocí (i když je součástí většího celku) vydělává, porušuje licenci/zákon.

Jiné to samozřejmě je, pokud „použiji externí SW“ znamená „vyvinu to v něm“. Tam se nevyužije kód toho programu, takže to není odvozené dílo a výsledek je možné použít libovolně.

petr.steinbauer

Uznávám, nešťastná formulace.
V těch příkladech jsem to myslel tak, že se jedná o nějaký JS nebo PHP kus kodu vydávaný pod těmito licencemi.
Jde mě jen o tu hranici – odsud je to komerční a dotud ne – abych naznačil, že to nemůže být jednoznačně vnímané.

keff

Imho pokud použiješ PHP kód třetí strany v tom eshopu, a ten eshop někomu vydělává, je to komerční použití. Tzn. podle mě ve všech případech co popisuješ.

Karel

Pokud použijete něčí kód v programu, pak všechny případy kdy na konci jsou peníze jsou komerční využití (a je jedno, komu zisk plyne). Pokud byste použil ten SW jen k vygenerování něčeho (například je to překladač nebo kreslicí program), pak je důležitá otázka, zda vám z toho plyne zisk – tedy někdo vám za vaší práci zaplatil, nebo se jedná třeba o program, ze kterého vám plyne majetkový prospěch. Poměrně rozhsáhle se tohle řešilo před cca 20 lety, kdy bylo poměrně časté, že programátoři uvolňovali své programy pod licencí „volně k nekomerčnímu a akademickému použití“. Akademické znamenalo, že to může užitel používat přestože dostává zaplaceno, nebo že škola to smí použít k výuce, přestože žáci platí školné. S rozmachem GPL, BSD apod. to celkem utichlo, protože tyhle licence obvykle nerozlišují komerční a nekomerční využití.

Co se obrázků a textů pod licencí CC-NC týká, situace je triviálně jednoduchá. Nesmí se to objevit nikde, kde se vydělávají peníze. Vy samozřejmě můžete použít CC-NC ikonky, pokud děláte zadarmo web shop pro svého známého (není to pro vás komerční použití), ale on pak takový web shop nesmí provozovat (protože pro něj to již komerční použití je a CC-NC licence platí i pro něj).

Sten

Z hlediska Creative Commons je odpověď jednoznačná: všechny případy jsou komerční využití („You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation“); v některých případech sice není komerční využití vámi, ale cílovými zákazníky, tj. oni nesmí ten SW používat. Btw. i publikace NC díla tady na Rootu je dle CC komerční využití.

soft

Tak to je právě ono, pokud by žádný otevřený software nebyl a všichni by se drželi společností v dávném věku zavedeném pravidlu že „zadarmo ani kuře nehrabe“, pak by existovala jenom jediná licence a to zákon nabídky a poptávky, vztažený k ceně programu. Pokud by každý tvůrce open source netrpěl potřebou se zviditelnit hned a okamžitě, bez ohledu na kvalitu produktu, pak by nevznikaly polododělky, které se prezentují, ale k použitelnosti mají daleko. Pokud by si každý alespoň elementárně vážil sám sebe, pak by musel za svoji práci požadovat peníz, byť třeba zdánlivě nízký. Tento nízký peníz v násobném množství prodeje v čase už tak nízký není a stabilizuje ekonomiku. Důsledkem open source, teď už nejen na software ale i další průmyslové produkty, se vytrácí pojem ceny díla, pak je možné používat CAD produkty nebo slovníky Gogle, aniž by se za použití zaplatila třeba jedna koruna a tvorba se platí jinak přes jiné služby.

melkor

Uz dlouho si pohravam s myslenkou vpasovat do licence, nejlepe do nejakeho dlouheho odstavce, neco ve smyslu:

„Uzivatel se zavazuje poskytnout autorovi svoji osobu ci osoby svych blizkych k libovolnemu pouziti a to i opakovane pod smluvni pokutou ve vysi peti tisic britskych liber.“

Vzhledem k tomu, ze licence skoro nikdo necte, …

petrkrcmar

Nápad veselý, ale neprůchozí – licence nemůže být nad zákon. Takže ani licence typu „uživatel je díky této licenci oprávněn krást v libovolném obchodě“ nedává nikomu doopravdy tohle právo. Naopak je možné tu licenci soudně napadnout a zrušit.

Zopper

Nicméně licence by mohla zavazovat k umožnění „odběru libovolného zboží zdarma“, ne?

Sten

Pokud budete mít u licence prodané podle obchodního zákoníku tuto podmínku, pak to je závazné.

U licencí prodaných podle občanského zákoníku (tj. spotřebiteli bez IČ) to legální není, protože není uvedena přesný a končený výčet zboží a ceny.

ghost

Zdravim,
muze mi nekdo rict jak je to s tim SA? Pokud si napriklad rozbehnu „mirror“
nejake aplikace/sluz­by/cehokoliv uvolnene pod touto licenci na svem stroji.

Na samotne aplikaci nebudu vubec nic menit a necham ji treba pristupnou pro vsechny. Ale co kdyz si napisu vlastni, uplne jinou aplikaci, ktera bude z te pod licenci CC-BY-SA akorat ziskavat data (pres jeji vlastni hotove API)? Ta nova aplikace nebude uvolnena pod „zadnou“ licenci, resp. bude se treba nabizet komercne jako sluzba?

Nejak se v tom nevyznam a rad bych, aby to bylo vsechno spravne a legalne.

Diky za odpoved

Karel

Tak zrovna s tímhle názorem by FSF hrubě nesouhlasila :-) API je jednoznačně součástí díla a pokud ho chcete použít, pak i váš program je odvozeným dílem a musíte ho uvolnit pod původní licencí. LGPL je tu právě proto, abyste mohl linkovat knihovny a programy bez nutnosti licencovat svůj program pod GPL. Pokud se chcete „legálně“ připojit do GPL programu bez nutnosti sami licencovat pod GPL, pak místo API musíte použít user interface. Například komunikovat přes TCP nějakým protokolem specifikovaným mimo původní SW. Protože pak můžete s úspěchem tvrdit, že používáte nějaký protokol a váš program a ten program ke kterému se připojujete jsou jen dvě nezávislé implementace toho protokolu. To už nepamatujete ty tahanice kolem použití hlavičkových souborů z linuxového jádra? Já vím, je to temná doba FSF a raději děláme, že se to nestalo, jako že LGPL je tu odjakživa. :-)

v6ak

Takže teoreticky by přístup přes svobodněji licencované rozhraní neměl vadit? Řekněme, že by driver pro přístup k DB byl GPL, ale implementoval by LGPL/BSD/… rozhraní a já použij jen toto rozhraní. Ale použití konstruktoru by již mohlo být problematické.

backup

tohle je jeden z nejspornejsich problemu GPL.
Situace je dnes takova, ze FSF a pravnici v tom zbehli povazuji i komunikaci pres TCP za zpusob, kdy vznika odvozene dilo i presto, ze neobsahuje vubec zadny znak GPL kodu. Rozhodujici je, jak dalece je no-GPL software zavisle na GPL a zda muze bez toho GPL software smysluplne fungovat.
Dokonce je to i tak, ze kdyz distribujete vlastni ne-GPL software spolecne na nosici s nejakym GPL softwarema s tim, ze si to koncovy uzivatel sam spoji, tak i to muze vest k tomu, ze se na ne-GPL software bude pohlizet jako na odvozene dilo.

Franta

Viz komentář níže. Četl bych více primární zdroje a menší váhu dával prskání lidí, kteří jsou naštvaní na FSF, protože kvůli GPL licenci nemohli použít cizí kód ve vlastním nesvobodném softwaru, což jim „přidělalo práci“ (vysvětlovat takovým lidem, že ten software pod GPL licencí by taky nemusel vůbec existovat a že nemají nějaký implicitní nárok na jeho použití, je marné – vyžírky si budou vždycky připadat ukřivděně, budou nabádat ostatní k vydávání softwaru pod licencemi typu BSD a sami budou vlastní software šířit jako uzavřený – zčásti proto, aby nebylo vydět, jaký humusácký kód stvořili, a zčásti proto, aby se na nich přece nikdo nepřiživoval).

v6ak

A co situace „Kdyby ten SW nebyl pod volnější licencí typu LGPL, neměli bychom příspěvky do kódu od těchto uživatelů: …“.

Je pravda, že za určitých podmínek si může takový komerční uživatel nechat svoje úpravy pro sebe (typicky u síťové služby), ale při každém updatu to mergeovat taky nemusí být nejlepší.

BTW: Napadá mě, že jsem se nesetkal s licencí jako ALGPL: licence neinfikující přímo dílo, ale zároveň požadující dát zdrojáky i uživatelům síťových služeb (tam by to kvůli „L“ bylo asi potřeba trochu přeformulovat).

František Kučera

Ad „ALGPL“: tohle je trochu problematické, protože Affero GPL je formulovaná s touto podmínkou:

…použijeme pro svůj software místo GPL raději licenci Affero GPL, která je přísnější v tom smyslu, že pokud původní aplikace umožňuje koncovým uživatelům stažení zdrojových kódů, musí i upravené nebo redistribuované verze aplikace tuto možnost zachovat. (viz Affero GPL – přitvrdíme)

A to je u knihoven trochu problém. Knihovna přímo nekomunikuje s uživatelem, tudíž mu přímo nemůže poskytnout svoje zdrojáky (zatímco serverová aplikace ano – a nemusí to být webovvá aplikace, dovedu si představit, že svoje zdrojáky na vyžádání odešle třeba i poštovní, herní nebo souborový server).

Diskuse je to zajímavá – balancování, zda dovolit začlenění do nesvobodného produktu nebo ne a co přinese více (zda mít možná méně uživatelů, kteří dělají svobodný software a pošlou mi změny, nebo mít potenciálně víc uživatelů, kteří dělají nesvobodný software – v kterém případě přijde víc příspěvků?). Dobré téma, už delší dobu to nosím v hlavně, tak snad se teď dokopu k napsání nějakého licenčního doporučení pro autory :-)

v6ak

Aha, takže AGPL aplikace bez možnosti stažení zdrojáků má vlastně stejné požadavky, jako kdyby byla pod GPL, pokud tomu dobře rozumím.

Každopádně mi jde o knihovnu, která by vynutila možnost stažení jejich upravených zdrojáků všem nepřímým uživatelům, ale zároveň by neinfikovala okolní kód (nebo jen lehce, třeba by vynutila, aby licence okolního kódu obsahovala určité požadavky, ale nesnažila by se ten okolní kód otevírat).

K balancování: dost možná na to není univerzální odpověď. Neumožnit začlenění do nesvobodného SW IMHO znamená spíše méně uživatelů než více příspěvků (=> menší popularita). („Radši si to napíšu sám, než abych kvůli tomu musel ten svůj soft opensourceovat!“) Jinak i z nesvobodného SW IMHO mohou pocházet patche – je to dobré pro PR a začlenění do dalšího vývoje (jak jsem psal).

Dává mi smysl tedy hlavně umožnění zahrnutí do nesvobodného SW a dvojí licencování.

František Kučera

„Neinfekční“ je i GNU LGPL* – ale stejně to neřeší otázku, na kterou se ptal v6ak – ta je prakticky neřešitelná. Vytvořit nějaký hybrid mezi AGPL a LGPL dost dobře nejde.

*) FSF nabízí kompletní škálu licencí od Affero GPL přes klasickou GPL až po LGPL, pomocí nichž jde pokrýt všechno (tedy v oblasti svobodného softwaru).

v6ak

Stačilo by IMHO vyžadovat dát všem, kdo ten kód nějak přímo nebo „nepřímo“ (např. knihovna použitá na serveru, který používám) používají, zdrojový kód.

František Kučera

Tak to zkus formulovat do nějaké licence* :-) Ono to vůbec není jednoduché, hlavně to „nepřímé“ používání. BTW: máš nějaký software, který bys takhle potřeboval vydat?

*) která bude použitelná u případného soudu (to je úskalí některých, na první pohled sympatických, stručných licencí). Resp. ono se dá soudit podle čehokoli, ale ten výsledek pak může být dost nepředvídatelný.

v6ak

Jasně, nejsem právník. Možná bych to založil na tom, že by se propagoval nějaký malý odstavec do odvozených děl, která neupravují původní kód (podobně jako BSD apod. propagují do odvozených děl poznámku o zbavení odpovědnosti). Tím by to ale nešlo použít z GPL kódu.

Slibovaný text je na světě :-)

Softwarové licence – kterou si vybrat?

v6ak

Tak důvodů ke zveřejnění zdrojového kódu může být spousta. Třeba „Udělal jsem to a třeba by se to mohlo hodit i ostatním.“, což ostatně dokládají i licence jako DPL a WTFPL. V takovém případě dává smysl zveřejnit kód pod co nejvolnější licencí. Neříkám, že LGPL je zde nevhodná, ale i BSD-like licence mohou poskytovat dostatek omezení.

Pokud chci dostávat změny zpět, myslím, že LGPL je v tomto ohledu good enough.

(A)GPL se pak hodí v několika případech:
1) Chci udělat duální licencování. (Komu se GPL nelíbí, ten ať si zaplatí.)
2) Používám nějakou GPL knihovnu.
3) Dělám koncovou aplikaci, ne knihovnu. (Pak se mnohdy GPL v důsledcích až tak neliší o LGPL.)
4) Chci nutit konkrétní licenci dál.

Pokud budu dělat aplikaci, do které nechci (A)GPL kód (typicky to nechci u knihoven a v někerých dalších případech – více či méně specifických), pak bych situaci rozdělil na tyto možnosti:
a) Autor umožní duální licencování. Pak je to ještě otázka situace. Pokud dělám komerční dílo, mohu zvážit koupi. Pokud dělám knihovnu, mohu zvážit použití duálního licencování. (Ne vždy se mi to musí líbit, ale chrání to zájmy autora té původní knihovny a je to celkem pochopitelné.) Pokud chci k aplikaci dát nějaké další omezení (např. omezení o způsobu používání), ale jinak jde o nekomerční aplikaci, pak je to pro mě asi nevhodné. Ale uznávám, že je to specifický případ.
b) Autor neumožní duální licencování. Ať dělám komerční aplikaci, non-GPL knihovnu, nebo třeba i aplikaci s nějakým speciálním omezením, může být jeho knihovna pro mě nepoužitelná a třeba si i radši napíšu vlastní (ale mnohdy mi může vyhovovat i jiná knihovna), než abych nutil GPL (v případě knihovny), otevíral kaskádovitě množství svého kódu (v případě komerční aplikace) nebo se vzdal svého omezení (v případě těch specifických případů). Tady autorovi GPL asi nepomohla, já bych byl třeba ochoten mu do kódu nějak přispět, ale on se z mi nepochopitelného důvodu brání. (Má na to plné právo – ale co mu to přinese?)

Přirovnání k práci zadarmo u svého konkurenta: Není to přesné. Já dám něco zadarmo k dispozici všem. Pokud to srovnám s duálním licencováním, pak je to opravdu jako práce zadarmo, i když možná ne u konkurenta. Pokud to ale srovnám se striktním (A)GPL licencováním, pak peníze bych z toho neměl tak jako tak a práci mi to nepřidává, pouze se ochudím o popularitu a potenciálního přispěvatele. Pokud teda není mým cílem šířit ideologii o všem otevřeném, což ale IMHO není až tak účinné.

Petr

Pokud tedy osoba pracujici jako programator napise (podle jeho zameru) otevreny kod, potom tento kod je vlastnictvim zamestnavatele ? (tudiz jako GPL, BSD, CDDL, atd. ho musi oznacit zamestnavatel ?)

Pokud ano, nevite o nejakem vzoru umluvy se zamestnavatelem, ze si na software stvoreny mimo pracovni dobu necini jakokoliv narok ?

Dik za info…

Karel

Pokud si v pracovní době udělám utilitku k zjednodušení práce, je automaticky vlastnictvím zaměstnavatele. Pokud si něco udělám mimo pracovní dobu, pak je to automaticky moje. Problém nastane, pokud mimo pracovní dobu použiji majetek zaměstnavatele, například takové MS Visual Studio. Pokud zaměstnavatel prokáže, že vám nedal svolení k využití jeho prostředků pro soukromé účely (nebo mu to licence použitého SW vůbec nedovoluje), pak se sice nestane vlastníkem vámi vytvořené věci, ale může snadno dosáhnout toho, aby vás soud donutil vámi vytvořené dílo zničit. Takže úžasnou utilitku vytvořenou v práci si ani nesmíte zkopírovat pro domácí použití. Takže třebas uvedená utilitka pro správu zdrojových kódů bude vaše jen pokud jste si ji udělal sám doma a bez použití prostředků zaměstnavatele (jako je například server s úložištěm zdrojových kódů) nebo s jeho souhlasem k soukromému použití. Ale pak musíte naopak řešit licenci. Tedy musíte použití utilitky oznámit zaměstnavateli a sjednat s ním licenční smlouvu o tom, za jakých podmínek smí zaměstnavatel (jeho zaměstnanci, tedy například vy sám) vaši utilitku použít. Obvyklé je buď práci a soukromí nemíchat, nebo věci udělané v soukromí uvolnit pod GPL nebo BSD licencí a pak je pod touto licencní použít v práci. Ale i tak je nutné zaměstnavatele o užití informovat a k utilitce/SW přistupovat jako k jakémukoliv jinému programu třetí strany. Včetně toho, že ji budete muset dát i dalším kolegům a ponechat k použití i vašim následovníkům. O co jednodušší je dělat SW na zakázku :-) Zlatej živnostňák :-)

kaafa

Je úplně jedno, zda program děláte doma, nebo v práci. Podstatné je, zda jde o úkol, zadaný zaměstnavatelem, či nikoliv. Inovovaný autorský zákon dokonce říká, že pokud vytváříte program na zakázku a jste fyzickou osobou, pak jste vůči zadavateli v obdobném poměru, jako zaměstnanec! (Na rozdíl od právnické osoby). Zadavatel může nejen takto vytvořený program volně užívat, měnit i prodávat, ale dokonce nemusí udat ani vaše jméno. (Ačkoliv zákon tvrdí, že autorská práva jsou nepřenosná a neprodejná, v tomto případě vám z nich nezbyde vůbec nic! A přitom program děláte doma na vlastním počítači).

Je běžné, že programátor-zaměstnanec pracuje i doma, kde má větší klid. Ale i tato práce je majetkem zaměstnavatele – pokud mu byla zadána. Pokud si ovšem vymyslí utilitu, která mu práci usnadní (což je celkem běžné), pak majetkem zaměstnavatele není, ať už jí dělal kdekoliv. Nebyla mu zadána a tudíž ani zaplacena.

Je to celkem logické. Je velmi těžké prokázat, kde jste tu či onu část programu napsal. Ale prokázat, zda byl program zadán zaměstnavatelem či nikoliv je docela snadné – už proto, že specifikace se předávají zásadně v písemné formě.

Jarda

S tou prací, která nebyla zadána zaměstnavatelem to bude komplikovanější.

Jednak jsem se snad vždy setkal s pracovní smlouvou, která takovéto případy explicitně řešila systémem „cokoli vznikne při plnění pracovních povinností, patří zaměstnavateli“ do čehoš spadnou veškeré pomůcky, které si zaměstnanec vytvoří k práci, aniž by je musel zaměstnavatel explicitně specifikovat. (Další duševní vlastnictví nevyjímaje – patenty, vzory atd.)

A za další bych nedal ruku do ohně za to, že soud by práva k takovému dílu nepřiznal zaměstnavateli. Přinejmenším se to bude posuzovat individuálně v zhledem k rozsahu díla, návaznosti na další pracovní procesy apod. Rozhodně bych na to nesázel, že bude autor díla „v suchu“.

A v neposlední řadě není podmínkou, že specifikace úkolu musí mít písemnou formu.

František Kučera

Ad „do čehož spadnou veškeré pomůcky, které si zaměstnanec vytvoří k práci, aniž by je musel zaměstnavatel explicitně specifikovat“

Tohle je trochu problematické. Představ si, že po večerech pracuješ na nějakém svobodném softwaru, začal jsi s ním třeba ještě před nástupem do zaměstnání. A protože je to dobrý software z tvého oboru, používáš ho i u daného zaměstnavatele – stejně jako používáš X jiných programů, které napsal někdo jiný.

Z logiky věci vyplývá, že na takový software nemá zaměstnavatel žádná nárok – ten software je jen tvůj, že ho používáš (nebo umožníš používat) u daného zaměstnavatele je jen tvoje dobrá vůle, drobné plus, placený za to nejsi. Nicméně konečné rozhodnutí je na soudu a hlavně na souboji právníků. I když ono to zase tak horké nebude – většinou půjde o nějaké drobné utilitky, udělátka, které nikoho moc nezajímají – pokud by se jednalo o něco většího, obě strany si vyjasní podmínky předem – ve vlastním zájmu (nikdo přece nechce házet peníze do chřtánu právníkům při zbytečných soudních sporech, lepší je se předem dohodnout a nenechat to k soudu vůbec zajít). Dost významné pak bude, kde byl daný software hostovaný (server autora nebo nějaký veřejný hosting vs. server zaměstnavatele) a jaké v něm byly uvedeny copyrighty – jestli tam bylo jméno zaměstnavatele nebo naopak jen jméno autora případně jeho firmy. Pro zaměstnavatele bude nebude přijatelné, abys do softwaru, který vytváříš pro něj, za jeho peníze a který má být jeho majetkem, uváděl jen sebe (svoji firmu) a ne jeho. Většinou bude určené nějakým vnitřním předpisem, že např. všechny zdrojáky musí obsahovat určitou hlavičku, ve které je i uvedeno, čí je to majetek, a zároveň je tu někdo, kdo na to dohlíží. Takže pak je celkem jasné, co patří zaměstnavateli a co ne.

Jarda

Malé doplnění. Pokud SW sice vznikl „mimo rámec“ pracovní smlouvy, ale na zakázku a dodavatelem je fyzická osoba, pak se jedná o podobný stav, jako by ho dodal zaměstnanec. Pouze v případě, že dodavatelem je právnická osoba, tak vykonavatelem práv je dodavatel.

Jarda

Tak kaafa mě předběhl :-)

xxxObiWan

Co když jsem zaměstnanec ve firmě, a vyvíjím pro ní software v nějakém open frameworku pod licencí GPL? Výsledný software musí být tím pádem taky pod GPL licencí, mám potom já (jako člověk, který má přístup k těmto otevřeným zdrojovým kódům) právo tento software (jehož vývoj si zaplatila firma) upravovat a prodávat i mimo tuto firmu?

licence.txt

Setkal už se někdo s tím jak se v praxi řeší spor ohledně licencí, myslím teď u jednotlivých autorů ne nadnárodních korporací. Třeba dosti častá situace kdy je dílo ve verzi 0.98 nabízeno pod licencí A1 přibalená je ale linece A2 a za měsíc je verze 0.99 licencovaná pod B. Jak tohle dokázat třeba několik let dozadu když autor bude tvrdit, že tohle on nikdy pod takovou licencí nevydal, případně co když mají pravdu oba a někdo to neoprávněně přelicencoval?

Radek Hladik

Docela by mě zajímalo, jak je to s dvojím licencováním. Dejme tomu, že mám projekt, který chci zveřejnit tak, aby ho každý mohl používat a upravovat. K tomu mi stačí GPL a budu spokojený. Ale zároveň si nechci zavírat cestu k tomu, aby když přijde někdo a řekne, my chceme váš projekt zaintegerovat do našeho komerčního systému a klidně vám za to zaplatíme…. To by sice vyřešilo LGPL, ale já bych zase nerad, aby to mohl udělat kdokoliv jen tak pro nic za nic…

Jinými slovy rád bych měl na mojí práci dvojí metr. Když někdo rád opensource, tak fajn není problém. Když někdo chce komerci, tak fajn, dostatečné množství chechtáků a ke to :-)

ondra.novacisko.cz

Co jsem pochopil, tak já jako autor mohu se svým dílem dělat co chci. Snad z výjimkou poskytnutí exclusivních práv, ale i tam se to řeší jinak, třeba pokutou za porušení smlouvy. GPL nic takového nemá, musel bych totiž žalovat sám sebe

Michal Ježek

Ano.

Jen pozor: patche vytvořené GPL komunitou nemůžete distribuovat v té své komerční verzi, dokud nezískáte souhlas autorů těch patchů.

Radek Hladik

To je mi naprosto jasné. A samozřejmě to může být obráceně, pokud mi někdo zaplatí za implementaci něčeho a nebude chtít, aby to bylo v opensource verzi, tak to tam nedám.

Svým dotazem jsem měl právě spíš na mysli, jestli s tím nejsou nějake právní trable nebo něco, na co by si člověk měl dát pozor. Tohle o cizích patchích jsem věděl, ale jestli někdo nemá nějaké zkušenosti nebo postřehy, které neznám :-)

rer

nebo MySQL

František Kučera

Svobodný software znamená čtyři základní svobody – doporučuji přečíst, platí to pro všechny svobodné licence, tedy i pro LGPL. Nabyvatel takové licence má právo software dále šířit. Tzn. ty od něj sice můžeš vybrat peníze, ale on může takový program dát klidně volně ke stažení (pokud bude chtít samozřejmě – dělat to nemusí).

Proto, pokud je smyslem duálního licencování zisk, má smysl kombinace svobodné copyleftové licence (např. GPL) a nesvobodné placené licence (ta bude stát peníze, zakazovat další šíření, ale dovolovat začlenění do uzavřeného softwaru). Jinou formou duálního licencování je kombinace dvou (případně více) svobodných licencí – to použijeme v případě, kdy nám jde o větší licenční kompatibilitu – vydáme software např. pod GPLv2 i GPLv3 (uživatel si může vybrat). Pak je tu ještě třetí možnost, ale tu bych už nenazýval duálním licencováním: program složený z několika částí a každá část je vydaná pod jinou (ale kompatibilní) licencí – uživatel si pak vybrat nemůže a musí dodržovat všechny licence.

v6ak

Nezahlédl jsem v seznamu AGPL, tak to přidávám do diskuse:
Jde o licenci ještě o něco přísnější než GPL. Je to zhruba takto: pokud provozujete síťovou službu (např. web), s GPL nemusíte jejim uživatelům dávat zdrojáky, zatímco s AGPL ano. S GPL byste museli dávat zdrojáky jen provozovateli a pokud to provozujete vy sami, tak dávat zdrojáky s GPL byste museli jen sami sobě.

Jinak by mě zajímalo, jak je toto u DB. Použiju-li nějakou existující DB pod AGPL, ale ve svém projektu ji používám pouze přes síť (byť třeba na serveru 127.0.0.1), pak mi AGPL můj kód neinfikuje, pokud nejsou pod AGPL i knihovny pro přístup k DB. A to bych mohl obejít napsáním vlastních. Je to tak?

Sten

Ano, AGPL „neinfikuje“ onen produkt, pokud onen produkt používá AGPL kód přes síť, ale na druhou stranu pořád musíte na požádání vydat zdrojáky oné DB všem, kteří používají onen produkt.

kokš

Takže když je jádro linuxu v GPL tak všechen soft na linuxu musí být taktéž GPL protože ho linkuje?! Ja si snad dám další lajnu

nevim.nepistemi

pokud mám správné informace tak se ještě rozlišuje dynamické a statické linkování knihoven a tak dále respektive s v případě statického linkování knihovny apod je licence porušena ale v případě dynamického linkování tomu tak není respektive není prokazatelné že se linkuje na konkrétní knihovnu pod konkrétní licencí přesto že ani jiná možnost není trochu psicho ale nějak tak to funguje závisí na konkrétní licenci respektive verzi nejsem ji úplně jistej ale někde sem to pochytil

Pavel Píša

Stačí umět hleadat číst. Hranice GPL a interpretace GPL je jasně autory
projektu Linuxového jádra specifikovaná.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=COPYING

This copyright does *not* cover user programs that use kernel
services by normal system calls – this is merely considered normal use
of the kernel, and does *not* fall under the heading of „derived work“.

Linus jde v benevolenci jeho interpretace GPL pro jádro dále
a uvažuje využití driverů napsaných nezávisle na Linuxovém jádře
na díla neodvozená a náležející k výkonnému prostředí => připouští
binary only jaderné moduly.

http://kerneltrap.org/node/1735

Aby nebylo ovšem možné celý kernel ovrapovat a udělat z něj
sluhu nějakého uzavřeného jádra nebo rozšířeními a závislostmi
aplikací na nich změnit ABI a syscally tak, že by jádra
již nešlo bez licence k uzavřeným částem používat, jsou symboly
k těmto nejvnitřnějším částem exportované jako GPL only.

Stejně tak je možné hranici licence omezit na implementaci
pod úrovní API. Např. GPL RTEMS umožňuje výjimkou statické
linkování uzavřeného kódu k nezměněným knihovnám implemetujícím
API exekutivy. Ale při takovém omezení GPL není již ovšem možné
do projektu zahrnovat ani GPL ani LGPL kód licencovaný
bez této výjimky.

Nick

Dobrý den,

jaká je situace v případě vývoje aplikace na dohodu o provedení práce, ve které stojí jen že zaměstnanec provede návrh a implementaci systému na základe průbežných požadavků zaměstnavatele? O zdrojových kódech neni nikde zmínka.

Komu náleží zdrojové kódy? Má zaměstnavatel právo software dále distribuovat? Nechat ho využívat nově příchozí zaměstnance? Je takováto smlouva vůbec platná, existují někde případy smluv pro tvorbu software na zakázku?

Děkuji,
Nick

bauglir
anonym

Ahoj,

řeším trochu jiný problém než je uvedeno v článku. Jde mi o používání více open-source knihoven v rámci jednoho projektu. Chtěl bych použít tyto knihovny (některé z nich jsou uveřejněné i pod dalšími licencemi, pro tento příklad uvažujme jen ty, které uvádím)

Nette – New BSD License
Doctrine – LGPL
jQuery – MIT
CKEditor – MPL 1.1
KCFinder – LGPL 2.1
FileUploader – GNU GPL 2
knihovna XYZ – Apache 2 licence

Na internetu se občas objevuje termín „kompatibilita licencí“, co to znamená? Je to něco ve smyslu, že v 1 projektu nemohu použít knihovny, které jsou obě zveřejněné jako open-source, ale jejich licence nejsou kompatibilní?
Mohu použít všechny uvedené knihovny (frameworky, nástroje) v jednom nekomerčním projektu?
Mohu je použít všechny najednou v jednom komerčním projektu?

Dále mám několik příkladů, kdy si nejsem jist, jak je to právně v pořádku:

1) Programátor zveřejní na blogu nějaký svůj plugin do jQuery, napíše tam článek, uvede příklady, přidá link na GitHub. Pokud nikde není uvedena žádná licence, znamená to, že kód nikdo nesmí použít?

2) Co když u SW je uvedena např. LGPL licence, ale není specifikováno, která verze? Mohu použít libovolnou verzi?

3) Někdo uvede nějaký kód jako příklad (třeba nějaká funkce apod.) někde v článku, např. tady na zdrojáku. Mohu tento kód upravit a použít? Jsem povinen uvést někde jméno autora článku nebo takněco?

4) Používám knihovnu, která k běhu potřebuje jinou knihovnu (např. Doctrine 2 potřbeuje Symfony, jQuery potřebuje Sizzle). Musím se zabývat i licencemi těchto nepřímo použitých knihoven?

5) Co kdyby hypoteticky např. jQuery bylo vydané pouze jako LGPL a přitom Sizzle pouze jako GPL a já bych použil toto „jQuery“. LGPL narozdíl od GPL nevyžaduje uveřejnění pod open-source licencí. Kdo by porušil licenci? Já jako uživatel jQuery nebo autoři jQuery?

bauglir

Dobrý den,
k hlavní časti: google :) (http://en.wikipedia.org/wiki/List_of_FSF_approved_software_licenses)
GNU je vir, tzn. vzhledem k nekompatibilitě MPL nemůžete tento program vyvýjet.
Obecně díla pod všechny vámi uvedenými licencemi lze použít pro vývoj komerčních děl (i „slinkovat“ s jinými). U těchto licencí se neřesí komerční/nekomerční použití.

ad 1/ přesně tak, nemůže
ad 3/ Záleží, zda je, či není autorským dílem – „Za dílo se považuje též počítačový program, je-li původní v tom smyslu, že je autorovým vlastním duševním výtvorem.“ – dle zákona. Nejspíše by se posuzovala právě ona „původnost“. Teď mě neberte za slovo, ale podle mého cca 5 řádkovou funkci bude těžké považovat za původní. 20 řádkový kód už by takovou definici splňovat mohl (neřeším jen copy&paste, ale opsání nebo těžkou inspiraci).
ad 4/ no minimálně Sizzle není problém, má shodné licence jako jQuery. A řekl bych, že u tak krátkého zdrojového kódu (tzn. projekt je maličký a jsou k němu zdrojáky) by toto mohl být problém. U větších projektů či u binárek by se podle mého jednalo o „dobrou víru“ (podobně, jako když vám v obchodě prodají kradené zboží a vy netušíte, že kupujete kradené)
ad 5/ jQuery určite a vy vizte bod 4

v6ak

Ještě bych se chtěl zeptat, co je správným postupem, pokud bych chtěl vydat nějaký projekt jako open-source, ale ten by závisel na jiných celkem volných open-source licencích (Apache, BSD, X11/MIT, EPL).

Pokud bych zvolil nějakou přísnější licenci jako GPL (nechci), pak by zde byl problém v tom, že GPL zakazuje dodatky a uživatel by musel souhlasit i s ostatními licencemi nebo aspoň jejich kousky. (U BSD-like obvykle musím šířit nějaký disclaimer a není nutné to šířit pod stejnou licencí.) U mnoh volnějších licencí zakázané dodatky nejsou, takže by to problém být nemusel.

Nebo na to lze hledět tak, že moje část je pod jednou licencí a distribuce obsahuje moji část (pod jednou licencí) a mnohé další části (pod mnoha dalšími licencemi) a uživatel musí souhlasit se všemi těmito licencemi? S GPL (a LGPL – tam si jsem jistější) by toto už problém být nemusel, ne? (Snad by GPL neinfikovala i ten „kontejner“ (distribuci), nebo jo?)

anonym

Děkuji za odpovědi na můj dotaz výše, moc mi pomohly. :)

Teď ještě jedna věc. V licencích je to často, ale trklo mě to až nyní.

Cituji ze zprávičky:
„Pro čtenáře to znamená, že smějí kód použít zcela libovolně, pokud zachovají informace o autorovi a o zřeknutí se odpovědnosti,…“

Co přesně tohle u licencí znamená? Kde mám mát napsanou informaci o autorovi a zřeknutí se odpovědnosti? Mám vždy u té použité (a upravené) části kódu napsat nějaké anotace přímo ve zdrojáku? Anebo má každý uživatel vidět (v nějakém „O aplikaci“), že jsem použil různé části zdrojových kódů od –seznam autorů–? Co přesně znamená „informace o zřeknutí se odpovědnosti“ a kde tato informace má být uvedena?

A ještě jeden dotaz. Které SW licence umožňují abych si kód pod nimi zveřejněný nějakým způsobem upravil (např. připsal jeden řádek abych tak opravil bug)? Které licence navíc tyto úpravy umožňují, aniž bych je zveřejnil? Např. MPL myslím vyžaduje zveřejnění jakýchkoli úprav, toto „zveřejnění“ znamená zveřejnění těch dopsaných částí pod stejnou licencí jako původní kód?

v6ak

Tu úpravu umožňují všechny OSS licence. A zveřejnění: tam je to různé. I u GPL není potřeba zveřejňovat zdrojový kód, pokud si to autor provozuje sám (tam by to musel dát k dispozici akorát sám sobě…). A pokud by ta služba byla přístupná jen autorovi, pak dokonce i AGPL ho nedonutí zveřejnit úpravy.

Jinak uzavření v plném rozsahu (distribuuji dále, ale bez zdrojáků) umožňují jen licence jako BSD, MIT, asi Apache apod.

Místo uvedení informací o autorech je uvedeno v každé licenci a může se to mírně lišit.

Tori

Dobrý den,

zajímalo by mne, jak by to bylo v situaci, když na objednávku vytvořím web.aplikaci (majetková práva má tedy zadavatel), a pak po skončení smlouvy ji dál z vlastního zájmu měním (ve smyslu oprav a doplňování funkčností, nikoli přepsání od základů).

1. Kdo má majetková práva k té nové verzi?

2. Pokud chci novou verzi dát k dispozici např. pod LGPL licencí, musím získat výslovný souhlas původního zadavatele? A co by měl obsahovat?

bauglir

Dobrý den,
přesnou odpověď nemám, ale do budoucna doporučuji toto zmínit ve smlouvě, fakt, že na dílo na smlouvu se vztahuje paragraf o zaměstnaneckém díle je výchozí, smluvně toto lze takřka libovolně změnit (já svým zákazníkům prakticky nikdy nedávám majetková práva, dostávají smlouvu s běžnou „krabicovou licencí“)

xxxObiWan

Je někde na internetu vzor pro takovou smlouvu? Moc prosím, pokud někdo víte :-)

Pavel Dvořák

Chybí mi tam trochu popis MIT licence, jinak je to skvělá pomůcka pro rozhodování se.

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.