Ako si vybrať licenciu Open Source pre framework RAD na GitHub

V tomto článku si povieme niečo o autorských právach, ale hlavne o výbere bezplatnej licencie pre RAD framework. IONDV. Rámec a pre produkty s otvoreným zdrojovým kódom, ktoré sú na ňom založené. Povieme si o permisívnej licencii Apache 2.0, o tom, čo nás k tomu viedlo a akým rozhodnutiam sme počas cesty čelili.

Proces výberu licencie je pomerne prácny a malo by sa k nemu pristupovať s dostatočnými znalosťami. Pokiaľ nemáte to šťastie a máte právnický titul, budete čeliť obrovskému množstvu informácií o rôznych dostupných licenciách s otvoreným zdrojovým kódom. Kľúčom je vytvoriť súbor obmedzujúcich kritérií. Prostredníctvom diskusie a reflexie budete vy a váš tím schopní určiť, čo chcete pre používateľov svojho produktu povoliť a čo chcete zakázať. Keď budete mať popis, musíte ho porovnať s existujúcimi licenciami a vybrať tú s najväčším počtom bodov. Znie to samozrejme jednoducho, ale v skutočnosti aj po diskusii často zostávajú otázky.

Ako si vybrať licenciu Open Source pre framework RAD na GitHub

Najprv odkaz na choosealicense.com, užitočná stránka, ktorú sme hojne využívali. Venujte zvláštnu pozornosť porovnávacia tabuľka Licencie založené na 13 kľúčových kritériách. Nech vám praje vaša angličtina a trpezlivosť.

Voľba múky

Začnime so všeobecnými charakteristikami licencií pre slobodný softvérFOSS znamená výlučne bezplatnú licenciu, ktorá neobmedzuje komerčné a nekomerčné šírenie podľa modelu Otvorte jadroPublikovanie softvéru online pod slobodnou licenciou teda úplne neobmedzuje jeho prenos, distribúciu a predaj tretími stranami; na to je len potrebné byť psychicky pripravený.

Bezplatná licencia udeľuje používateľovi právo spätne analyzovať softvér alebo ho upravovať inými dostupnými spôsobmi. Väčšina licencií zakazuje premenovanie produktu alebo vykonávanie akýchkoľvek manipulácií s ním, ktoré menia práva autora a/alebo vlastníka systému.

Hlavné otázky, ktoré nás zaujímali ohľadom bezplatných licencií, boli:

  1. Mali by sa zmeny vykonané v softvéri zaznamenávať a nemali by mať žiadny vzťah k držiteľovi autorských práv k systému?
  2. Nemal by sa názov odvodeného softvéru zhodovať s názvom softvéru držiteľa autorských práv?
  3. Je možné zmeniť licenciu pre akékoľvek nové verzie na inú, vrátane proprietárnych?

Po dôkladnom preskúmaní zoznamu najbežnejších licencií sme vybrali niekoľko, ktoré sme preskúmali podrobnejšie. Potenciálne licencie pre IONDV. Rámec boli: GNU GPLv3, Apache 2.0, MIT a MPL. S Takmer okamžite sme vylúčili licenciu MIT, čo je permisívna licencia bez copyleftu, ktorá umožňuje používanie, úpravu a distribúciu kódu prakticky akýmkoľvek spôsobom. S tým sme neboli spokojní; chceli sme, aby licencia regulovala vzťah medzi držiteľom autorských práv a používateľom. Väčšina menších projektov na GitHube je hostovaná pod licenciou MIT alebo jej rôznymi variáciami. Samotná licencia je veľmi krátka a jediným zákazom je uvedenie autora.

Nasledovala licencia MPL 2.0Úprimne povedané, s týmto nápadom sme neprišli hneď, ale po podrobnejšom štúdiu sme ho rýchlo vylúčili, pretože hlavnou nevýhodou je, že licencia sa nevzťahuje na celý projekt, ale na jednotlivé súbory. Navyše, ak používateľ upraví súbor, nemôže licenciu zmeniť. V podstate bez ohľadu na to, ako usilovne upravíte projekt s otvoreným zdrojovým kódom, nebudete ho môcť speňažiť kvôli tejto licencii. Mimochodom, toto sa nevzťahuje na držiteľa autorských práv.

Podobný problém pretrváva aj s licenciou GNU GPLv3Vyžaduje, aby každý súbor zostal pod vlastnou licenciou. GNU GPL je licencia copyleft, ktorá vyžaduje, aby zdrojový kód odvodených diel bol open source a zostal pod rovnakou licenciou. To znamená, že ak prepíšete dva riadky kódu, ste nútení potvrdiť svoje zmeny a ak budete kód naďalej používať alebo distribuovať, ponechať ho pod licenciou GNU GPL. V tomto prípade je to obmedzujúci faktor pre používateľa nášho projektu, nie pre nás. Zmena GPL na akúkoľvek inú licenciu je však zakázaná, a to aj v rámci verzií GPL. Napríklad, ak zmeníte LGPL (nadmnožina GPL) na GPL, potom už nebude cesty späť k LGPL. A tento bod bol rozhodujúci v hlasovaní proti.

Celkovo sa naša voľba spočiatku prikláňala k GPL3 Práve kvôli distribúcii upraveného kódu pod rovnakou licenciou. Mysleli sme si, že to zvýši bezpečnosť nášho produktu, ale v Apache 2.0 sme videli menej rizík. Podľa Free Software Foundation je GPLv3 kompatibilná s Apache License v2.0, čo znamená, že je vždy možné zmeniť licenciu z Apache License v2.0 na GPL v3.0.

Apache 2.0

Apache 2.0 — vyvážená, permisívna licencia s dôrazom na autorské práva. Tu sú odpovede, ktoré poskytla na naše otázky. Mali by byť zmeny vykonané v softvéri zdokumentované a nemali by mať žiadnu súvislosť s držiteľom autorských práv? Áno, všetky zmeny musia byť zdokumentované a my nie sme zodpovední ani za zdrojový kód, ani za upravený kód. Súbor so zmenami musí byť priložený ku kódu, v ktorom ste tieto zmeny vykonali. Nemal by sa názov odvodeného softvéru zhodovať s názvom softvéru držiteľa autorských práv? Áno, odvodený softvér musí byť vydaný pod iným názvom a ochrannou známkou, ale s uvedením držiteľa autorských práv. Môže byť licencia zmenená pre akékoľvek nové verzie vrátane proprietárnych? Áno, môže byť vydaná pod rôznymi licenciami; Apache 2.0 neobmedzuje používanie žiadnych nekomerčných ani komerčných licencií.

Taktiež vydávanie nových produktov založených na open-source kóde Apache 2.0 alebo produktov s dodatočnou funkcionalitou nevyžaduje rovnakú licenciu. Nižšie je uvedený obrázok znázorňujúci podmienky a obmedzenia licencie Apache 2.0.

Ako si vybrať licenciu Open Source pre framework RAD na GitHub

Licencia vyžaduje zachovanie a uvedenie autorských práv a licencie, pod ktorou je softvér vydaný. Povinná prítomnosť oznámenie o autorských právach Autorská ochranná známka s menom a licenciou držiteľa autorských práv chráni práva pôvodného autora softvéru, pretože aj keď je premenovaný, darovaný alebo predaný pod inou licenciou, autorská ochranná známka zostane zachovaná. Na tento účel možno použiť aj súbor. UPOZORNENIE a priložte ho buď k zdrojovému kódu, alebo k projektovej dokumentácii.

Všetky naše produkty sprístupňujeme verejnosti na GitHub pod licenciou Apache 2.0, s výnimkou IONDV. Vojnový archív, ktorého zdrojový kód bol v apríli tohto roku zverejnený pod licenciou GPLv3 na GitHub Ďalekovýchodným centrom pre sociálne technológie. V súčasnosti okrem rámec a modulov publikovaný aplikácie vyrobené na frameworku. Už sme o tom hovorili na Habr. Systém riadenia projektov a asi Register komunikácií.

Technické podrobnosti o frameworku

IONDV.Framework je open-source Node.js framework na vytváranie webových aplikácií na vysokej úrovni riadených metadátami bez nutnosti rozsiahlych programátorských zručností.

Jadrom funkcionality aplikácie je register údajov – modul Registry. Tento kľúčový modul je navrhnutý špeciálne na prácu s údajmi založenými na štruktúrach metadát – vrátane správy projektov, programov, udalostí a ďalších údajov. Projekt tiež využíva portálový modul na zobrazovanie vlastných šablón údajov – implementuje rozhranie archívneho registra.

MongoDb sa používa pre DBMS; ukladá nastavenia aplikácie, metadáta a samotné dáta.

Ako môžem použiť licenciu na svoj projekt?

Pridať súbor LICENCIE s textom licencie v repozitári vášho projektu a voilà, projekt je chránený Apache 2.0. Musíte uviesť držiteľa autorských práv, to je všetko. oznámenie o autorských právachToto sa dá urobiť v zdrojovom kóde alebo v súbore. UPOZORNENIE (textový súbor so zoznamom všetkých knižníc licencovaných pod licenciou Apache spolu s menami ich tvorcov). Samotný súbor by mal byť zahrnutý buď v zdrojovom kóde, alebo v dokumentácii distribuovanej s dielom. Pre nás vyzerá takto:

Autorské práva © 2018 ION DV LLC.
Licencované pod licenciou Apache, verzia 2.0

Text licencie Apache 2.0

Licencia Apache
Verzia 2.0, január 2004
http://www.apache.org/licenses/

PODMIENKY POUŽÍVANIA, REPRODUKCIE A DISTRIBÚCIE

  1. Definícia.

    „Licencia“ znamená podmienky používania, reprodukcie,
    a distribúciu, ako je definovaná v oddieloch 1 až 9 tohto dokumentu.

    „Poskytovateľ licencie“ znamená vlastníka autorských práv alebo subjekt poverený
    vlastník autorských práv, ktorý udeľuje licenciu.

    „Právnická osoba“ znamená združenie konajúcej osoby a všetkých
    iné subjekty, ktoré kontrolujú, sú kontrolované alebo sú pod spoločným
    kontrolu nad touto entitou. Na účely tejto definície,
    „kontrola“ znamená (i) priamu alebo nepriamu moc spôsobiť
    riadenie alebo riadenie takéhoto subjektu, či už zmluvne alebo
    inak, alebo (ii) vlastníctvo päťdesiatich percent (50 %) alebo viacerých
    nesplatené akcie alebo (iii) skutočné vlastníctvo takéhoto subjektu.

    „Vy“ (alebo „Vaše“) znamená fyzickú alebo právnickú osobu
    uplatňovanie oprávnení udelených touto licenciou.

    „Zdrojový“ formulár znamená preferovaný formulár na vykonávanie úprav,
    vrátane, ale nie výlučne, zdrojového kódu softvéru a dokumentácie
    zdrojové a konfiguračné súbory.

    „Forma objektu“ znamená akúkoľvek formu, ktorá je výsledkom mechanického
    transformácia alebo preklad zdrojového formulára, vrátane, ale
    neobmedzuje sa len na kompilovaný objektový kód, generovanú dokumentáciu,
    a konverzie na iné typy médií.

    „Dielo“ znamená autorské dielo, či už v Zdroji alebo
    Objektová forma sprístupnená na základe licencie, ako je uvedené v
    oznámenie o autorských právach, ktoré je súčasťou diela alebo k nemu pripojené
    (príklad je uvedený v dodatku nižšie).

    „Odvodené diela“ znamenajú akékoľvek dielo, či už v zdrojovom alebo objektovom
    forma, ktorá je založená na Diele (alebo z neho odvodená) a pre ktorú
    redakčné revízie, anotácie, rozpracovania alebo iné úpravy
    predstavujú ako celok originálne autorské dielo. Na účely
    tejto licencie, odvodené diela nezahŕňajú diela, ktoré zostávajú
    oddeliteľné od rozhraní alebo iba prepojené (alebo viazané podľa názvu) s nimi
    Dielo a z neho odvodené diela.

    „Príspevok“ znamená akékoľvek autorské dielo vrátane
    pôvodná verzia Diela a akékoľvek úpravy alebo dodatky
    k tomuto Dielu alebo k dielam z neho odvodeným, ktoré je zámerne
    predložené poskytovateľovi licencie na zaradenie do diela vlastníkom autorských práv
    alebo fyzickou osobou alebo právnickou osobou oprávnenou predkladať v mene
    vlastník autorských práv. Na účely tejto definície „predložené“
    znamená akúkoľvek formu elektronickej, verbálnej alebo písomnej komunikácie odoslanej
    Poskytovateľovi licencie alebo jeho zástupcom, vrátane, ale nie výlučne,
    komunikácia na elektronických mailing listoch, systémoch kontroly zdrojového kódu,
    a systémy sledovania problémov, ktoré spravuje alebo ktoré sú spravované v mene
    Poskytovateľ licencie za účelom diskusie a vylepšenia Diela, ale
    okrem komunikácie, ktorá je nápadne označená alebo inak
    písomne ​​označené vlastníkom autorských práv ako „Nie je to príspevok“.

    „Prispievateľ“ znamená Poskytovateľa licencie a akúkoľvek fyzickú alebo právnickú osobu
    v mene ktorého poskytovateľ licencie prijal príspevok a
    následne začlenené do Diela.

  2. Udelenie licencie na autorské práva. Podlieha podmienkam
    touto Licenciou vám každý Prispievateľ týmto udeľuje trvalú,
    celosvetové, nevýhradné, bezplatné, bez licenčných poplatkov, neodvolateľné
    licencia na autorské práva na reprodukciu, prípravu odvodených diel,
    verejne zobrazovať, verejne vykonávať, poskytovať sublicencie a distribuovať
    Dielo a takéto odvodené diela v zdrojovej alebo objektovej forme.

  3. Udelenie patentovej licencie. Podlieha podmienkam
    touto Licenciou vám každý Prispievateľ týmto udeľuje trvalú,
    celosvetové, nevýhradné, bezplatné, bez licenčných poplatkov, neodvolateľné
    (okrem prípadov uvedených v tejto časti) patentová licencia na výrobu, dať vyrobiť,
    používať, ponúkať na predaj, predávať, dovážať a inak prevádzať Dielo,
    ak sa takáto licencia vzťahuje len na tie patentové nároky, na ktoré je možné udeliť licenciu
    takýmto Prispievateľom, ktoré sú ním nevyhnutne porušené
    Príspevok(y) samostatne alebo kombináciou ich príspevku(ov)
    s Dielom, ku ktorému bol takýto Príspevok (Príspevky) odoslaný. Ak Vy
    začatie patentového sporu proti akejkoľvek entite (vrátane
    protinávrh alebo protinávrh v súdnom spore) tvrdiaci, že Dielo
    alebo Príspevok začlenený do Diela predstavuje priamu
    alebo podielového porušenia patentu, potom akékoľvek patentové licencie
    udelená Vám na základe tejto Licencie pre dané Dielo zaniká
    ku dňu podania takejto žaloby.

  4. Redistribúcia. Môžete reprodukovať a distribuovať kópie
    Dielo alebo odvodené diela z neho v akomkoľvek médiu, s alebo bez
    úpravy a vo forme zdroja alebo objektu za predpokladu, že vy
    spĺňať nasledujúce podmienky:

    (a) Musíte poskytnúť všetkým ostatným príjemcom Diela alebo
    Odvodené diela kópiu tejto licencie; a

    (b) Všetky upravené súbory musíte označiť výraznými upozorneniami.
    s uvedením, že ste zmenili súbory; a

    © Musíte si ponechať všetky odvodené diela v zdrojovej forme
    ktoré distribuujete, všetky autorské práva, patenty, ochranné známky a
    oznámenia o autorstve zo zdrojového formulára diela,
    s výnimkou oznámení, ktoré sa netýkajú žiadnej časti
    odvodené diela; a

    (d) Ak Dielo obsahuje textový súbor s označením „OZNÁMENIE“ ako svoju súčasť
    distribúcia, potom akékoľvek odvodené diela, ktoré distribuujete, musia
    priložte čitateľnú kópiu oznámení o pripísaní zdroja, ktoré sú v nich uvedené
    v rámci takéhoto súboru OZNÁMENIA, s výnimkou oznámení, ktoré nie
    sa týkajú akejkoľvek časti Odvodených diel, aspoň v jednom
    z nasledujúcich miest: v rámci distribuovaného textového súboru NOTICE
    ako súčasť Odvodených diel; v rámci zdrojového formátu alebo
    dokumentácia, ak je poskytnutá spolu s Odvodenými dielami; alebo
    v rámci zobrazenia vygenerovaného Odvodenými dielami, ak a
    kdekoľvek sa takéto oznámenia tretích strán bežne zobrazujú. Obsah
    súboru NOTICE slúžia len na informačné účely a
    Neupravujte licenciu. Môžete pridať vlastné uvedenie zdroja.
    oznámenia v rámci odvodených diel, ktoré distribuujete, spolu s
    alebo ako dodatok k textu OZNÁMENIA z Diela, za predpokladu
    že takéto dodatočné oznámenia o pripísaní nemožno vykladať
    ako úpravu Licencie.

    K svojim úpravám môžete pridať vlastné vyhlásenie o autorských právach a
    môže poskytnúť dodatočné alebo odlišné licenčné podmienky
    na použitie, reprodukciu alebo distribúciu Vašich úprav, alebo
    pre akékoľvek takéto Odvodené diela ako celok, za predpokladu, že ich používate,
    reprodukcia a distribúcia Diela inak spĺňa
    podmienky uvedené v tejto licencii.

  5. Predkladanie príspevkov. Pokiaľ výslovne neuvediete inak,
    akýkoľvek Príspevok zámerne predložený na zaradenie do Diela
    ktoré udelíte Poskytovateľovi licencie, sa riadi zmluvnými podmienkami
    túto Licenciu bez akýchkoľvek ďalších podmienok.
    Bez ohľadu na vyššie uvedené, nič v tomto dokumente nenahrádza ani neupravuje
    podmienky akejkoľvek samostatnej licenčnej zmluvy, ktorú ste mohli uzavrieť
    s Poskytovateľom licencie ohľadom takýchto Príspevkov.

  6. Ochranné známky. Táto licencia neudeľuje povolenie na používanie ochranných známok
    názvy, ochranné známky, servisné známky alebo názvy produktov Poskytovateľa licencie,
    s výnimkou prípadov, keď je to potrebné pre primerané a bežné použitie pri opise
    pôvod Diela a reprodukcia obsahu súboru NOTICE.

  7. Zrieknutie sa záruky. Pokiaľ to nie je vyžadované platnými zákonmi alebo
    písomne ​​dohodnuté, Poskytovateľ licencie poskytuje Dielo (a každý
    Prispievateľ poskytuje svoje príspevky „TAK, AKO SÚ“,
    BEZ ZÁRUK ALEBO PODMIENOK AKÉHOKOĽVEK DRUHU, či už výslovných alebo
    implicitné, vrátane, okrem iného, ​​akýchkoľvek záruk alebo podmienok
    VLASTNÍCTVA, NEPORUŠENIA PRÁV, OBCHODOVATEĽNOSTI alebo VHODNOSTI NA
    KONKRÉTNY ÚČEL. Ste výhradne zodpovední za určenie
    vhodnosť použitia alebo ďalšej distribúcie Diela a prevziať akúkoľvek
    riziká spojené s Vaším uplatňovaním oprávnení podľa tejto Licencie.

  8. Obmedzenie zodpovednosti. V žiadnom prípade a na základe žiadnej právnej teórie
    či už v rámci občianskoprávneho deliktu (vrátane nedbanlivosti), zmluvy alebo inak,
    pokiaľ to nevyžaduje platný zákon (napríklad úmyselné a hrubé
    nedbanlivosti) alebo písomne ​​dohodnuté, bude ktorýkoľvek Prispievateľ
    zodpovedný za škody vrátane akýchkoľvek priamych, nepriamych, špeciálnych,
    náhodné alebo následné škody akejkoľvek povahy vzniknuté ako
    v dôsledku tejto Licencie alebo z používania alebo neschopnosti používať
    Práca (vrátane, ale nie výlučne, škôd spôsobených stratou dobrej povesti,
    prerušenie práce, zlyhanie alebo porucha počítača alebo čokoľvek iné
    iné obchodné škody alebo straty), aj keď takýto prispievateľ
    bol poučený o možnosti takýchto škôd.

  9. Prijatie záruky alebo dodatočnej zodpovednosti. Pri redistribúcii
    Dielo alebo z neho odvodené diela, môžete sa rozhodnúť ponúknuť,
    a účtovať poplatok za prijatie podpory, záruky, odškodnenia,
    alebo iné záväzky a/alebo práva v súlade s týmto
    Licencia. Pri prijímaní takýchto záväzkov však môžete konať iba
    vo vlastnom mene a na vlastnú zodpovednosť, nie v mene
    akéhokoľvek iného Prispievateľa a iba ak súhlasíte s odškodnením,
    obhajovať a zbavovať každého Prispievateľa akejkoľvek zodpovednosti
    vzniknuté alebo nároky uplatnené voči takémuto Prispievateľovi z dôvodu
    o vašom prijatí akejkoľvek takejto záruky alebo dodatočnej zodpovednosti.

    KONIEC PODMIENOK

    DODATOK: Ako aplikovať licenciu Apache na vašu prácu.

    Ak chcete na svoje dielo použiť licenciu Apache, priložte nasledujúce
    štandardné oznámenie s poľami uzavretými v hranatých zátvorkách „[]“
    nahradené vašimi vlastnými identifikačnými údajmi. (Neuvádzajte
    zátvorkách!) Text by mal byť uzavretý v príslušných
    syntax komentárov pre formát súboru. Odporúčame tiež, aby
    názov súboru alebo triedy a popis účelu musia byť zahrnuté na
    rovnaká „vytlačená strana“ ako oznámenie o autorských právach pre jednoduchšie
    identifikácia v archívoch tretích strán.

    Autorské práva [rrrr] [meno vlastníka autorských práv]

    Licencované na základe licencie Apache, verzia 2.0 („Licencia“);
    Tento súbor nesmiete používať inak, ako je to v súlade s licenciou.
    Kópiu licencie môžete získať na adrese

    http://www.apache.org/licenses/LICENSE-2.0

    Pokiaľ to nevyžadujú platné právne predpisy alebo nie je písomne ​​dohodnuté, softvér
    distribuované na základe licencie je distribuované „TAK, AKO SÚ“,
    BEZ ZÁRUK ALEBO PODMIENOK AKÉHOKOĽVEK DRUHU, či už výslovných alebo implicitných.
    Pozrite si licenciu, kde nájdete informácie o konkrétnom jazyku, ktorý upravuje povolenia a
    obmedzenia vyplývajúce z licencie.

Licencia = zmluva

Bezplatná licencia, hoci je bezplatná, neumožňuje nič zmierňovať a príklady obmedzení sme už uviedli. Vyberte si licenciu na základe svojich záujmov aj záujmov používateľa, pretože softvér s otvoreným zdrojovým kódom je navrhnutý špeciálne pre neho. Používateľ projektu by mal licenciu vnímať ako druh zmluvy medzi ním a držiteľom autorských práv, takže pred vykonaním akýchkoľvek akcií so zdrojovým kódom si pozorne prečítajte obmedzenia stanovené licenciou projektu.

Dúfame, že sme objasnili tému licencií a hoci sú zložité, nemali by byť prekážkou na vašej ceste k open source. Rozvíjajte svoj projekt a majte na pamäti svoje vlastné práva aj práva iných.

Užitočné odkazy

Na záver uvádzame niekoľko užitočných zdrojov, ktoré nám pomohli nájsť informácie o existujúcich licenciách a vybrať si tú, ktorá najlepšie vyhovuje našim cieľom:

Zdroj: hab.com

Pridať komentár