Kaip pasirinkti atvirojo kodo licenciją RAD sistemai „GitHub“.
Šiame straipsnyje šiek tiek kalbėsime apie autorių teises, bet daugiausia apie nemokamos licencijos pasirinkimą RAD sistemai IONDV. Sistema ir atvirojo kodo gaminiams, pagrįstiems juo. Mes jums pasakysime apie leidimų išdavimo licenciją Apache 2.0, apie tai, kas mus privedė prie to ir su kokiais sprendimais susidūrėme.
Licencijos pasirinkimo procesas yra gana daug darbo reikalaujantis ir į jį turėtų būti kreipiamasi jau gerai perskaitytas, o jei nesate laimingas teisinio išsilavinimo savininkas, tada prieš jus atsiveria platus informacijos apie įvairias nemokamas licencijas laukas. Svarbiausia yra sudaryti keletą ribojančių kriterijų. Diskusijų ir apmąstymų metu jūs ir jūsų komanda galėsite suprasti, ką norite leisti savo produkto vartotojams ir ką uždrausti. Kai jau turite tam tikrą aprašymą savo rankose, turite jį uždėti ant esamų licencijų ir pasirinkti tą, kuriame sutampa didžiausias taškų skaičius. Skamba, žinoma, paprastai, bet iš tikrųjų, dažniausiai net ir po diskusijos, klausimų lieka.
Pirma, nuoroda į selectalicense.com, naudinga svetainė, kurią daug naudojome. Atkreipkite ypatingą dėmesį į palyginimo lentelė licencijas pagal 13 pagrindinių kriterijų. Tegul anglų kalba ir kantrybė būna su jumis.
Pasirinkti miltai
Pradėkime nuo bendrųjų licencijų charakteristikų nemokama programinė įranga. Atvirojo kodo programinė įranga reiškia išskirtinai nemokamą licenciją, kuri neriboja komercinio ir nekomercinio platinimo pagal modelį. Atidarykite „Core“.. Atitinkamai, programinės įrangos įtraukimas į tinklą pagal nemokamą licenciją negali visiškai apriboti jos perdavimo, platinimo ir pardavimo trečiosioms šalims, ir jūs tiesiog turite būti tam protiškai pasiruošę.
Nemokama licencija suteikia vartotojui teisę dalyvauti programinės įrangos atvirkštinėje inžinerijoje arba keisti ją kitais prieinamais būdais. Dauguma licencijų neleidžia pervardyti gaminio ar atlikti su juo jokių manipuliacijų, keičiant sistemos autoriaus ir/ar savininko teises.
Pagrindiniai klausimai, kurie mus domino apie nemokamas licencijas:
Ar programinės įrangos pakeitimai turi būti registruojami ir neturi nieko bendro su sistemos autorių teisių turėtoju?
Ar išvestinės programinės įrangos pavadinimas neturi būti toks pat kaip autorių teisių turėtojo programinės įrangos pavadinimas?
Ar galima pakeisti bet kurios naujos versijos licenciją į kitą, įskaitant patentuotą?
Atidžiai peržiūrėję dažniausiai naudojamų licencijų sąrašą, pasirinkome keletą, kurias išnagrinėjome išsamiau. Galimos licencijos IONDV. Sistema buvo: GNU GPLv3, Apache 2.0, MIT ir MPL. MIT beveik iš karto pašalinta, tai yra leistina nekopijuojama licencija, leidžianti beveik bet kokiu būdu naudoti, keisti ir platinti kodą, tačiau mūsų tokia galimybė nebuvo patenkinta, vis tiek norėjome, kad licencija reguliuotų santykį tarp autorių teisių. turėtojas ir vartotojas. Dauguma mažesnių „GitHub“ projektų skelbiami pagal MIT licenciją arba įvairius jos variantus. Pati licencija yra labai trumpa, o vieninteliai draudimai yra nurodyti programinės įrangos kūrėjo autorystę.
Toliau buvo licencija MPl 2.0. Tiesa, atėjome ne iš karto, bet išstudijavę išsamiau, greitai jį atmetėme, nes pagrindinis trūkumas yra tas, kad licencija galioja ne visam projektui, o atskiriems failams. Be to, jei vartotojas pakeičia failą, jis negali pakeisti licencijos. Tiesą sakant, kad ir kaip uoliai keistumėte atvirojo kodo projektą, dėl tokios licencijos niekada negalėsite iš jo užsidirbti pinigų. Beje, tai nėra susiję su autorių teisių turėtoju.
Panaši problema išlieka ir su licencija GNU GPLv3. Tai reikalauja, kad bet koks failas liktų po juo. GNU GPL yra kopijavimo licencija, kuri reikalauja, kad išvestiniai darbai būtų atvirojo kodo ir liktų pagal tą pačią licenciją. Tai yra: perrašę dvi kodo eilutes, būsite priversti atlikti pakeitimus ir tolesnio naudojimo ar platinimo metu išsaugoti kodą GNU GPL. Šiuo atveju tai yra ribojantis veiksnys mūsų projekto vartotojui, o ne mums. Tačiau keisti GPL į bet kokią kitą licenciją draudžiama, net ir GPL versijose. Pavyzdžiui, jei pasikeičiate LGPL (GPL priedas) prie GPL, tada nebebus kelio atgal į LGPL. Ir šis punktas buvo lemiamas balsuojant prieš.
Apskritai, mūsų pasirinkimas iš pradžių buvo linkęs GPL3 būtent dėl modifikuoto kodo platinimo pagal tą pačią licenciją. Manėme, kad tokiu būdu galime apsaugoti savo produktą, tačiau „Apache 2.0“ matėme mažiau rizikos. Pagal Free Software Foundation, GPLv3 yra suderinamas su Apache License v2.0, tai reiškia, kad visada galima pakeisti licenciją iš Apache License v2.0 į GPL v3.0.
Apache 2.0
Apache 2.0 — subalansuota leistina licencija, pabrėžianti autorių teises. Štai jos atsakymai į mus dominančius klausimus. Ar programinės įrangos pakeitimai turi būti registruojami ir neturi nieko bendro su sistemos autorių teisių turėtoju? Taip, visi pakeitimai turi būti dokumentuojami ir mes neatsakome už pradinį ar pakeistą kodą. Failas su pakeitimais turi būti pridėtas prie kodo, kuriame atlikote šiuos pakeitimus. Ar išvestinės programinės įrangos pavadinimas neturi būti toks pat kaip autorių teisių turėtojo programinės įrangos pavadinimas? Taip, išvestinė programinė įranga turėtų būti išleista kitu pavadinimu ir kitu prekės ženklu, tačiau nurodant autorių teisių turėtoją. Ar galima pakeisti bet kurios naujos versijos licenciją į kitą, įskaitant patentuotą? Taip, jis gali būti išleistas pagal skirtingas licencijas, Apache 2.0 neriboja jokių nekomercinių ir komercinių licencijų.
Be to, išleidžiant naujus produktus, pagrįstus atvirojo kodo Apache 2.0 arba produktus su papildomomis funkcijomis, nebūtina naudoti tos pačios licencijos. Žemiau galite pamatyti vaizdą su Apache 2.0 licencijos sąlygomis ir apribojimais.
Licencija nustato reikalavimą išsaugoti ir paminėti autorių teises bei licenciją, pagal kurią programinė įranga išleidžiama. Privalomas prieinamumas autorių teisių pranešimas su autorių teisių turėtojo vardu ir licencija saugo pirminio programinės įrangos autoriaus teises, nes net ir pervadinus, atiduodant ar pardavus pagal kitą licenciją, autoriaus ženklas vis tiek išliks. Tam taip pat galite naudoti failą PASTABA ir pridėkite jį prie šaltinio kodo arba projekto dokumentacijos.
Išleidžiame visus savo produktus, viešai prieinamus GitHub pagal Apache 2.0 licenciją, išskyrus IONDV. Karo archyvas, kurio šaltinio kodą pagal GPLv3 licenciją GitHub platformoje šių metų balandį paskelbė Tolimųjų Rytų socialinių technologijų centras. Šiuo metu, be sistema ir moduliai paskelbta programos pagamintas ant karkaso. Apie centrą, apie kurį jau kalbėjome Projektų valdymo sistema ir apie Ryšių registras.
Tie. išsami informacija apie sistemą
IONDV. Framework yra atvirojo kodo sistema, pagrįsta node.js, skirta kurti aukšto lygio žiniatinklio programas pagal metaduomenis, kuriai nereikia rimtų programavimo įgūdžių.
Programėlės funkcionalumo pagrindas yra duomenų registras – Registro modulis. Tai pagrindinis modulis, sukurtas tiesiogiai dirbti su duomenimis, pagrįstais metaduomenų struktūromis, įskaitant projektų, programų, renginių ir tt valdymą. Projekte taip pat naudojamas portalo modulis, skirtas savavališkiems duomenų šablonams rodyti - jis įgyvendina archyvo priekinį registrą.
MongoDb naudojamas DBVS – joje saugomi programos nustatymai, metaduomenys ir patys duomenys.
Kaip pateikti licenciją savo projektui?
Pridėti failą LICENCIJA su licencijos tekstu jūsų projekto saugykloje ir voilà, projektas, apsaugotas Apache 2.0. Reikia nurodyti autorių teisių turėtoją, viskas autorių teisių įspėjimas. Tai galima padaryti šaltinio kode arba faile PASTABA (tekstinis failas, kuriame išvardytos visos bibliotekos, licencijuotos pagal Apache licenciją, ir jų kūrėjų vardai). Įdėkite patį failą į šaltinio kodą arba į dokumentaciją, platinamą kartu su darbu. Pas mus tai atrodo taip:
„Licencija“ reiškia naudojimo, atgaminimo,
ir platinimas, kaip apibrėžta šio dokumento 1–9 skirsniuose.
„Licencijos davėjas“ reiškia autorių teisių savininką arba įgaliotą subjektą
autorių teisių savininkas, suteikiantis licenciją.
„Juridinis asmuo“ reiškia veikiančio subjekto ir visų kitų sąjungą
kiti subjektai, kurie kontroliuoja, yra kontroliuojami ar yra bendri
kontroliuoti su tuo subjektu. Taikant šį apibrėžimą,
„kontrolė“ reiškia i) tiesioginę ar netiesioginę galią sukelti
- tokio subjekto vadovavimas ar valdymas sutartimi ar
kitaip, arba ii) penkiasdešimt procentų (50%) ar daugiau nuosavybės teisių į
neapmokėtų akcijų arba (iii) tokio ūkio faktinio savininko.
„Jūs“ (arba „Jūsų“) reiškia fizinį arba juridinį asmenį
naudotis šios licencijos suteiktais leidimais.
„Šaltinio“ forma – tai pageidaujama pakeitimų forma,
įskaitant, bet neapsiribojant, programinės įrangos šaltinio kodą, dokumentus
šaltinio ir konfigūracijos failus.
„Objekto“ forma reiškia bet kokią formą, gautą mechaniniu būdu
šaltinio formos transformavimas ar vertimas, įskaitant bet
neapsiriboja sukompiliuotu objekto kodu, sugeneruota
ir konversijos į kitus medijos tipus.
„Kūrinys“ reiškia autorinį kūrinį, nesvarbu, ar jis yra Šaltinis, arba
Objekto forma, prieinama pagal licenciją, kaip nurodyta a
autorių teisių pranešimas, kuris įtrauktas į kūrinį arba pridėtas prie jo
(pavyzdys pateiktas toliau esančiame priede).
„Išvestiniai kūriniai“ reiškia bet kokį šaltinio ar objekto kūrinį
forma, kuri yra paremta Kūriniu (arba yra kilusi iš jo) ir kuriai
redakciniai pakeitimai, anotacijos, detalės ar kitos modifikacijos
atstovauti kaip originalų autorinį kūrinį. Tikslais
šios licencijos išvestiniai darbai neapima likusių darbų
arba atskirai susieti (arba susieti pavadinimu) su sąsajomis,
kūrinį ir jo išvestinius kūrinius.
„Indėlis“ reiškia bet kokį autorinį kūrinį, įskaitant
originali kūrinio versija ir visi pakeitimai ar papildymai
tam kūriniui ar jo išvestiniams kūriniams, ty tyčia
pateikė licencijos davėjui įtraukti į kūrinį autorių teisių savininkas
arba fizinis ar juridinis asmuo, įgaliotas pateikti vardu
autorių teisių savininkas. Šiame apibrėžime „pateikta“
reiškia bet kokią elektroninio, žodinio ar rašytinio pranešimo formą
Licenciatui ar jo atstovams, įskaitant, bet neapsiribojant
ryšiai elektroniniuose adresų sąrašuose, pirminio kodo valdymo sistemose,
ir išduoda stebėjimo sistemas, kurias valdo
Licenciatorius Darbo aptarimui ir tobulinimui, tačiau
išskyrus pastebimai pažymėtą ar kitokį bendravimą
autorių teisių savininkas raštu nurodė kaip „Ne indėlis“.
„Pagalbininkas“ reiškia Licencijos išdavėją ir bet kurį fizinį ar juridinį asmenį
kurio vardu licencijos davėjas gavo įnašą ir
vėliau įtrauktas į Kūrinį.
Autorių teisių licencijos suteikimas. Atsižvelgiant į terminus ir sąlygas
šią Licenciją kiekvienas pagalbininkas suteikia jums amžiną,
visame pasaulyje, neišskirtinis, nemokamas, neatlyginamas, neatšaukiamas
autorių teisių licencija atgaminti, parengti išvestinius kūrinius,
viešai rodyti, viešai atlikti, sublicencijuoti ir platinti
Kūrinys ir tokie išvestiniai darbai šaltinio arba objekto pavidalu.
Patento licencijos išdavimas. Atsižvelgiant į taisykles ir sąlygas
šią Licenciją kiekvienas pagalbininkas suteikia jums amžiną,
visame pasaulyje, neišskirtinis, nemokamas, neatlyginamas, neatšaukiamas
(išskyrus šiame skyriuje nurodytus atvejus) patento licenciją gaminti, pagaminti,
naudoti, siūlyti parduoti, parduoti, importuoti ir kitaip perduoti Kūrinį,
kai tokia licencija taikoma tik tiems patento reikalavimams, kuriuos galima licencijuoti
tokių bendraautorių, kuriuos būtinai pažeidžia jų dalyviai
Įnašas (-ai) atskirai arba kartu su jų indėliu (-ais)
su darbu, kuriam buvo pateiktas toks (-i) darbas (-ai). Jei tu
iškelti bylas dėl patentų bet kuriam subjektui (įskaitant a
priešpriešinis ieškinys ar priešieškinis ieškinyje), kuriame teigiama, kad Darbas
arba į darbą įtrauktas darbas yra tiesioginis
patento pažeidimas, tada visos patento licencijos
pagal šią licenciją už tą darbą suteikta jums nebegalios
nuo tokio ieškinio pateikimo dienos.
Perskirstymas. Galite atgaminti ir platinti kopijas
Kūrinys ar jo dariniai bet kokioje laikmenoje, su arba be
modifikacijos ir šaltinio ar objekto forma, su sąlyga, kad jūs
atitinka šias sąlygas:
(a) Privalote atiduoti kitiems Darbo gavėjams arba
Išvestiniai darbai - šios licencijos kopija; ir
(b) Turite užtikrinti, kad ant bet kokių pakeistų failų būtų aiškiai matomi pranešimai
nurodant, kad pakeitėte failus; ir
(d) Jei į darbą įtrauktas „PRANEŠIMO“ tekstinis failas
platinimo, tada visi išvestiniai darbai, kuriuos platinate, privalo
įtraukti skaitomą priskyrimo pranešimų kopiją
tokiame PRANEŠIMO faile, išskyrus tuos pranešimus, kurie to nedaro
susiję su bet kuria išvestinių kūrinių dalimi, bent viename
iš šių vietų: išplatintame PRANEŠIMO tekstiniame faile
kaip išvestinių darbų dalis; šaltinio formoje arba
dokumentai, jei jie pateikiami kartu su išvestiniais darbais; arba
išvestinių darbų sugeneruotame ekrane, jei ir
visur, kur paprastai pasirodo tokie trečiųjų šalių pranešimai. Turinys
PRANEŠIMO failo yra tik informacinio pobūdžio ir
nekeiskite licencijos. Galite pridėti savo priskyrimą
išvestinių kūrinių pranešimai, kuriuos jūs platinate kartu
arba kaip pateiktą PRANEŠIMO teksto iš Darbo priedą
kad tokių papildomų priskyrimo pranešimų negalima suprasti
kaip pakeisti licenciją.
Galite pridėti savo autorių teisių pareiškimą prie savo modifikacijų ir
gali pateikti papildomas ar skirtingas licencijos sąlygas
jūsų modifikacijų naudojimui, atkūrimui ar platinimui, arba
bet kokiems tokiems išvestiniams kūriniams kaip visumai, jei tik jūs naudojate,
kūrinio atgaminimas ir platinimas atitinka kitaip
šioje licencijoje nurodytomis sąlygomis.
Įnašų pateikimas. Jei aiškiai nenurodysite kitaip,
bet kokį Įnašą, sąmoningai pateiktą įtraukti į Kūrinį
licencijos davėjui, laikykitės
šią licenciją be jokių papildomų sąlygų ar sąlygų.
Nepaisant to, kas išdėstyta pirmiau, niekas čia nepakeis ar nepakeis
bet kurios atskiros licencinės sutarties, kurią galbūt įvykdėte, sąlygos
su Licenciaru dėl tokių įmokų.
Prekių ženklai. Ši Licencija nesuteikia leidimo naudotis prekyba
licencijos davėjo vardai, prekių ženklai, paslaugų ženklai ar produktų pavadinimai,
išskyrus tuos atvejus, kai tai reikalinga pagrįstam ir įprastam naudojimui apibūdinant
Kūrinio kilmė ir PRANEŠIMO failo turinio atkūrimas.
Garantijos atsisakymas. Nebent to reikalauja taikomi teisės aktai arba
raštu sutikta, Licenciatorius pateikia Darbą (ir kiekvieną
Bendraautoris pateikia savo indėlį) „TOK, KOKIA YRA“,
BE JOKIOS RŪŠIES GARANTIJOS AR SĄLYGOS, išreikštos arba
netiesiogiai, įskaitant bet kokias garantijas ar sąlygas
PAVADINIMO, PAŽEIDIMŲ NEPAŽEIDIMO, PREKYBININKO ARBA TINKAMUMO A
KONKRETUS TIKSLAS. Tik jūs esate atsakingas už
tinkamumas naudoti ar perskirstyti Kūrinį ir prisiimti bet kokį
rizika, susijusi su jūsų teisių naudojimu pagal šią licenciją.
Atsakomybės apribojimas. Jokiu būdu ir pagal jokią teisės teoriją,
nesvarbu, ar tai yra deliktas (įskaitant aplaidumą), sutartis ar kita,
nebent to reikalauja galiojantis įstatymas (pvz., apgalvotas ir grubus
aplaidus poelgis) ar raštiškai susitarta, turi būti bet kuris pagalbininkas
atsako už žalą, įskaitant bet kokią tiesioginę, netiesioginę, specialią,
atsitiktinė ar pasekminė bet kokio pobūdžio žala, atsirandanti dėl a
dėl šios licencijos arba dėl naudojimo ar nesugebėjimo naudotis
Darbas (įskaitant, bet neapsiribojant, nuostolius už prestižo praradimą,
darbo sustabdymas, kompiuterio gedimas ar gedimas ar bet kas
kita komercinė žala ar nuostoliai), net jei toks Autorius
buvo pranešta apie tokios žalos galimybę.
Garantijos arba papildomos atsakomybės priėmimas. Perskirstant
kūrinį ar jo išvestinius kūrinius, galite pasirinkti pasiūlyti,
ir imkite mokestį už palaikymo priėmimą, garantiją, kompensaciją,
ar kitas su tuo susijusias atsakomybės prievoles ir (arba) teises
Licencija. Tačiau prisiimdami tokius įsipareigojimus galite elgtis tik jūs
savo vardu ir savo atsakomybe, o ne vardu
bet kurio kito Pagalbininko ir tik tuo atveju, jei sutinkate atlyginti žalą,
ginti ir laikyti kiekvieną bendradarbį nekenksmingu už bet kokią atsakomybę
patirtos tokio pretenzijos ar pareikštos pretenzijos dėl priežasties
prisiimate bet kokią tokią garantiją ar papildomą atsakomybę.
PABAIGA SĄLYGOS
PRIEDAS: Kaip pritaikyti „Apache“ licenciją savo darbui.
Norėdami savo darbui pritaikyti „Apache“ licenciją, pridėkite toliau pateiktą informaciją
įspėjimas apie pagrindinę plokštelę su laukeliais, esančiais skliausteliuose „[]“
pakeista jūsų identifikavimo informacija. (Neįtraukite
skliausteliuose!) Tekstas turėtų būti įterptas į atitinkamą
failo formato komentaro sintaksė. Taip pat rekomenduojame a
failo arba klasės pavadinimas ir tikslo aprašymas turi būti įtraukti į
tas pats „spausdintas puslapis“ kaip ir pranešimas apie autorių teises, kad būtų lengviau
identifikavimas trečiųjų šalių archyvuose.
Autorių teisės [yyyy] [autorių teisių savininko vardas]
Licencijuota pagal „Apache“ licenciją, 2.0 versiją („Licencija“);
Jūs negalite naudoti šio failo, išskyrus Licencijos reikalavimus.
Licencijos kopiją galite gauti adresu
Programinė įranga, išskyrus atvejus, kai to reikalauja taikomi įstatymai arba nesusitariama raštu
platinamas pagal Licenciją, yra platinamas „TOK, KOKIA YRA“,
BE GARANTIJŲ AR JOKIOS RŪŠIES SĄLYGŲ, tiesiogiai ar numanomai.
Norėdami sužinoti, kokia kalba kalbama apie leidimus, žr. Licenciją
apribojimai pagal licenciją.
Licencija = sutartis
Nemokama licencija, nors ir nemokama, neleidžia leistinumo ir jau pateikėme apribojimų pavyzdžių. Licenciją rinkitės atsižvelgdami ir į savo, ir į vartotojo interesus, nes atvirojo kodo programinė įranga sukurta būtent jam. Projekto vartotojas licenciją turėtų suvokti kaip savotišką susitarimą tarp jo ir autorių teisių turėtojo, todėl prieš atlikdamas bet kokius veiksmus su šaltinio kodu atidžiai išstudijuokite apribojimus, kuriuos jums nustato projekto licencija.
Tikimės, kad šiek tiek nušvietėme licencijų temą ir, nepaisant problemos sudėtingumo, tai neturėtų tapti kliūtimi jūsų kelyje į atvirąjį kodą. Plėtokite savo projektą ir nepamirškite apie savo ir kitų teises.
Naudingos nuorodos
Galiausiai, keletas naudingų išteklių, kurie padėjo mums ieškant informacijos apie esamas licencijas ir pasirenkant tinkamiausią mūsų tikslams: