Licencie GitHub – o čom hovoríme? Na vytvorenie softvéru ho človek musí nielen napísať, ale aj rozhodnúť, čo s ním majú používatelia alebo vývojári právo robiť. Ak niekto vytvorí bezplatný program pre všetkých, robí dobrý skutok, ale kto ho používa, bude musieť zdôvodniť, ako ho používa. Napríklad, ak firma pri svojej činnosti bude spolupracovať s nejakým bezplatným úradom (napríklad LibreOffice), tak musí vedieť inšpektorom dokázať, že na to má právo. Na tento účel bude stačiť predložiť príslušnú licenciu. Ak to developer zabudne sformulovať, potom môže byť spoločnosť v ťažkej pozícii.Pri vytváraní aplikácie sa musí vývojár rozhodnúť, ktoré akcie s jeho programom budú povolené a ktoré nie. Môžeme sa napríklad baviť nielen o používaní, ale aj o štúdiu textov programov či vlastných úpravách softvérového produktu. GitHub je jednou z najväčších služieb pre vývoj spoločných projektov. Zároveň tu môžu pracovať nielen na bezplatných, ale aj komerčných projektoch. Zadaním príslušnej licencie vývojári odstránia nejasnosti v spôsobe použitia vytvoreného produktu. Problém je v tom, že existuje veľa rôznych typov licencií a nie je vždy jednoduché určiť, ktorú možnosť si v konkrétnom prípade vybrať. Nie je tiež nezvyčajné, že niektoré projekty nemajú licenciu.
- Prečo potrebujete licencovať Open Source projekty na GitHub
- Aké typy licencií existujú
- Ako si vybrať licenciu Github
- Ako pridať licenciu na Github
- Vyberte si licenciu Github – príklady populárnych licencií na Git Hub
- GPL
- LGPL
- Eclipse Public License
- Verejná licencia Mozilla
- Apache License Github
- Licencia MIT
- Podvodné skaly
Prečo potrebujete licencovať Open Source projekty na GitHub
Pri zadávaní požadovanej licencie môže vývojár poskytnúť nasledovné:
- Podmienky používania programu . Môžu zahŕňať poplatok alebo v niektorých alebo všetkých prípadoch umožňujú bezplatné používanie.
- Niekedy sú programy vytvorené, aby ich vyvinula komunita . V tomto prípade je dôležité, aby sa s textami programu zoznámil každý, kto sa chce.
- Keď sú dostupné texty programu, niektorí môžu vykonať zmeny , aby bol program funkčný a čo najspoľahlivejší. Niekedy to môže autor dovoliť každému, inokedy sa ponúkne, že mu zmenu pošle, a sám urobí úpravy projektu.
- Musíte sa rozhodnúť, či tretie strany môžu vykonávať zmeny v projekte a ponúkať v ich mene. Pritom musíte určiť, s ktorou licenciou by mal byť ich produkt.
Vyriešením týchto a podobných otázok autor aplikácie vlastne do značnej miery určuje budúci osud softvérového produktu, ktorý vytvoril.
Aké typy licencií existujú
Licencia je zmluva, v ktorej jedna strana (poskytovateľ licencie) stanovuje pravidlo pre druhú stranu (nadobúdateľ licencie) používať ním vytvorený produkt. V praxi nehovoríme o podpise dokumentu zmluvnými stranami, ale o automatickom súhlase s príslušnými právami a povinnosťami pri jeho použití. Pri špecifikácii práv a povinností neexistujú prakticky žiadne obmedzenia. Jedinou podmienkou je, že musia dodržiavať zákon. Vytváranie vlastných licencií je zložitá práca, pretože musí byť kompatibilná s inými predpismi. Najlepšou možnosťou je vybrať a použiť jednu zo štandardných odrôd takýchto dokumentov. V praxi je tiež zvykom využívať multilicenciu. Najčastejšie sa v takýchto prípadoch používajú dve licencie súčasne. Autor programu má síce právo samostatne formulovať pravidlá, ktoré musia používatelia dodržiavať, napriek tomu sa v praxi vyvinulo používanie veľkého množstva typov licencií, z ktorých si vo väčšine prípadov vyberiete tú správnu. Nasledujúce sú najobľúbenejšie možnosti používané vo väčšine prípadov na Git Hub. Najbežnejšie používané licencie na Git Hub sú:
Programátor si bude musieť vedieť vybrať ten, ktorý bude vyhovovať jeho plánom. Aby ste to urobili správne, musíte pochopiť, aké vlastnosti sú vlastné určitým druhom.
Ak autor odmietne formulovať dokument, potom sa v tomto prípade uplatňujú autorské práva, ktoré sú štandardne upravené legislatívou jeho krajiny. Absencia licencie týmto spôsobom neznamená, že s programom je možné čokoľvek robiť. V skutočnosti možno takúto situáciu považovať za jeden z typov licencií.
Ako si vybrať licenciu Github
Skôr ako začnete hľadať vhodnú možnosť, je potrebné, aby si programátor sformuloval svoje požiadavky, od ktorých bude vychádzať pri ďalšom licencovaní. Ďalej by ste sa mali oboznámiť s typickými možnosťami, ktoré zodpovedajú požiadavke. Potom si budete musieť dôkladne preštudovať právny jazyk a urobiť konečné rozhodnutie o tom, aká by mala byť licencia. Ak chcete urobiť informovaný výber, musíte pochopiť, aké práva a povinnosti sú spojené s konkrétnym typom licencie. Ak chcete urobiť správnu voľbu, môžete využiť špeciálne služby nazývané porovnávače. Tu je niekoľko príkladov:
- https://choosealicense.com/. Táto stránka obsahuje hlavné otázky na výber správnej možnosti a podrobné rady, ktoré vám pomôžu pochopiť funkcie používania.
- Stránka https://opensource.org/licenses je venovaná preskúmaniu rôznych riešení bezplatného softvéru.
- Stránku https://tldrlegal.com/ možno považovať za encyklopédiu rôznych licenčných možností. Sú tam presné právne formulácie aj podrobné komentáre.
Ako pridať licenciu na Github
Napriek rozsiahlemu výberu licenčných možností, ktoré sa v praxi ukázali ako efektívne a spoľahlivé, môže mať vývojár svoje vlastné predstavy o tom, aká by mala byť licencia pre ním vytvorený program. V tomto prípade služba poskytuje možnosť pridať vlastnú verziu alebo upraviť existujúcu. Ak chcete pridať licenciu na Github, budete musieť postupovať podľa týchto krokov:
- Musíte prejsť na hlavnú stránku vášho úložiska.
- Ak chcete pridať súbor, musíte kliknúť na tlačidlo a potom vybrať možnosť „Vytvoriť nový súbor“.
- Ďalej musíte zadať názov súboru. Pre licenciu to môže byť jedna z dvoch možností: LICENSE alebo LICENCE.md. Tu je používanie veľkých písmen povinné.
- Napravo od vstupného poľa názvu súboru kliknutím vyberte šablónu licencie.
- V ponuke na ľavej strane stránky vyberte riadok „Pridať licenciu do vášho projektu“. V tomto prípade sa variant vyberie z existujúcich dokumentov.
- Potom kliknite na riadok „Skontrolovať a odoslať“. Potom zadajte podrobnosti o vašej zmluve.
- Potom je potrebné objasniť, aké doplnky alebo zmeny boli vykonané. Ďalej uveďte, či bol vybraný dokument opravený alebo či ide o vytvorenie inej verzie licencie.
Po potvrdení zmien vývojár dokončí postup vykonania zmien v zozname licencií v službe Git Hub.
Vyberte si licenciu Github – príklady populárnych licencií na Git Hub
Nasledujúce možnosti sú najobľúbenejšie. Po pochopení ich silných a slabých stránok bude programátor schopný nájsť správnu možnosť alebo pochopiť, ako efektívne vyhľadávať.
GPL
Túto licenciu možno nazvať jednou z najpopulárnejších. Je to klasické pre tých, ktorí produkujú slobodný softvér. Jednou z hlavných požiadaviek tohto dokumentu je, že
umožňuje tretím stranám voľne upravovať program , no zároveň majú právo distribuovať výsledok len pod rovnakou licenciou. Táto licencia môže mať rôzne verzie. Najnovšia z nich je tretia. GPL používali vývojári programov, ako je systém správy webového obsahu Drupal, systém správy databáz MariaDB, editor vektorovej grafiky InkSkape a niektoré ďalšie. Je zaujímavé poznamenať, že SQL používa nielen GPL, ale aj komerčnú licenciu.
LGPL
Tento názov znamená „GNU GPL Lesser General Public License“. Pre niektorých vývojárov nie je GPL vhodná, pretože im vytvára povinnosť distribuovať upravené produkty pod rovnakou licenciou. Vlastnosti aplikácie tejto možnosti možno ilustrovať na tom, ako prebieha proces licencovania používania knižníc vytvorených programátorom. V tomto prípade sa berú do úvahy tieto tri možnosti:
- Keď knižnica poskytuje novú funkcionalitu, kde žiadna iná komerčná knižnica nedokáže urobiť to isté, potom je GPL najlepšou voľbou.
- Vývojár v bezplatnej knižnici už implementoval existujúci štandard. V tejto oblasti existujú komerčné možnosti s podobnými funkciami. Pre tento prípad bude vhodné zvoliť LGPL.
- Pokiaľ ide o nový štandard, ktorý v skutočnosti konkuruje komerčnému, licencia Apache je tou správnou cestou.
Tento štandard
umožňuje komerčné využitie knižníc . Ak sa vykonajú úpravy, na distribúciu sa musia použiť rovnaké podmienky. Jednoduché použitie kódu však umožňuje zmenu podmienok.
Eclipse Public License
Tento dokument
povoľuje distribúciu pod inými licenciami, vrátane komerčných . Hlavnou podmienkou je, že v upravených dielach budú inovácie umiestnené v samostatnom module. Táto licencia si získala popularitu pri vývoji produktov v jazyku Java. Príkladom je programovací jazyk Clojure, framework na testovanie java aplikácií.
Verejná licencia Mozilla
Niektorí považujú tento dokument za kompromis medzi GPL a komerčnými licenciami. MPL vyžaduje
otvorený prístup k určitým súborom . Softvérový produkt môže obsahovať niektoré súbory pod touto licenciou a iné bez nej. Po úprave je možné vložiť potrebnú licenciu (napríklad môže byť komerčná), ale je to možné len za podmienky, že prístup k súborom vydaným pod MPL bude stále otvorený. V tomto prípade musia byť koncovému používateľovi poskytnuté informácie o autoroch pôvodného softvéru. V súlade s týmto dokumentom bola uvoľnená kancelária LibreOffice, prehliadač Mozilla a ďalšie softvérové produkty.
Apache License Github
AL sa nazýva liberálna slobodná licencia. Táto vlastnosť je spôsobená skutočnosťou, že
neexistuje požiadavka na uvoľnenie odvodeného produktu za rovnakých podmienok ako predtým . Tento dokument aktívne používa Apache Software Foundation. Pri použití je povolené:
- Softvérový produkt je povolené ďalej používať na komerčné účely.
- Úpravy aplikácie sú povolené.
- Následné distribúcie by mali obsahovať meno pôvodného autora.
Vytvorením nového variantu nevzniká pre držiteľov licencie povinnosť poskytnúť pôvodný kód produktu. Takáto licencia si získala značnú popularitu. Dá sa to demonštrovať zoznamom známych softvérových produktov, ktoré sú vydané pod týmto typom licencie: operačný systém Android, rámec, ktorý vytvára podnikové aplikácie v jazyku Java, a webový server Apache. https://youtu.be/wyZq-EazOmU
Licencia MIT
Niektorí považujú túto možnosť licencie na bezplatný softvér za najobľúbenejšiu. Za jeho hlavnú výhodu niektorí považujú dobrú kompatibilitu s rôznymi typmi bezplatných alebo komerčných licencií. Najdôležitejšími funkciami sú
možnosť upravovať kód, ako aj povolenie na distribúciu pod inými licenciami podľa výberu toho, kto zmeny vykonal . Softvérové produkty, ktoré používajú tento dokument, sú: knižnica JavaScript s názvom JQuiery, textový editor Atom, AngularJS, vývojový rámec JavaScriptu.
Podvodné skaly
Niekedy si autor najprv vyberie jednu verziu licencie a neskôr ju chce zmeniť. Ak by program vytvoril sám, potom by takáto zmena nebola ťažká. Avšak v prípadoch, keď bolo na vývoji veľa účastníkov, tak bez ich súhlasu to nepôjde. Napríklad tvorca Linuxu, hoci v skutočnosti vytvoril základ operačného systému, nebude môcť zmeniť licenciu bez súhlasu všetkých programátorov, ktorí sa podieľali na ďalšom vývoji. Pri distribúcii pod MPL nemôžu tí, ktorí vykonali zmeny v kóde, ponúkať súbory pod MPL pod inou licenciou. Použitie nového dokumentu bude odkazovať na iné moduly programu.