spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

Marcel Zúbrik 15.8.2011
Hodnoť článok:
1 0

Open source licencie

Každý by chcel všetko zadarmo. Toto heslo politického "sľub-marketingu" sa open source licencie snažia preniesť do reálneho sveta konkurencie, kde nič nie je zadarmo a ideálov, ktoré vedú autorov k tomu, aby tvorili niečo nové. Ponúkam svoj neprávnický pohľad vývojára do sveta open source licencií.

Hneď na úvod sa chcem očistiť od potenciálnych problémov a chcem upozorniť, že nemám právnické vzdelanie a preto tento článok nemôže byť považovaný, za právny názor odborníka. Nie som súdny expert, nie je preto možné sa o tento článok opierať pri sporoch, ani ho použiť pri súdnom spore. Tento návod je mojim osobným názorom, ktorý sa môže líšiť od názoru súdov, či právnikov. Je poskytovaný "tak ako je" a to znamená bez akýchkoľvek garancií a záruk. Potešilo by ma, ak by sa k článku vyjadril právnik znalý slovenskej implementácie autorského práva.

Čo sú licencie a na čo nezabúdať pri výbere

Napísal som nejaký kód a rozhodol som sa, že ho chcem spraviť verejne dostupným aj pre ostatných. Ľudí k tomu vedú najrôznejšie dôvody - od hľadania pomoci vylepšiť kód, cez vízie sveta slobodného software, snahy spropagovať svoje schopnosti v silnej konkurencii, až po márnotratnú túžbu byť trendy. Nech už ma k zdieľaniu kódu vedie čokoľvek, je treba tento akt ošetriť z právneho hľadiska. Licencie ošetrujú spôsob, akým (ne)povoľujete svoje dielo používať a zdieľať. Pokiaľ nemáte právnickú firmu, či obnos na jej zaplatenie, zrejme sa rozhodnete pre niektorú z bezplatne dostupných softvérových licencií. Pri výbere licencie pre váš kód sa snažte uvedomiť si pár základných vecí:

  1. Vy ste držiteľ autorských práv a vy máte právo, rozhodnúť sa, ako s nimi naložíte. Ak sa už rozhodnete časti práv zriecť, dobre si premyslite, akej časti práv sa chcete zriecť a podľa toho vyberajte.
  2. Skôr ako prisúdite svojmu kódu jednu z licencií, autorizujte svoj kód - tj. do každého vášho súboru s kódom, napíšte autorstvo v podobe © Copyright DÁTUM MENO.
  3. Prisúdiť svojmu kódu open source licenciu neznamená obmedziť to, ako budete program používať vy. Ako autorovi vám zostávajú práva meniť, predávať a udeľovať špeciálne licencie. Licencie sa týkajú toho, ako povoľujete daný kód používať a zdieľať ostatným.
  4. Je rozdiel, či vyvíjate knižnicu, alebo výsledný produkt (aplikáciu). Knižnica sa vkladá do iných produktov, zatiaľ čo výsledný produkt sa väčšinou už len upravuje podľa osobných potrieb.
  5. Dobre si rozmyslite, či budete mať budúcnosti záujem o určitých druh príjmov z použitia vášho kódu, alebo ho skôr chcete dať všetkým zadarmo hoci aj pre ich vlastné komerčné ciele.
  6. Ak vypustíte kód svojej knižnice pod príliš obmedzujúcou licenciou, vývojári nebudú môcť použiť podľa svojich potrieb vašu prácu v niektorých ich vlastných projektoch a rozhodnú sa radšej pre kód niekoho iného, ktorý im to umožní.
  7. Nebuďte naivní a nečakajte iba dobré zaobchádzanie s vašim kódom. Ak vypustíte svoj kód pod príliš voľnou licenciou, konkurencia ho môže upraviť a použiť vo svojich komerčných produktoch bez toho, aby vás museli informovať a poslať vám čo i len cent.
  8. S novou verziou vášho kódu môžete zmeniť aj jeho licenciu.

Skúsme teda v stručnosti prejsť akousi ukážkou rozhodnutí pri výbere licencie pre nás čo najvhodnejšej:

1. Rozhodnutie: Chcete sa vzdať akejkoľvek kontroly nad tým, ako sa váš kód používa a distribuuje?

  • Ak áno: Použite veľmi volné licencie ako MIT/BSD.
  • Ak nie: Uplatnite svoje autorské právo a popíšte v každej časti vášho kódu svoje autorstvo (copyright) a pokračujte k bodu 2.

2. Rozhodnutie: Chcete aby mohli ľudia používať váš kód aj v iných ako open source projektoch?

  • Ak áno: Pokračujte k bodu 3.
  • Ak nie: Vypustite svoj kód pod licenciou GPL. GPL stanovuje, že aj výsledný program musí vždy obsahovať zdrojový kód. Výsledkom je, že sa dá zarábať iba na distribúcii, podpore a úpravách pre konkrétne súkromné použitia.

    Pokiaľ však ide o použitie vášho kódu mimo súkromného, treba si uvedomiť, že váš GPL kód môže byť súčasťou iba takej distribúcie, ktorá je tiež licencovaná ako GPL. Ak máte knižnicu, ktorú chcete spraviť naozaj voľnou pre všetkých - aby bola použiteľná v otvorených i komerčných projektoch, ľubovolne s ňou mohol hocikto robiť hocičo, pokojne na nej aj zarábať (napr. ak chcete takto iba šíriť svoje meno, či meno firmy), nepoužívajte GPL!

    Pouvažujte na upravenou verziou GPL, so skratkou LGPL, ak sa vám GPL páči, no máte knižnicu, na ktorú chcete, aby sa mohli napájať aj iné ako GPL kódy.

3. Rozhodnutie: Ak niekto použije váš kód vo svojom programe a predáva ho potom za peniaze, chceš mať podiel zo zisku?

  • Ak áno: Máte dve možnosti
    1. Vôbec nevypúšťať kód ako open source. To zabezpečí, že nikto nebude používať váš kód bez odplaty. Dovolí to používať kód v komerčných programoch iba tým, ktorí sa s vami dohodnú na komerčnej licencii. Aj u kódu ktorý nie je open source, môžete udeliť konkrétnym ľuďom/firmám práva bezplatne používať váš kód.
    2. Vypustite svoj kód pod dvojitou licenciou. Za príklad sa dáva MySQL - pre súkromné a open source použitie, je kód dostupný zdarma pod GPL. Ak však chcete zdrojový kód použiť v vlastnom komerčnom projekte, musíte si zaplatiť niektorú z komerčných licencií.
  • Ak nie: Použite niektorú z voľnejších licencií, ako Apache, Eclipse (EPL), či Mozzila (MPL). Sú dobré, ak chcete aby sa váš kód dobre šíril, nestaráte sa o peniaze a práva na kód, pretože ich plánujete zarábať iným spôsobom - napríklad predajom vlastných programov, ktoré používajú kód, alebo na konzultáciách a podpore. Pokračujte k bodu číslo 4.

4. Rozhodnutie: Ak niekto používa a distribuuje váš kód a upravil ho (opravil chyby, pridal funkcie), chcete aby s vami zdieľali úpravy a mohli ste ich tak použiť aj vy?

  • Ak áno: Použite voľnejšie licencie ako Apache, Eclipse (EPL), či Mozzila (MPL). Tak ako pri GPL, aj pri nich platí, že všetky zmeny musia byť vypustené pod rovnakou licenciou, ako váš kód.
  • Ak nie: Použite BSD. Je to najvoľnejšia licencia - ktokoľvek môže zobrať váš kód a použiť ho v čomkoľvek bez akýchkoľvek povinností voči vám ako pôvodnému autorovi. To znamená že sa stane skutočne slobodným, bude sa môcť rýchlo a neobmedzene šíriť, no zároveň sa môže stať, že projekt si bude žiť úplne vlastným životom, šelmy sa oň potrhajú a jedného dňa môžete byť ako pôvodný vývojár celkom odsunutý bokom.

GNU GPL - matka či viróza?

Z pohľadu podielu na sťahovanom open source kóde drží tretie miesto, z pohľadu počtu vydaných licencií prvé. Stojí na nej veľké množstvo bezplatného softvéru, od Linuxu po populárne CMS-ká. Jednými blahorečená ako matka open source licencií, inými zatracovaná ako "copyleft" viróza obmedzujúca business. Je zdrojom mnohých omylov, preto sa práve na nej pokúsim poukázať na niektoré príklady, osvetľujúce asi najčastejšie nedorozumenia týkajúce sa open source licencií:

  • Existujú aj otvorené GPL pluginy pre uzavretý Photoshop. No ak vyvíjate open source/GPL plugin (knižnicu) pre komerčný program, musí byť postavený ako samostatný program tak, aby nezdieľal svoj kód s kódom, ktorý je komerčný. GPL totiž vyžaduje, aby upravená verzia vášho kódu bola pri zverejnení tiež pod GPL. Ak je váš kód knižnicou, pouvažujte nad LGPL, ktoré tak neobmedzuje používanie vášho kódu iným kódom. Treba si uvedomiť, čo a ako ste vyvinuli a premyslieť, či sú GPL a LGPL také formy licencovania, ktoré vyhovujú potrebám vás, ako aj vašich potenciálnych užívateľov. http://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF
  • Ako autor sa svojho autorstva nevzdávate, a máte právo používať kód hocijako - napr. predávať špeciálne licencie. Takisto sa môžete na svoj kód pripájať z iných svojich aplikácií. Licencovanie rieši organizáciu práv pre ostatných užívateľov, neobmedzuje vaše autorstvo.
  • Ako autor sa môžete rozhodnúť, že nasledujúcu verziu vypustíte pod inou licenciou. Ak ste ale verziu 1.0 vypustili pod najvoľnejšou BSD (a už to koluje po internete) a novú verziu chcete vypustiť povedzme pod GPL, tak sa tým snažíte zužovať práva užívateľov. Takouto zmenou môžete prísť o časť užívateľov, pričom oni sami si na voľnejšej BSD verzii môžu postaviť vlastný klon. Môj názor je, že pokiaľ ste si nie istý, radšej začať opatrnejšie a postupne zistiť, či by voľnejšie podmienky mali význam.
  • Ako bežný užívateľ môžem pre súkromné účely kód nielen skúmať, ale aj upraviť, bez toho, aby som mal povinnosť zdrojový kód zverejňovať. Avšak iba dovtedy, kým sa nerozhodnem kód alebo ním skompilovaný strojový kód zverejniť. Zverejniť znamená, že kód alebo z neho skompilovanú aplikáciu ponúkam ďalším (je jedno, či za peniaze, alebo zdieľam zdarma). Zverejniť neznamená, že mám svoju web stránku postavenú na upravenom redakčnom systéme s PHP kódom a MySQL databázou, oboch s GPL licenciou (viď. používanie Drupal, Wordpress, Typo3, ako aj http://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods).
  • Ako vývojár, môžete zarábať na úpravách a vývoji modulov pre GPL kód pre súkromné použitia, ale ak budete chcieť (vy alebo klient) takto upravený kód zdielať, musíte ho zdielať pod licenciou GPL a teda priložiť aj zdrojový kód.

GPL určite nie je vhodná úplne pre všetkých. Nie je to však ani antikrist, za akého ju je poslednou dobou populárne vydávať. Myslím, že lobing pár komerčných firiem proti nemu poznačil niektoré názory, s ktorými sa človek stretáva na internete. Zaujatosť je však pri hľadaní najlepšieho riešenia pre váš kód iba zbytočná detská choroba.

Apache, MPL, EPL - kompromisy projektov

Licencia najslávnejšieho web servera Apache, je čo sa týka práv podobná GPL licencii s rozdielmi v tom, ako musia byť zverejňované zmeny. Na rozdiel od GPL patrí do rodiny tzv. permisívnych licencií - to znamená, že nevyžaduje, aby upravená verzia vášho kódu musela byť pri zverejnení pod rovnakou licenciou. Aktuálna verzia licencie, označovaná Apache License 2.0, je kompatibilná s najnovšou licenciou GPL (verzia 3). To znamená, že projekt zmiešaný z kódov vydaných pod Apache a GPL bude vypustený pod GPL.

Mozilla Public License a Eclipse Public License sú takisto licencie patriace do rodiny permisívnych licencií a takisto vychádzajú z potrieb už konkrétnych projektov (projekty Mozilla a Eclipse). Predstavujú ďalšie spôsoby hľadania kompromisov v zóne medzi GPL a BSD/MIT. Nebudem sa rozpisovať o rozdieloch (ani ich nemám naštudované) a pokiaľ sa vám nehodí ani GPL, ani BSD, tak odporúčam preštudovať už priamo licencie konkrétnych projektov a zistiť, znenie ktorej sadne najlepšie vám a vášmu kódu.

BSD/MIT - sloboda kódu nadovšetko

BSD je obsahom krátka licencia, ktorá vytvára povinnosť iba uvádzať autorstvo a zrieknutie sa zodpovednosti, pričom je právne ošetrené aj používanie mien autorov. Je to spôsob ako skutočne naplno otvoriť a naozaj oslobodiť váš kód pre svet. Použite ho, ak nemáte potrebu riešiť licenčné podmienky, úpravy kódu inými užívateľmi, linkovanie iného kódu, či prípadné poplatky za špeciálne licencie. Dávate svoj kód k dispozícií ostatným, s tým, že je jedno, či sa rozhodnú ho používať iba súkromne, ako budú linkovať na jeho nejaký kód, môžu ho akokoľvek upravovať a nepodeliť sa o to, pokojne ho môžu ponúkať ďalej hoci aj za peniaze. Väčšinou sa využíva ako forma príspevku komunite, či zaujímavý spôsob, ako sa spropagovať. BSD licencie sa spomínajú 3 druhy:

  • "pôvodná" (originálna, stará) 4-bodová (nekompatibilná s GPL).
  • "nová" 3-bodová označovaná jednoducho BSD (kompatibilita bola opravená).
  • 2-bodová FreeBSD alebo zjednodušená verzia.

(zdroj: http://sk.wikipedia.org/wiki/BSD_licencia )

MIT licencia ide ešte o kúsok ďalej - je to najmenej obmedzujúca rozšírená licencia pre open source. Wikipedia to zhrňuje veľmi pekne:

"Užívateľ získava neobmedzené právo kopírovať, používať a modifikovať program, redistribuovať modifikované verzie programu za predpokladu uvedenia autora a informácií o licencii, spolu s upozornením na zrieknutie sa zodpovednosti za dielo. Prijatím tejto licencie sa užívateľ vzdá práva na podanie žaloby na správcu kódu." (zdroj: http://sk.wikipedia.org/wiki/MIT_licencia )

Open source a právna realita Slovenska

Slovensko vo svojej zastaralej právnej úprave používaniu open source licencií nevytvára podmienky, skôr im bráni (kto čakal niečo iné, ruky hore). Všetky open source licencie vychádzajú primárne z právneho systému USA, ktorý podporuje systém licencií aj bez potreby patentov ako aj licencie bezplatné. Slovenský právny systém je v tomto smere zastaralý, priam až obmedzujúci základné práva. Budem citovať z v celku čerstvej diplomovej práce Michala Urbana s názvom "Volné licence v českém a evropském právu" z Právnickej fakulty Masarykovej univerzity, Ústav práva a technologií z roku 2010/2011:

Chýbajúce ujednanie o odmene za poskytnutie licencie by nemalo spôsobovať neplatnosť celej zmluvy, aj keď je norma obsiahnutá v § 49 AutZ považovaná za kogentnú. ...
Štát by tým de facto zakázal realizáciu slobodnej vôle človeka.

Podľa slovenskej právnej úpravy má licencia formu kontraktu, pričom je vyžadovaná písomná forma. Aj keď v minulosti sa vyskytli snahy, najmä zo strany akademickej obce, o novelizáciu slovenského Autorského zákona, doposiaľ sa nepodarilo presadiť úpravu, ktorá by právne uznala existenciu licenčných zmlúv, ako distančne uzavretých kontraktov s verejnou ofertou a bez nutnosti doručenia akceptácie do sféry poskytovateľa. Z toho vyplýva, že vlastne všetky voľné licencie sú v slovenskej jurisdikcií neplatné a existujú iba vďaka dobrej vôli autorov a iných poskytovateľov týchto licencií, pretože kde nie je žalobca nie je ani sudca.

Z vyššie uvedeného vyplýva, že pokiaľ nebudete svojich užívateľov žalovať (čím by ste išli proti sebe), je to iba na dobrej vôli vás (že uvoľníte kód) i vašich užívateľov (že ho budú používať). Vrámci EU to zrejme až tak slovensky nepriateľské nebude, nakoľko najznámejší 3D open source projekt s názvom Blender (GPL) je z Holandska. Každopádne Slovensko nie je práve krajinou, ktorá by podporovala tento moderný obchodný model, dovolím si povedať, že zaspala dobu. To by sa mohlo zmeniť, nakoľko podľa SOIT ministerstvo kultúry pripravuje nový autorský zákon, ktorý by mal umožňovať používanie verejných licencií.

Ako vyberať?

Pomaly. Ak ste už investovali veľa času do vývoja a testovania, nepokazte to tým, že zbrklo vyberiete licenciu. Závisí od nej budúcnosť vášho projektu. Ak by vám to malo trvať aj týždne, prečítajte si o nich čo najviac, preštudujte si podmienky, odsledujte si čo najviac názorov na internete a postupne si utvoríte svoj vlastný.

Ak ste napr. živnostník, ktorý sa snaží živiť web dizajnom a popritom vyvíja vlastné malé CMS, neuvažujte hneď nad BSD, pretože sa môže stať, že sa nájde niekto, kto vám projekt preberie, zarobí na ňom a vám sa nič neujde. Ak ste ako SW firma vyvinuli šikovnú knižnicu pre napr. generovanie PDF, chcete firmu spropagovať a nemusíte sa až tak pozerať sa na peniaze, netlačte sa do GPL len preto, že je to prvé, čo väčšine príde ako prvé na jazyk pri spojení open source licencie.

Faktom ale je, že nezáleží zase až tak strašne na tom, ktorú z open source licencií si vyberiete. Ak má váš užívateľ či partner skutočný záujem byť produktívnym, potom sa budete vedieť dohodnúť bez ohľadu na to, či je váš kód pod licenciou GPL, Apache, alebo BSD. Ak ale váš užívateľ či partner vymýšľa, bude vymýšľať nech už bude vaša licencia akákoľvek.

Zdroje a inšpirácie:

Marcel Zúbrik Marcel Zúbrik

Didaktik M to začal, 486 rozvinulo, no základom bol prvý iMac. Práca v polygrafii ako grafik/sadzač, postupný prechod na tvorbu aplikácií pre Mac, Win, Linux a Web pre malé a stredné firmy. Vývoj vlastného CMS. Turistika, lezenie, kresba, písanie, výroba vecí virtuálnych i hmotných.


Hodnoť článok:
1 0

8 komentárov k článku:

Komentovať môžu iba prihlásení

Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)

Prihlás sa tu, ak už máš profil na Zajtra.sk:


Zabudol som heslo

0 0 Jana Mičeková 8.11.2012 08:22:37
Zaujímavé čítanie. Tiež sa pridávam k zvlášť článku s príkladmi. Trebárs aj pri free templatoch a podobne. Toto bolo skôr pre vývojárov, ale možno by bolo pekné doplniť (aby to bolo v kope) niečo o tom, kedy je nutné nechať či uviesť v pätičke stránky copyrighty a podobne. Ďakujem
0 0 Vladimir Poluch 19.8.2011 12:16:25
zvlast clanok :) tento clanok by bol podla mna az moc preplneny informaciami a hlavne by sa opakovali.
0 0 Marcel Zúbrik 19.8.2011 07:48:59
Dobrý nápad. Rozmýšľam, či to napísať do komentárov, alebo na to skúsiť spáchať zvlašť článok.
0 0 Vladimir Poluch 18.8.2011 16:29:19
Clanok, ktory som dlhsie hladal v slovencine a nedarilo sa (pravda i casu na to bolo malo). No i ked je to v materinskom jazyku treba si to viac krat precitat (Nechcem si predstavit kolko krat by som to cital v anj. kym by som aspon pochopil vo co go). Mozno by nebolo zle pridat nejake modelove situacie napr. pwordpress a vyvyjany modulu. Na co ma autor pravo, ci moze predavat... bla bla bla :) Viem ze je to v clanku pomerne dobre obsiahnute ale v praktickom priklade sa clovek velakrat najde rychlejsie ako v teoretickej omacke :)
0 0 Marcel Zúbrik 17.8.2011 18:03:17
To by bola najlepšia cesta. Žiaľ, nepoznám veľa ľudí, ktorí by boli schopní prečítať originál GPL (predsa len preklad je preklad) a pochopiť ju hoci aj po X-tom prečítaní. Verím, že práve preto boli vytvorené tieto druhy licencií. Málokto z open source vývojárov na toho právnika v oblasti autorských práv v začiatkoch má a keby mal, zrejme si dá urobiť licenciu na mieru. Súhlasím s tebou aj v tom, že ak sa v tom už začne človeku dariť, tak rady právnika sú namieste.

Ďakujem, teší ma, ak máš pocit, že moje úsilie zhrnúť to dopadlo celkom dobre. Ak by si chcel niečo doplniť, budem len rád a verím, že aj ďalší, čo na tento článok narazia.
0 0 Moďerný Občan 17.8.2011 09:20:14
Citat clanky o GPL od (ne)odbornikov nie je najstastnejsie riesenie. Zhrnul si to sice v celku dobre, ale toto by nemala byt cesta, ktorou sa treba uberat.

Bud si clovek bude citat original, alebo prelozenu GPL az kym ju nepochopi, alebo nech si rasej zaplati pravnika. Inak v tom bude mat bordel a ked sa dostane na zahranicny trh, kde sa tieto veci prisne hodnotia, tak sa najskor asi dostane do riadnych problemov.
0 0 Marcel Zúbrik 16.8.2011 11:53:50
Téma je to naozaj obsiahla. Keď som sa o to začal zaujímať, nechápal som rovnako ako ty :). Všetky články mi prišli ako písané marťanmi aj po druhom prečítaní. Ale postupne, ako sa tým človek lúska, chápe stále viac a potom sa už vyjasní. Zisťoval som, že mnoho ľudí (aj tu na zajtra.sk) má celkom mylné predstavy o tom, ako licencie fungujú a na čo vlastne slúžia. Taktiež aj slovenská realita je skúpa na slovo - nie len z pohľadu zákonov, ale bezplatné licencie sú pre slovákov (nie len v IT) ... nazvyme to "veľmi exotické". V slovenčine chýbal takýto prehľad.
0 0 František Čaník 15.8.2011 21:45:50
A teraz mám ešte väčší mišung ako som mal... Ešte dobre, že predávam komplet riešenia (aplikácie) a nie len časti kódov v podobe knižníc či "tried". :)
Zajtra.sk > Technológie > Software > Open source licencie


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama