ProHoster > Blog > Uprava > Kako izbrati odprtokodno licenco za ogrodje RAD na GitHubu
Kako izbrati odprtokodno licenco za ogrodje RAD na GitHubu
V tem članku bomo nekaj govorili o avtorskih pravicah, predvsem pa o izbiri brezplačne licence za ogrodje RAD IONDV. Okvir in za odprtokodne izdelke, ki temeljijo na njem. Povedali vam bomo o licenci za dovoljenje Apache 2.0, o tem, kaj nas je pripeljalo do tega in s kakšnimi odločitvami smo se pri tem soočili.
Postopek izbire licence je precej delovno intenziven in se ga je treba lotiti že dobro prebranega, in če niste srečni lastnik pravne izobrazbe, se pred vami odpre nedokončano polje informacij o različnih brezplačnih licencah. Glavna stvar je sestaviti več omejevalnih meril. Skozi proces razprave in razmisleka boste vi in vaša ekipa lahko razumeli, kaj želite uporabnikom vašega izdelka omogočiti in kaj prepovedati. Ko že imate določen opis v rokah, ga morate preliti na obstoječe licence in izbrati tisto, kjer sovpada največje število točk. Sliši se seveda preprosto, a v resnici po navadi tudi po pogovoru ostanejo vprašanja.
Najprej povezava do selectalicense.com, uporabno spletno mesto, ki smo ga veliko uporabljali. Bodite posebno pozorni na primerjalno tabelo licence po 13 glavnih kriterijih. Naj vas spremljata angleščina in potrpežljivost.
Moka po izbiri
Začnimo s splošnimi značilnostmi licenc za brezplačno programsko opremo. Odprtokodna programska oprema pomeni izključno brezplačno licenco, ki ne omejuje komercialne in nekomercialne distribucije po modelu odprto jedro. Skladno s tem dajanje programske opreme v omrežje pod brezplačno licenco ne more popolnoma omejiti njenega prenosa, distribucije in prodaje s strani tretjih oseb, na to morate biti le psihično pripravljeni.
Brezplačna licenca daje uporabniku pravico do sodelovanja pri obratnem inženiringu programske opreme ali njene spremembe na druge razpoložljive načine. Večina licenc vam ne dovoljuje preimenovanja izdelka ali izvajanja kakršnih koli manipulacij z njim, spreminjanje pravic avtorja in/ali lastnika sistema.
Glavna vprašanja, ki so nas zanimala o brezplačnih licencah, so bila:
Ali naj se spremembe programske opreme zabeležijo in nimajo nobene povezave z imetnikom avtorskih pravic sistema?
Ali ne bi moralo biti ime izpeljane programske opreme enako imenu programske opreme imetnika avtorskih pravic?
Ali je mogoče spremeniti licenco za katero koli novo različico v drugo, vključno z lastniško?
Po natančnem pregledu seznama najpogostejših licenc smo jih izbrali nekaj, ki smo jih podrobneje obravnavali. Potencialne licence za IONDV. Okvir so bili: GNU GPLv3, Apache 2.0, MIT in MPL. MIT skoraj takoj izključena, gre za permisivno non-copyleft licenco, ki dovoljuje uporabo, spreminjanje in distribucijo kode na skoraj vse načine, vendar s to možnostjo nismo bili zadovoljni, še vedno smo želeli, da licenca ureja razmerje med avtorskimi pravicami imetnik in uporabnik. Večina manjših projektov na GitHubu je objavljena pod licenco MIT ali njenimi različnimi različicami. Sama licenca je zelo kratka in edina prepoved je navedba avtorstva ustvarjalca programske opreme.
Naslednja je bila licenca mpl 2.0. Resda nismo takoj prišli do tega, a smo ga po podrobnejšem preučevanju hitro izločili, saj je glavna pomanjkljivost ta, da licenca ne velja za celoten projekt, ampak za posamezne datoteke. Poleg tega, če uporabnik spremeni datoteko, ne more spremeniti licence. Pravzaprav ne glede na to, kako vestno spreminjate odprtokodni projekt, ga zaradi takšne licence nikoli ne boste mogli monetizirati. Mimogrede, to ne zadeva imetnika avtorskih pravic.
Podobna težava ostaja pri licenci GNU GPLv3. Zahteva, da vse datoteke ostanejo pod njim. GNU GPL je licenca copyleft, ki zahteva, da so izpeljana dela odprtokodna in ostanejo pod isto licenco. To pomeni: s ponovnim pisanjem dveh vrstic kode boste prisiljeni potrditi svoje spremembe in med nadaljnjo uporabo ali distribucijo shraniti kodo pod GNU GPL. V tem primeru je to omejitveni dejavnik za uporabnika našega projekta in ne za nas. Toda spreminjanje GPL v katero koli drugo licenco je prepovedano, tudi znotraj različic GPL. Na primer, če spremenite LGPL (dodatek k GPL) na GPL, potem ne bo več poti nazaj na LGPL. In ta točka je bila odločilna pri glasovanju proti.
Na splošno se je naša izbira sprva nagibala k GPL3 prav zaradi distribucije spremenjene kode pod isto licenco. Mislili smo, da bomo tako lahko zaščitili naš izdelek, vendar smo v Apache 2.0 videli manj tveganj. Glede na Free Software Foundation je GPLv3 združljiv z licenco Apache v2.0, kar pomeni, da je vedno mogoče spremeniti licenco iz licence Apache v2.0 v GPL v3.0.
Apache 2.0
Apache 2.0 — uravnoteženo permisivno dovoljenje s poudarkom na avtorskih pravicah. Tukaj je odgovorov na vprašanja, ki so nas zanimala. Ali naj se spremembe programske opreme zabeležijo in nimajo nobene povezave z imetnikom avtorskih pravic sistema? Da, vse spremembe morajo biti dokumentirane in ne odgovarjamo za izvirno ali spremenjeno kodo. Datoteka s spremembami mora biti priložena kodi, v kateri ste naredili te spremembe. Ali ne bi moralo biti ime izpeljane programske opreme enako imenu programske opreme imetnika avtorskih pravic? Da, izpeljano programsko opremo je treba izdati pod drugim imenom in pod drugo blagovno znamko, vendar z navedbo imetnika avtorskih pravic. Ali je mogoče spremeniti licenco za katero koli novo različico v drugo, vključno z lastniško? Da, izdati ga je mogoče pod različnimi licencami, Apache 2.0 ne omejuje uporabe nobenih nekomercialnih in komercialnih licenc.
Tudi pri izdaji novih izdelkov, ki temeljijo na odprtokodni kodi za Apache 2.0 ali izdelkov z dodatnimi funkcionalnostmi, ni treba uporabljati iste licence. Spodaj si lahko ogledate sliko s pogoji in omejitvami licence Apache 2.0.
Licenca nalaga zahtevo po ohranjanju in omenjanju avtorskih pravic in licence, pod katero je programska oprema izdana. Obvezna razpoložljivost obvestilo o avtorskih pravicah z imenom imetnika avtorskih pravic in licenco ščiti pravice prvotnega avtorja programske opreme, saj tudi če se preimenuje, odda ali proda pod drugo licenco, bo še vedno ostal avtorski znak. Za to lahko uporabite tudi datoteko OBVESTILO in ga priložite izvorni kodi ali projektni dokumentaciji.
Vse naše izdelke objavimo javno na voljo na GitHubu pod licenco Apache 2.0, razen IONDV. Vojni arhiv, katerega izvorno kodo je pod licenco GPLv3 na GitHubu aprila letos objavil Daljovzhodni center za socialne tehnologije. Trenutno je poleg ogrodje in modulov objavljeno aplikacije narejen na ogrodju. O vozlišču smo že govorili Sistem vodenja projektov in približno Register komunikacij.
Tisti. podrobnosti o ogrodju
IONDV. Framework je odprtokodno ogrodje, ki temelji na node.js za ustvarjanje visokonivojskih spletnih aplikacij na podlagi metapodatkov, ki ne zahteva resnega programerskega znanja.
Osnova funkcionalnosti aplikacije je register podatkov – modul Register. To je ključni modul, zasnovan neposredno za delo s podatki, ki temeljijo na metapodatkovnih strukturah – tudi za upravljanje projektov, programov, dogodkov itd. Projekt uporablja tudi portalni modul za prikaz poljubnih podatkovnih predlog – implementira arhivski prednji register.
MongoDb se uporablja za DBMS - shranjuje nastavitve aplikacije, metapodatke in same podatke.
Kako uporabiti licenco za svoj projekt?
Dodajte datoteko LICENCA z besedilom licence v repozitoriju vašega projekta in voilà, projekt, zaščiten z Apache 2.0. Navesti morate imetnika avtorskih pravic, to je to obvestilo o avtorskih pravicah. To lahko storite v izvorni kodi ali v datoteki OBVESTILO (besedilna datoteka s seznamom vseh knjižnic, licenciranih pod licenco Apache, skupaj z imeni njihovih ustvarjalcev). Samo datoteko postavite v izvorno kodo ali v dokumentacijo, ki je bila razdeljena skupaj z delom. Pri nas to izgleda takole:
"Licenca" pomeni določila in pogoje za uporabo, reprodukcijo,
in distribucijo, kot je opredeljeno v oddelkih 1 do 9 tega dokumenta.
"Dajalec licence" pomeni lastnika avtorskih pravic ali subjekt, ki ga pooblasti
lastnik avtorskih pravic, ki podeljuje licenco.
"Pravna oseba" pomeni zvezo subjekta, ki deluje in vse
drugi subjekti, ki nadzorujejo, so pod nadzorom ali so skupni
nadzor s to entiteto. Za namene te opredelitve:
"nadzor" pomeni (i) moč, neposredno ali posredno, povzročiti
vodenje ali upravljanje takega subjekta, bodisi s pogodbo ali
drugače ali (ii) lastništvo petdeset odstotkov (50%) ali več
delnice ali (iii) dejansko lastništvo takega podjetja.
»Vi« (ali »Vaš«) pomeni posameznika ali pravno osebo
izvajanje dovoljenj, ki jih daje ta licenca.
"Izvorna" oblika pomeni prednostno obliko za spreminjanje,
vključno z, vendar ne omejeno na izvorno kodo programske opreme, dokumentacijo
izvorne in konfiguracijske datoteke.
Oblika "predmeta" pomeni katero koli obliko, ki izhaja iz mehanskega
preoblikovanje ali prevod izvorne oblike, vključno z
ni omejena na prevedeno objektno kodo, ustvarjeno dokumentacijo,
in pretvorbe v druge vrste medijev.
"Delo" pomeni avtorsko delo, bodisi v viru oz
Obrazec predmeta, ki je na voljo na podlagi licence, kot je navedeno v
obvestilo o avtorskih pravicah, ki je vključeno v delo ali priloženo delu
(primer je naveden v spodnjem dodatku).
"Izpeljana dela" pomenijo katero koli delo, bodisi v viru ali predmetu
oblika, ki temelji na (ali izhaja iz) dela in za katero je
uredniške revizije, pripisi, izdelave ali druge spremembe
predstavljajo kot celoto izvirno avtorsko delo. Za namene
te licence, Izvedena dela ne vključujejo del, ki ostanejo
ločljiv od vmesnikov, ali jih zgolj povezati (ali povezati po imenu)
njihova dela in izpeljana dela.
"Prispevek" pomeni vsako avtorsko delo, vključno z
izvirna različica dela in kakršne koli spremembe ali dopolnitve
temu delu ali izpeljanim delom, to namerno
lastnik avtorskih pravic predložil dajalcu licence za vključitev v delo
ali s strani posameznika ali pravne osebe, pooblaščene za predložitev v imenu
lastnik avtorskih pravic. Za namene te opredelitve "predložen"
pomeni kakršno koli poslano elektronsko, ustno ali pisno komunikacijo
dajalcu licence ali njegovim zastopnikom, vključno, vendar ne omejeno na
komunikacija na elektronskih poštnih seznamih, nadzorni sistemi izvorne kode,
in sisteme za sledenje izdajam, ki jih upravlja ali so v njegovem imenu
Dajalec licence za razpravo in izboljšanje dela, vendar
razen komunikacije, ki je vidno označena ali kako drugače
ki ga je lastnik avtorskih pravic pisno označil kot »Ni prispevek«.
"Sodelujoči" pomeni dajalca licence in katerega koli posameznika ali pravno osebo
v imenu katerega je dajalec prejel prispevek in
pozneje vključena v Delo.
Podelitev licence za avtorske pravice. V skladu s pogoji in določili
te licence vam vsak sodelavec podeli trajno,
po vsem svetu, neizključno, brezplačno, brezplačno, nepreklicno
avtorska licenca za reprodukcijo, pripravo izpeljanih del,
javno prikazati, javno izvesti, podlicencirati in distribuirati
Delo in izpeljana dela v izvorni ali predmetni obliki.
Podelitev patentne licence. V skladu z določili in pogoji
te licence vam vsak sodelavec podeli trajno,
po vsem svetu, neizključno, brezplačno, brezplačno, nepreklicno
(razen kot je navedeno v tem oddelku) patentno dovoljenje za izdelavo,
uporabo, ponudbo za prodajo, prodajo, uvoz in drugačno prenos dela,
kadar takšna licenca velja samo za tiste patentne zahtevke, ki jih je mogoče kupiti
takšnega sodelujočega, ki je s svojim kršenjem nujno kršen
Prispevki sami ali v kombinaciji z njihovimi prispevki
z delom, za katerega je bil tak prispevek predložen. Če ti
uvesti patentni spor zoper kateri koli subjekt (vključno z a
navzkrižni zahtevek ali nasprotni zahtevek v tožbi), ki navaja, da je delo
ali Prispevek, vključen v Delo, predstavlja neposreden
kršitev patenta ali prispevkov, potem katere koli patentne licence
podeljena s to licenco za to delo preneha
od datuma vložitve take tožbe.
Prerazporeditev. Kopije lahko razmnožujete in distribuirate
Delo ali izpeljana dela v katerem koli mediju, z ali brez
sprememb in v obliki vira ali predmeta, pod pogojem, da vi
izpolnjujejo naslednje pogoje:
(a) Morate dati drugim prejemnikom Dela oz
Derivative deluje kot kopija te licence; in
(b) Poskrbeti morate, da imajo vse spremenjene datoteke vidna obvestila
navedbo, da ste spremenili datoteke; in
(d) Če delo vključuje besedilno datoteko »OBVESTILO« kot del
distribucijo, nato pa vsa izpeljana dela, ki jih distribuirate
vsebujejo berljivo kopijo vsebovanih obvestil o dodeljevanju
v taki datoteki OBVESTILO, razen tistih obvestil, ki tega ne storijo
se nanašajo na kateri koli del izpeljanih del, vsaj v enem
na naslednjih mestih: v besedilni datoteki OBVESTILO razdeljeno
kot del izpeljanih del; znotraj obrazca Vir oz
dokumentacija, če je na voljo skupaj z izvedenimi deli; ali,
znotraj prikaza, ki ga ustvarijo Izvedena dela, če in
povsod, kjer se taka obvestila tretjih oseb običajno pojavijo. Vsebina
datoteke NOTICE so zgolj informativne narave in
ne spreminjajte licence. Lahko dodate lastno pripisovanje
obvestila znotraj Izvedenih del, ki jih distribuirate
ali kot dodatek k priloženemu besedilu OBVESTILA iz dela
da takšnih dodatnih obvestil o dodeljevanju ni mogoče razlagati
kot spreminjanje licence.
Svojim spremembam lahko dodate svojo izjavo o avtorskih pravicah in
lahko zagotovi dodatne ali drugačne licenčne pogoje
za uporabo, reprodukcijo ali distribucijo vaših sprememb ali
za vsa taka izvedena dela kot celoto, pod pogojem, da uporabljate,
razmnoževanje in distribucija dela je v skladu s tem
pogoji, navedeni v tej licenci.
Predložitev prispevkov. Razen če izrecno navedete drugače,
vsak prispevek, ki je namerno predložen za vključitev v delo
od vas do dajalca licence bo pod določili in pogoji
te licence, brez kakršnih koli dodatnih pogojev.
Ne glede na zgoraj navedeno nič ne sme nadomestiti ali spremeniti
pogoje katere koli ločene licenčne pogodbe, ki ste jo morda sklenili
z dajalcem licence v zvezi s takšnimi prispevki.
Blagovne znamke. Ta licenca ne daje dovoljenja za uporabo trgovine
imena, blagovne znamke, storitvene znamke ali imena izdelkov dajalca licence,
razen kadar je to potrebno za razumno in običajno uporabo pri opisovanju
izvor dela in reprodukcija vsebine datoteke NOTICE.
Zavrnitev garancije. Razen če to zahteva veljavna zakonodaja oz
soglasje pisno daje dajalec licence delo (in vsako
Sodelavec zagotavlja svoje prispevke) na OSNOVI »TAKŠNI, KOT SO«,
BREZ GARANCIJ ALI KAKRŠNIHkoli POGOJEV, bodisi izrecno bodisi
vključuje, brez omejitev, kakršna koli jamstva ali pogoje
NASLOVA, NE KRŠITVE, PROMETNOSTI ali PRIMERNOST ZA
POSEBNA NAMEN. Samo vi ste odgovorni za določitev
primernost uporabe ali prerazporeditve dela in domnevati kakršno koli
tveganja, povezana z vašim izvajanjem dovoljenj po tej licenci.
Omejitev odgovornosti. V nobenem primeru in pod nobeno pravno teorijo,
bodisi odškodninsko (vključno z malomarnostjo), pogodbo ali kako drugače,
razen če to zahteva veljavna zakonodaja (na primer namerno in grobo
malomarnih dejanj) ali pisni dogovor, mora biti kateri koli prispevalec
vam odgovarja za škodo, vključno z vsemi neposrednimi, posrednimi, posebnimi,
naključne ali posledične škode kakršnega koli značaja, ki nastane kot
rezultat te licence ali izven uporabe ali nezmožnosti uporabe
Delo (vključno, vendar ne omejeno na škodo zaradi izgube dobrega imena,
ustavitev dela, okvara ali okvara računalnika ali katero koli in vse
druge komercialne škode ali izgube), tudi če je ta sodelavec
je bil obveščen o možnosti take škode.
Sprejemanje garancije ali dodatne odgovornosti. Med prerazporeditvijo
delo ali izpeljana dela zanje, se lahko odločite ponuditi,
in zaračunati pristojbino za, sprejem podpore, garancijo, odškodnino,
ali druge obveznosti in / ali pravice v skladu s tem
Licenca. Vendar lahko pri sprejemanju takšnih obveznosti ukrepate le
v svojem imenu in na svojo izključno odgovornost, ne v svojem imenu
katerega koli drugega sodelujočega in le, če se strinjate, da
zagovarjati in obdržati vsakega sodelavca neškodljivega za kakršno koli odgovornost
ki so nastale takemu sodelujočemu ali so uveljavljane do njega z razlogom
vašega sprejetja kakršne koli take garancije ali dodatne odgovornosti.
KONEC POGOJEV
DODATEK: Kako uporabiti licenco Apache za svoje delo.
Če želite za svoje delo uporabiti licenco Apache, priložite naslednje
standardno obvestilo s polji v oklepajih »[]«
zamenjali z vašimi lastnimi identifikacijskimi podatki. (Ne vključi
v oklepajih!) Besedilo je treba priložiti ustreznemu besedilu
sintakso komentarja za obliko datoteke. Priporočamo tudi, da a
ime datoteke ali razreda in opis namena vključiti v
enako »natisnjeno stran« kot obvestilo o avtorskih pravicah za lažjo uporabo
identifikacija v arhivih tretjih oseb.
Avtorske pravice [llll] [ime lastnika avtorskih pravic]
Licenciran pod licenco Apache, različica 2.0 (»licenca«);
te datoteke ne smete uporabljati, razen če izpolnjujete licenco.
Kopijo licence lahko dobite na naslovu
Programska oprema ni potrebna, če to ne zahteva veljavna zakonodaja ali če je pisno dogovorjeno
distribuirano pod licenco, se distribuira na podlagi "TAKŠEN, KOT JE",
BREZ GARANCIJ ALI POGOJEV KAKRŠNE VRSTE, bodisi izrecne bodisi implicitne.
Glejte licenco za določen jezik, ki ureja dovoljenja in
omejitve iz licence.
Licenca = pogodba
Brezplačna licenca, čeprav je brezplačna, ne dopušča permisivnosti in primere omejitev smo že navedli. Pri izbiri licence upoštevajte svoje interese in interese uporabnika, saj je odprtokodna programska oprema zasnovana posebej zanj. Uporabnik projekta mora licenco dojemati kot nekakšen dogovor med njim in imetnikom avtorskih pravic, zato pred kakršnimi koli dejanji na izvorni kodi natančno preučite omejitve, ki vam jih nalaga licenca projekta.
Upamo, da smo temo licenc nekoliko osvetlili in kljub kompleksnosti problematike ne sme postati ovira na vaši poti do odprtokodnosti. Razvijte svoj projekt in ne pozabite na pravice, vaše in drugih.
Uporabne povezave
Za konec še nekaj uporabnih virov, ki so nam bili v pomoč pri iskanju informacij o obstoječih licencah in izbiri najprimernejše za naše namene: