Selles artiklis rÀÀgime natuke autoriÔigusest, kuid peamiselt vaba litsentsi valimisest RAD raamistikule ja avatud lÀhtekoodiga toodetele selle pÔhjal. RÀÀgime lubava litsentsi valikust Apache 2.0, sellest, mis viis meid selleni ja milliste lahendustega me protsessi kÀigus silmitsi seisime.
Litsentsi valimise protsess on ĂŒsna aeganĂ”udev ja sellega tuleks lĂ€heneda juba piisavalt haritult. Kui te ei ole Ă”nnelik juristi, avaneb teie ees tohutu teave erinevate vabade litsentside kohta. Peamine, mida tuleks teha, on koostada rida piiravaid kriteeriume. Arutelu ja mĂ”istmise kĂ€igus saate meeskonnaga aru, mida soovite oma toote kasutajatele lubada ja mida keelata. Kui teil on olemas mingi kirjeldus, tuleb see rakendada olemasolevatele litsentsidele ja vĂ€lja valida see, millel on kĂ”ige rohkem vastavusi. See kĂ”lab kindlasti lihtsalt, kuid tegelikult jÀÀb pĂ€rast arutelu tihti veel kĂŒsimusi.

Esiteks â link , kasulik veebisait, mida me aktiivselt kasutasime. Eriti tasub tĂ€hele panna litsentside kohta 13 peamise kriteeriumi alusel. Olgu koos teiega inglise keel ja kannatlikkus.
Valikute vaev
Alustame litsentside ĂŒldiste omadustega . AV viitab eranditult vabale litsentsile, mis ei piira kaubanduslikku ja mittekaubanduslikku levitamist mudeli alusel . Vastavalt, kui avalikustatakse vabalt litsentseeritud tarkvara, ei saa selle edastamist, levitamist ja mĂŒĂŒki kolmandatele osapooltele tĂ€ielikult piirata ning selleks tuleb vaid moraalselt ette valmistuda.
Vaba litsents annab kasutajale Ă”iguse osaleda tarkvara tagasiarenduses vĂ”i selle muutmises muude saadaval olevate viiside kaudu. Enamik litsentse ei luba toote ĂŒmbernimetamist ega mingite manipulatsioonide tegemist, muutes autori vĂ”i sĂŒsteemi omandiĂ”igust.
Meid huvitavad peamised kĂŒsimused vabade litsentside kohta olid:
- Tarkvaras tehtud muudatused peavad olema registreeritud ega oma mingit seost sĂŒsteemi Ă”iguste omajaga?
- Tuletav tarkvara nimi ei tohi olla sama nagu omanikutarkvara nimi?
- Kas litsentsi saab muuta uute versioonide jaoks teiseks, sealhulgas Àriliseks?
Uhkelt vaadates kĂ”ige levinumaid litsentse, valisime vĂ€lja mitmeid, mida kĂ€sitlesime pĂ”hjalikumalt. Potentsiaalsed litsentsid olid: GNU GPLv3, Apache 2.0, MIT ja MPL. MIT vĂ€ljasaatmine on praktiliselt kohe vĂ€listatud, kuna see on lubav mitte-kopilehtlik litsents, mis lubab koodi kasutamist, muutmist ja jagamist praktiliselt piiramatu vabadusega, kuid meid selline variant ei rahuldanud, me soovisime, et litsents reguleeriks omaniku ja kasutaja vahelist suhet. Enamik vĂ€iksemaid projekte GitHubis on just MIT litsentsi vĂ”i selle erinevate variatsioonide all. Litsents ise on vĂ€ga lĂŒhike ja keelud on ainult autoriĂ”iguse mĂ€rkamine tarkvara loojalt.
JĂ€rgmiseks oli litsents MPL 2.0. Tuleb tunnistada, et me ei jĂ”udnud sellele kohe, kuid pĂ”hjalikult uurides kĂ”rvaldada kiiresti selle, kuna peamine puudus on see, et litsents kehtib mitte kogu projekti jaoks, vaid ainult eraldi failide jaoks. Lisaks, kui kasutaja fail muudab, siis ta ei saa litsentsi muuta. Tegelikult, kui palju iganes sa ei pĂŒĂŒaks avatud lĂ€htekoodiga projekti muuta, ei suuda sa seda sellise litsentsi tĂ”ttu monetiseerida. See ei puuduta muide Ă”iguste omajat.
Sama probleem on ka litsentsil GNU GPLv3. See nĂ”uab, et iga fail jÀÀks sellele litsentsile. GNU GPL on copy-left litsents, mis nĂ”uab, et tuumikoodi tuletatud tööde jaoks oleks avatud ja jÀÀks sarnase litsentsi alla. See tĂ€hendab: kui sa kirjutad kaks koodirea ĂŒle, siis pead oma muudatused fikseerima ja edasise kasutamise vĂ”i jaotamise korral hoidma koodi GNU GPL all. Sel juhul on see piirav tegur meie projekti kasutaja jaoks, mitte meie jaoks. Kuid GPL-i muutmine mis tahes teiseks litsentsiks on keelatud, isegi GPL versioonide vahel. NĂ€iteks, kui vahetada LGPL (GPL-i peal) GPL-i pealt tagasi LGPL-i minna ei Ă”nnestu. See punkt oli hÀÀletamise kĂ€igus otsustav.
Ăldiselt kaldus meie valik algselt GPL3 just modifitseeritud koodi jagamise tĂ”ttu sama litsentsi all. Arvasime, et see vĂ”iks meie toodet kaitsta, kuid leidsime, et Apache 2.0 kannab vĂ€hem riske. Free Software Foundationi jĂ€rgi on GPLv3 ĂŒhilduv Apache License v2.0-ga, mis tĂ€hendab, et litsentsi saab alati vahetada Apache License v2.0 pealt GPL v3.0-le.
Apache 2.0
â tasakaalustatud litsents, mille fookus on autoriĂ”igustel. Siin on vastused meie jaoks huvipakkuvatele kĂŒsimustele. Tarkvaras tehtud muudatused peavad olema dokumenteeritud ega paku mingit seost sĂŒsteemi Ă”iguste omanikuga? Jah, kĂ”ik muudatused peavad olema fikseeritud, ja me ei vastuta ei algse koodi ega muudatuste eest. Muudatused dokumenteem peab olema kaasas koos koodiga, kuhu te need muudatused tegite. Tuletatud tarkvara nimi ei tohi olla sama nagu Ă”iguste omaniku tarkvara nimi? Jah, tuletatud tarkvara peab olema vĂ€lja antud teise nime ja kaubamĂ€rgi all, kuid Ă”iguste omaniku autorluse tunnustamisega. Kas on vĂ”imalik muuta litsentsi kĂ”ikide uute versioonide puhul teiseks, sealhulgas ka omandiĂ”igusega? Jah, erinevaid litsentse vĂ”ib vĂ€lja anda, Apache 2.0 ei piira mittekommertslike ja kommertslike litsentside kasutamist.
Uute toodete vÀljaandmine, mis pÔhinevad Apache 2.0 all avatud koodil vÔi tÀiendavate funktsionaalsustega toodetel, ei tÀhenda, et sama litsentsi kasutamine oleks kohustuslik. Allpool on nÀha pilt Apache 2.0 litsentsi tingimustest ja piirangutest.

Litsents nĂ”uab autoriĂ”iguste ja litsentsi sĂ€ilitamist ning mainimist, mille alusel tarkvara vabastatakse. Kohustuslik olemasolu. autoriĂ”iguse teade autori ja litsentsi nimi kaitseb tarkvara algse looja Ă”igusi, kuna isegi kui see nimetatakse ĂŒmber, antakse vĂ”i mĂŒĂŒakse teise litsentsi alusel, jÀÀb autori mĂ€rk siiski alles. Selleks saab kasutada ka faili NOTICE ning lisada selle kas lĂ€htekoodi vĂ”i projekti dokumentatsiooni.
Me avaldame kÔik oma tooted GitHubis avatud juurdepÀÀsuga litsentsi Apache 2.0 all, vÀlja arvatud , mille lÀhtekood avaldati aprillis sellel aastal litsentsi GPLv3 all GitHubis Kaug-Ida sotsiaalsete tehnoloogiate keskuse poolt. Praegu on lisaks sellele ja selle avaldatud mis on loodud raamistiku pÔhjal. Habré oleme juba rÀÀkinud ja .
Tehnilised detailid raamistiku
IONDV. Framework â avatud lĂ€htekoodiga raamistiku node.js andmete pĂ”hjal kĂ”rgetasemeliste veebirakenduste loomiseks, mis ei nĂ”ua tĂ”siseid programmeerimisoskusi.
Rakenduse funktsionaalsuse aluseks on andmeregister â Moodul Registri. See on vĂ”tmemoodul, mis on mÀÀratud andmete töötlemiseks metandmete struktuuride pĂ”hjal â sealhulgas projektide, programmide, ĂŒrituste ja muude juhtimise jaoks. Samuti kasutatakse projektis portaali moodulit, et kuvada erinevaid andmete malli â seal on ellu viidud arhiivikogude registri esikĂŒlg.
Andmebaasi haldamiseks kasutatakse MongoDb â seal hoitakse rakenduse seadeid, metandmeid ja tegelikke andmeid.
Kuidas rakendada litsents oma projektile?
Lisage fail LICENSE litsentsitekstiga oma projekti repo ja voilà , projekt on kaitstud Apache 2.0 all. Peate mÀÀrama Ôiguste omaniku, see ongi autoriÔiguse teade. Seda saab teha kas lÀhtekoodis vÔi failis NOTICE (teksti fail, mis loetleb kÔik Apache litsentsi all litsentseeritud raamatukogud koos nende autorite nimedega). Fail asetada kas lÀhtekoodi vÔi dokumentatsioonisse, mis levib koos tööga. Meie puhul nÀeb see vÀlja nii:
Copyright © 2018 Oà «ION DV».
Litsentseeritud Apache litsentsi, versioon 2.0 alusel
Apache litsentsi tekst 2.0
Apache litsents
Versioon 2.0, jaanuar 2004
KASUTAMISE, REPRODUKTSIOONI JA JAOTAMISE TINGIMUSED
MÔisted.
«Litsents» tÀhendab kasutamise, reprodutseerimise ja levitamise tingimusi,
nagu on defineeritud selle dokumendi lÔike 1 kuni 9.«Litsentsija» tÀhendab autoriÔiguse omaniku vÔi autoriseeritud
ĂŒksuse, kes annab litsentsi.«Juriidiline isik» tĂ€hendab tegutseva isiku ja kĂ”igi
muude isikute kooslust, kes kontrollivad, on kontrolli all vÔi on
ĂŒhe ja sama kontrolli all selle isikuga. Selle mÀÀratlemise eesmĂ€rgil
«kontroll» tÀhendab (i) vÔimet, otseselt vÔi kaudselt, suunata
sellise isiku tegevust, kas lepingulise vĂ”i muu viisi kaudu, vĂ”i (ii) omamine viiskĂŒmmend protsenti (50%) vĂ”i rohkem
vÀlja antud aktsiatest, vÔi (iii) sellise isiku kasulik omandus.
«Teie» (vÔi «Teie kasutaja») tÀhendab isikut vÔi juriidilist isikut,kes kasutab selle litsentsi kohaselt antud Ôigusi.
«Allikas» vorm tÀhendab eelistatud vormi muudatuste tegemiseks,sealhulgas, kuid mitte piiratud, tarkvara allikakood, dokumentatsiooni
allikas ja konfiguratsioonifailid.
«Objekt» vorm tÀhendab mistahes vormi, mis on saadud mehaanilisestmuundamisest vÔi tÔlkimisest allika vormist, sealhulgas, kuid
mitte piiratud, kompileeritud objektikood, genereeritud dokumentatsioon
ja konversioonid teistele meedia tĂŒĂŒpidele.
«Töö» tÀhendab autoritööd, olenemata sellest, kas see on allika vÔiobjektivormis, mis on litsentsi alusel kergesti kÀttesaadav, nagu on nÀidatud
autoriÔiguse teatises, mis on tööga kaasas (nÀide on toodud allolevas lisas).
«Tuletatud teosed» tÀhendavad mistahes tööd, olenemata sellest, kas see on allika vÔi objekti
vormis, mis pÔhineb (vÔi tuleneb) tööst ja mille toimetuslikud muudatused, annotatsioonid, tÀiendused vÔi muud muudatusedesindavad tervikuna originaalset autoritööd. Selle litsentsi eesmÀrgil
tuletatud teosed ei sisalda teoseid, mis jÀÀvad
lahutatavaks vÔi lihtsalt lingivad (vÔi seovad nime kaudu) teose ja tema tuletatud teoste
liideste juurde.
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.«Panus» tÀhendab mis tahes autoriteost, sealhulgas
töö originaalversiooni ja kÔik muudatused vÔi tÀiendused
sellele tööle vÔi tuletatud töödele, mis on teadlikult
esitatud litsentsipidajale lisamiseks töö osana autoriÔiguse omanik
vÔi isiku vÔi juriidilise isiku poolt, kellel on Ôigus esitada
autoriÔiguse omaniku nimel. KÀesoleva mÀÀra jaoks tÀhendab «esitamine»
mis tahes elektroonilist, suulist vÔi kirjalikku sidekorraldust, mis saadetakse
litsentsipidajale vÔi tema esindajatele, sealhulgas, kuid mitte piirduvalt
edastusega elektroonilistes postilistes nimekirjades, lĂ€htekoodide haldussĂŒsteemides,
ja probleemide jĂ€lgimise sĂŒsteemides, mida haldab vĂ”i mille nimel
litsentsipidaja arutamiseks ja töö tÀiustamiseks, kuid
vÀlja arvatud suhtlemine, mis on silmatorkavalt mÀrgitud vÔi muul viisil
autoriÔiguse omaniku poolt kirjalikult mÀÀratletud kui «Ei ole panus».«Panustaja» tÀhendab litsentsipidajat ja mis tahes isikut vÔi juriidilist isikut,
kelle nimel on litsentsipidaja saanud panuse ja
hiljem töö osaks lisanud.AutoriÔiguse litsentsi andmine. KÀesoleva litsentsi tingimuste jÀrgi annab iga panustaja
teile alatiseks, globaalselt, mitteeksklusiivse, tasuta, litsentsivabalt, irrevokatiivse
autoriÔiguse litsentsi taastada, valmistada tuletatud töid,
avalikult kuvada, avalikult esitada, all-litsentseerida ja levitada
tööd ja selliseid tuletatud teoseid lÀhte- vÔi objekti vormis.
Patendi litsentsi andmine. KÀesoleva litsentsi tingimuste kohaselt(vÀlja arvatud kÀesolevas jaos) patendi litsents teha, lasta teha,
teile alatiseks, globaalselt, mitteeksklusiivse, tasuta, litsentsivabalt, irrevokatiivse
autoriÔiguse litsentsi taastada, valmistada tuletatud töid,
kasutada, mĂŒĂŒa, mĂŒĂŒgiks pakkuda, importida ja muul viisil ĂŒle anda tööd,
kui selline litsents kehtib ainult nende patendinÔuete puhul, mida on vÔimalik litsentseerida
sellise panustaja poolt, kes on hÀiritud ainult nende panuse tÔttu
ainult vÔi nende panuste kombinatsiooniga
tööga, millele sellised panused esitati. Kui te
algatate patendivaidluse mis tahes ĂŒksuse vastu (sealhulgas
institute patent litigation against any entity (including a
kohtutÀiendav nÔue vÔi vastune nÔue, milles vÀidetakse, et Teose
vÔi Teosele integreeritud Panus kujutab endast otsest
vÔi kaudset patendi rikkumist, siis kÔik patendi litsentsid
mis on Teile antud selle Litsentsi alusel selle Teose suhtes, lÔpevad
sellise kohtuprotsessi alguse kuupÀeva seisuga.Edastamine. Te vÔite reproduseerida ja jagada koopiaid
Teosest vÔi selle Derivaatteostest mis tahes meedias, kas
muudatustega vÔi ilma, ning Allikana vÔi Objektivormis, tingimusel et
te tÀidate jÀrgmisi tingimusi:(a) Te peate andma kÔikidele teistele Teose vÔi
Derivaatteoste saajatele koopia sellest Litsentsist; ja(b) Te peate tagama, et kÔik muudetud failid sisaldavad silmapaistvaid teateid
selle kohta, et Te olete faile muutnud; ja(c) Te peate sÀilitama igasugustes Derivaatteostes,
mida Te jagate, kÔik autoriÔiguse, patendi, kaubamÀrgi ja
viitamise teated Allika vormis Teosest,
vĂ€lja arvatud need teated, mis ei ole seotud ĂŒhegi osa
Derivaatteostest; ja(d) Kui Teos sisaldab «NOTICE» tekstifaili, mis on osa selle
edastamisest, peavad kÔik Teie jagatavad Derivaatteosed
sisaldama loetavat ko copy viitavate teadete, mis on sisalduvad
sellises NOTICE failis, vÀlja arvatud need teated, mis ei ole
seotud ĂŒhegi osa Derivaatteostest, vĂ€hemalt ĂŒhes
jÀrgnevatest kohtadest: NOTICE tekstifailis, mis on jagatud
Derivaatteoste osana; Allika vormis vÔi
dokumentatsioonis, kui see on antud koos Derivaatteostega; vÔi,
Derivaatteostest genereeritud kuvandis, kui ja
kus sellised kolmandate osapoolte teated tavaliselt ilmuvad. NOTICE
faili sisu on ainult informatiivsete eesmÀrkide jaoks ja
ei muuda Litsentsi. Te vÔite lisada oma viitamisteateid
Derivaatteostesse, mida Te jagate, koos
vÔi lisana Teose NOTICE tekstile, tingimusel
et selliseid tÀiendavaid viitamisteateid ei saa tÔlgendada
kui Litsentsi muutmine.Te vÔite lisada oma autoriÔiguse avalduse oma muudatustele ja
vÔite esitada tÀiendavaid vÔi erinevaid litsentsitingimusi
oma muudatuste kasutamiseks, reproduktsiooniks vÔi levitamiseks vÔi
kÔigi selliste tuletatud teoste puhul, kui Teie kasutamine,
reproduktsioon ja levitamine vastab muidu
selle litsentsi tingimustele.Panuste esitamine. Kui Te ei sÀtesta teisiti,
igal Teie poolt Teose hulka lisamiseks teadlikult esitatud
panusel litsentsijale on selle litsentsi tingimustel,
ilma tÀiendavate tingimuste vÔi nÔueteta.
KĂ€esolevast hoolimata ei muuda ega ĂŒletata siinsed tingimused
erinevaid litsentsilepingute tingimusi, mille olete allkirjastanud
licentsijaga seoses nende panustega.KaubamÀrgid. KÀesolev litsents ei luba kasutada kaubanduse
nimesid, kaubamÀrke, teenuse mÀrke vÔi tootemarke litsentsijalt,
vÀlja arvatud juhul, kui see on vajalik mÔistlikuks ja tavapÀraseks kasutamiseks
Teose pĂ€ritolu kirjeldamisel ja KĂESOLEVA fail sisule vastavasisu reprodutseerimisel.
Garantii kaotamine. Kui seadus ei nÔua teisiti vÔi
ei ole kokku lepitud kirjalikult, pakub litsentsija Teost (ja iga
panustaja pakub oma panuseid) «KUI ON» ALUSEL,
ILMA KINNITUSTE VĂI TINGIMUSTE NING MINGITE KINDLASTI, kas vĂ€ljendatud vĂ”i
varjatud, sealhulgas, kuid mitte piirduvalt, kÔigi garantiide vÔi tingimustega
OMAND, MITTE RIKKUMINE, KAUPTAVUS vÔi SOBIVUS TEATAVATELE
EESMĂRKIDELE. Te vastutate ĂŒksi selle eest, kas
Teose kasutamine vĂ”i ĂŒmberjaotamine on sobiv ning vĂ”tate endale kĂ”ikriskid, mis on seotud selle litsentsi alusel lubade kasutamisega.
Vastutuse piirang. Ăhelgi juhul ja ĂŒhegi Ă”igusteooria alusel,
kas tegemist on kahju (sh hooletus), lepingu vÔi muuga,
kuni seadus ei nÔua teisiti (nt tahtlikud ja ÀÀrmiselt
hooletud teod) vĂ”i ei ole kokku lepitud kirjalikult, ei tohi ĂŒkski panustaja olla
juhuslike vÔi jÀrgnevate kahjude eest, mis tulenevad sellest
litsentsist vÔi töö kasutamisest vÔi selle kasutamisest vÔi kasutamatuse tÔttu
(sealhulgas, kuid mitte ainult heade suhete,
töö seiskumise, arvuti rikke vÔi talitlushÀire vÔi kÔigi muude
kaubanduslike kahjude vÔi kaotuste jaoks), isegi kui selline panustaja
on olnud teavitatud selliste kahjude vÔimalusest.Garantii vÔi tÀiendava vastutuse vastuvÔtmine. Töö vÔi nende tuletatud tööde edastamisel
vÔite valida pakkumise,
ning tasuda tasu toetuse, garanteeringu, hĂŒvitise
vÔi muude vastutuse kohustuste ja/vÔi Ôiguste vastuvÔtmise eest, mis on kooskÔlas
selle litsentsiga. Siiski, selliste kohustuste vastuvÔtmisel vÔite tegutseda ainult
enda nimel ja oma ainuisikuliselt, mitte kellelegi teisele
panustajale, ja ainult siis, kui nĂ”ustute hĂŒvitama,
kaitsmine ning hoidma igat panustajat kahjutuks iga vastutuse
eest, mis tuleneb, vÔi nÔuetest, mis on esitatud selle panustaja vastu, seoses
teie garantii vĂ”i tĂ€iendava vastutuse vastuvĂ”tmisega.TINGIMUSTE JA OLUKORDADE LĂPP
LISA: Kuidas rakendada Apache litsentsi oma tööle.
Apache litsentsi rakendamiseks oma tööle, lisage jÀrgmine
valmis tekst, kus ruudud «[]» asendatakse teie enda identiteediandmetega. (Ărge lisage
ruute!) Tekst peaks olema ĂŒmbritsetud sobiva
kommentaari sĂŒntaksiga faili formaadi jaoks. Soovitame samuti, et
faili vÔi klassi nimi ja eesmÀrgi kirjeldus oleksid sisalduvad
samal «trĂŒkitud lehekĂŒljel» autorikaitse teatise kĂ”rvale laiemaks
tuvastamiseks kolmandate osapoolte arhiveerimises.
AutoriÔigus [aasta] [autoriÔiguse omaniku nimi]KasutuselevÔetud Apache litsentsi alusel, versioon 2.0 («Litsents»);
te ei tohi seda faili kasutada, vÀlja arvatud litsentsiga kooskÔlas.
Litsentsi koopia saamiseks kĂŒlastage
Kuni seadus seda ei nÔua vÔi kirjalikult kokku lepitakse, tarkvaraUnless required by applicable law or agreed to in writing, software
lisatud litsentsi kohaselt on see jagatud «NAGU ON» PĂHISES,
ILMA KEDAGI GARANTIIDETA VĂI TINGIMUSTEGA, olgu need siis otsesed vĂ”i kaudselt.
Vaata litsentsi konkreetse keele kohta, mille alusel antakse luba ja
piirangud litsentsi alusel.
Litsents = leping
Vaba litsents, kuigi see on vaba, ei luba piiramatusi ja oleme juba toonud nÀiteid piirangutest. Valige litsents, arvestades nii oma huvidega kui ka kasutajaga, kuna avatud tarkvara on loodud just tema jaoks. Projekti kasutaja peaks vaatama litsentsi kui omaette lepingut tema ja Ôiguste omaja vahel, seega uurige hoolikalt piiranguid, mis on teile projekti litsentsiga kehtestatud, enne kui teete mingisuguseid toiminguid lÀhtekoodiga.
Loodame, et oleme valgustanud litsentside teemat veidi ning vaatamata kĂŒsimuse keerukusele ei tohiks see takistada teid Open Source'is. Arendage oma projekti ja Ă€rge unustage oma ja teiste Ă”igusi.
Kasulikud lingid
LÔpetuseks mÔned kasulikud ressursid, mis aitasid meil teabe leidmisel olemasolevate litsentside kohta ning sobivaimate leidmisel meie eesmÀrkide jaoks:
- Ălimalt kasulik alates
Allikas: habr.com
