ProHoster > Blog > uprava > Kako odabrati licencu otvorenog koda za RAD framework na GitHubu
Kako odabrati licencu otvorenog koda za RAD framework na GitHubu
U ovom članku ćemo govoriti malo o autorskim pravima, ali uglavnom o odabiru besplatne licence za RAD framework IONDV. Okvir i za proizvode otvorenog koda temeljene na njemu. Reći ćemo vam o licenci za izdavanje dozvola Apache 2.0, o tome što nas je dovelo do toga i s kakvim smo se odlukama pritom suočili.
Proces odabira licence prilično je naporan i treba mu pristupiti već načitan, a ako niste sretni vlasnik pravnog obrazovanja, pred vama se otvara nepregledno polje informacija o raznim besplatnim licencama. Glavna stvar koju treba učiniti je sastaviti niz ograničavajućih kriterija. Kroz proces rasprave i razmišljanja, vi i vaš tim ćete moći razumjeti što želite dopustiti korisnicima vašeg proizvoda, a što zabraniti. Kada već imate određeni opis u rukama, potrebno ga je preklopiti na postojeće licence i odabrati onu kod koje se poklapa najveći broj bodova. Zvuči jednostavno, naravno, ali u stvarnosti, obično i nakon rasprave, pitanja ostaju.
Prvo, poveznica na selectalicense.com, korisna stranica koju smo intenzivno koristili. Obratite posebnu pozornost na usporedna tablica licence prema 13 glavnih kriterija. Neka engleski i strpljenje budu s vama.
Agonija izbora
Počnimo s općim karakteristikama licenci za besplatni softver. Softver otvorenog koda podrazumijeva isključivo besplatnu licencu, koja ne ograničava komercijalnu i nekomercijalnu distribuciju prema modelu Otvori jezgru. Sukladno tome, stavljanje softvera na mrežu pod slobodnom licencom ne može u potpunosti ograničiti njegov prijenos, distribuciju i prodaju trećim stranama, već se na to trebate samo psihički pripremiti.
Besplatna licenca daje korisniku pravo da sudjeluje u obrnutom inženjeringu softvera ili da ga mijenja na druge dostupne načine. Većina licenci ne dopušta preimenovanje proizvoda ili bilo kakve manipulacije s njim, mijenjajući prava autora i/ili vlasnika sustava.
Glavna pitanja koja su nas zanimala o besplatnim licencama bila su:
Trebaju li promjene napravljene na softveru biti zabilježene i nemaju veze s nositeljem autorskih prava sustava?
Ne bi li naziv izvedenog softvera trebao biti isti kao naziv softvera nositelja autorskih prava?
Je li moguće promijeniti licencu za bilo koju novu verziju u drugu, uključujući i vlasničku?
Nakon pažljivog pregleda popisa najčešćih licenci, odabrali smo nekoliko koje smo detaljnije razmotrili. Potencijalne licence za IONDV. Okvir bili su: GNU GPLv3, Apache 2.0, MIT i MPL. MIT gotovo odmah isključena, ovo je permisivna licenca bez kopiranja, koja dopušta korištenje, modificiranje i distribuciju koda na gotovo bilo koji način, ali nismo bili zadovoljni ovom opcijom, i dalje smo htjeli da licenca regulira odnos između autorskih prava nositelja i korisnika. Većina manjih projekata na GitHubu objavljena je pod licencom MIT-a ili njezinim različitim varijacijama. Sama licenca je vrlo kratka, a jedine zabrane su označavanje autorstva kreatora softvera.
Sljedeća je bila licenca MPL 2.0. Doduše, nismo odmah došli do toga, ali nakon što smo ga detaljnije proučili, brzo smo ga isključili, budući da je glavni nedostatak što se licenca ne odnosi na cijeli projekt, već na pojedinačne datoteke. Osim toga, ako korisnik promijeni datoteku, ne može promijeniti licencu. Zapravo, koliko god marljivo mijenjali projekt otvorenog koda, nikada ga nećete moći unovčiti zbog takve licence. Usput, ovo se ne tiče nositelja autorskih prava.
Sličan problem i dalje postoji s licencom GNU GPLv3. Zahtijeva da sve datoteke ostanu ispod njega. GNU GPL je copyleft licenca koja zahtijeva da izvedeni radovi budu otvorenog koda i da ostanu pod istom licencom. To jest: prepisivanjem dva retka koda, bit ćete prisiljeni unijeti svoje promjene i, tijekom daljnje upotrebe ili distribucije, spremiti kod pod GNU GPL. U ovom slučaju to je ograničavajući faktor za korisnika našeg projekta, a ne za nas. Ali promjena GPL-a u bilo koju drugu licencu je zabranjena, čak i unutar GPL verzija. Na primjer, ako promijenite LGPL (dodatak GPL-u) na GPL, tada neće biti povratka na LGPL. I ova točka je bila odlučujuća za glasanje protiv.
Općenito, naš je izbor u početku naginjao prema GPL3 upravo zbog distribucije modificiranog koda pod istom licencom. Mislili smo da na taj način možemo osigurati naš proizvod, ali vidjeli smo manje rizika u Apacheu 2.0. Prema Free Software Foundationu, GPLv3 je kompatibilan s Apache licencom v2.0, što znači da je uvijek moguće promijeniti licencu s Apache licence v2.0 na GPL v3.0.
Apache 2.0
Apache 2.0 — uravnotežena dopuštajuća licenca s naglaskom na autorska prava. Evo kako je odgovorila na pitanja koja su nas zanimala. Trebaju li promjene napravljene na softveru biti zabilježene i nemaju veze s nositeljem autorskih prava sustava? Da, sve promjene moraju biti dokumentirane i ne snosimo odgovornost za originalni ili modificirani kôd. Datoteka s promjenama mora biti priložena kodu u kojem ste unijeli te izmjene. Ne bi li naziv izvedenog softvera trebao biti isti kao naziv softvera nositelja autorskih prava? Da, izvedeni softver trebao bi biti objavljen pod drugim imenom i pod drugim zaštitnim znakom, ali s naznakom nositelja autorskih prava. Je li moguće promijeniti licencu za bilo koju novu verziju u drugu, uključujući i vlasničku? Da, može se izdati pod različitim licencama, Apache 2.0 ne ograničava korištenje nekomercijalnih i komercijalnih licenci.
Također, prilikom izdavanja novih proizvoda koji se temelje na otvorenom kodu za Apache 2.0 ili proizvoda s dodatnim funkcionalnostima, nije potrebno koristiti istu licencu. Ispod možete vidjeti sliku s uvjetima i ograničenjima licence Apache 2.0.
Licenca nameće zahtjev za očuvanjem i spominjanjem autorskih prava i licence pod kojom je softver objavljen. Obavezna dostupnost obavijest o autorskim pravima s imenom nositelja autorskih prava i licencom štiti prava izvornog autora softvera, jer čak i ako se preimenuje, pokloni ili proda pod drugom licencom, oznaka autora će i dalje ostati. Također možete koristiti datoteku za ovo OBAVIJEST i priložite ga ili izvornom kodu ili projektnoj dokumentaciji.
Sve naše proizvode objavljujemo javno dostupnima na GitHubu pod licencom Apache 2.0, osim IONDV. Ratni arhiv, čiji je izvorni kod pod GPLv3 licencom na GitHubu u travnju ove godine objavio Dalekoistočni centar za društvene tehnologije. U ovom trenutku, pored okvir i moduli Objavljeno aplikacije napravljen na okviru. Na čvorištu o kojem smo već govorili Sustav upravljanja projektima i otprilike Registar komunikacija.
Oni. pojedinosti o okviru
IONDV. Framework je okvir otvorenog koda baziran na node.js za kreiranje web aplikacija visoke razine temeljenih na metapodacima, što ne zahtijeva ozbiljne programerske vještine.
Osnova funkcionalnosti aplikacije je registar podataka - modul Registar. Ovo je ključni modul dizajniran izravno za rad s podacima koji se temelje na strukturama metapodataka - uključujući one za upravljanje projektima, programima, događajima itd. Projekt također koristi modul portala za prikaz proizvoljnih predložaka podataka - implementira prednji registar arhive.
MongoDb se koristi za DBMS - pohranjuje postavke aplikacije, metapodatke i same podatke.
Kako primijeniti licencu na svoj projekt?
Dodajte datoteku LICENCA s tekstom licence u repozitoriju vašeg projekta i voilà, projekt zaštićen Apacheom 2.0. Trebate navesti nositelja autorskih prava, to je to obavijest o autorskim pravima. To se može učiniti u izvornom kodu ili u datoteci OBAVIJEST (tekstualna datoteka s popisom svih biblioteka licenciranih pod Apache licencom zajedno s imenima njihovih kreatora). Smjestite samu datoteku ili u izvorni kod ili u dokumentaciju koja se distribuira uz rad. Kod nas to izgleda ovako:
"Licenca" znači odredbe i uvjete za korištenje, reprodukciju,
i distribucija kako je definirano odjeljcima od 1. do 9. ovog dokumenta.
"Davatelj licence" znači vlasnik autorskog prava ili subjekt ovlašten od strane
vlasnik autorskih prava koji daje licencu.
"Pravna osoba" je zajednica djelatnika i dr
drugi subjekti koji kontroliraju ili su pod zajedničkim nadzorom
kontrola s tim entitetom. U svrhu ove definicije,
"kontrola" znači (i) moć, izravnu ili neizravnu, da uzrokuje
usmjeravanje ili upravljanje takvim subjektom, bilo ugovorom ili
u suprotnom, ili (ii) vlasništvo nad pedeset posto (50%) ili više
neisplaćene dionice ili (iii) stvarno vlasništvo nad tim entitetom.
"Vi" (ili "Vaš") značit ćete pojedinca ili pravnu osobu
izvršavanje dozvola dodijeljenih ovom Licencom.
"Izvorni" obrazac znači preferirani oblik za izradu izmjena,
uključujući, ali ne ograničavajući se na izvorni kod softvera, dokumentaciju
izvorne i konfiguracijske datoteke.
Oblik "predmeta" znači bilo koji oblik koji proizlazi iz mehaničkih
transformacija ili prijevod izvornog oblika, uključujući ali
nije ograničeno na sastavljeni objektni kod, generiranu dokumentaciju,
i pretvorbe u druge vrste medija.
"Djelo" znači autorsko djelo, bilo u Izvoru ili
Obrazac objekta, dostupan prema licenci, kako je označeno s
obavijest o autorskim pravima koja je uključena u rad ili mu je priložena
(primjer je naveden u Dodatku u nastavku).
"Izvedeni radovi" označavaju bilo koje djelo, bilo u Izvoru ili Objektu
oblik koji se temelji na (ili proizlazi iz) Djela i za koji
uredničke revizije, napomene, razrade ili druge preinake
predstavljaju u cjelini izvorno autorsko djelo. U svrhe
ove Licence, Derivativni radovi neće obuhvaćati djela koja su preostala
moguće odvojiti od sučelja ili ih samo povezati (ili povezati imenom)
njihov rad i izvedena djela.
"Doprinos" znači svako autorsko djelo, uključujući
izvorna verzija Djela i sve izmjene ili dopune
tom djelu ili izvedenim djelima, to je namjerno
podnio ga davatelju licence radi uključivanja u Djelo od strane vlasnika autorskih prava
ili od strane fizičke ili pravne osobe ovlaštene za podnošenje u ime
vlasnik autorskih prava. Za potrebe ove definicije, "podneseno"
Podrazumijeva bilo koji poslani oblik elektroničke, usmene ili pisane komunikacije
davatelju licence ili njegovim predstavnicima, uključujući, ali ne ograničavajući se na
komunikacija na elektroničkim poštanskim popisima, sustavima za kontrolu izvornog koda,
i izdavati sustave za praćenje kojima upravlja ili u njegovo ime
Davatelj licence u svrhu rasprave i poboljšanja Djela, ali
isključujući komunikaciju koja je vidljivo označena ili na neki drugi način
koje je vlasnik autorskih prava pismeno označio kao "Nije doprinos".
"Suradnik" znači Davatelj licence i bilo koji pojedinac ili pravna osoba
u ime kojih je Davatelj licence primio Doprinos i
naknadno ugrađena u Djelo.
Dodjela licence za autorska prava. Podložno uvjetima i odredbama
ovu licencu, svaki Contributor ovime vam daje trajni,
širom svijeta, neekskluzivno, bez naknade, bez naknade, neopozivo
autorska licenca za reprodukciju, pripremu izvedenih djela,
javno prikazivati, javno izvoditi, podlicencirati i distribuirati
Djelo i takva izvedena djela u izvornom ili objektnom obliku.
Dodjela patentne licence. U skladu s odredbama i uvjetima
ovu licencu, svaki Contributor ovime vam daje trajni,
širom svijeta, neekskluzivno, bez naknade, bez naknade, neopozivo
(osim kako je navedeno u ovom odjeljku) patentnu licencu za izradu,
koristiti, ponuditi prodaju, prodaju, uvoz i na drugi način prenijeti Djelo,
pri čemu se takva licenca odnosi samo na one patentne zahtjeve koji se mogu kupiti
od takvog Contributor-a koji su nužno kršeni od strane njih
Doprinosi sami ili u kombinaciji s njihovim doprinosima
s djelom kojem je takav doprinos podan. Ako ti
pokrenuti parnični spor protiv bilo kojeg entiteta (uključujući i
unakrsni zahtjev ili protutužba u parnici) navodeći da je Djelo
ili Prilog ugrađen u Djelo predstavlja izravni
ili povreda patenta koja doprinosi, zatim bilo koje patentne licence
dodijeljena Vam na temelju ove Licence za to Djelo prestaje
od datuma podnošenja takve parnice.
Preraspodjela. Možete reproducirati i distribuirati kopije
Djelo ili izvedena djela u bilo kojem mediju, sa ili bez
izmjene i u obliku Izvor ili Objekt, pod uvjetom da Vi
udovoljavaju sljedećim uvjetima:
(a) Morate dati bilo kojim drugim primateljima Djela ili
Derivative radi kopiju ove licence; i
(b) Morate osigurati da sve izmijenjene datoteke nose istaknute obavijesti
navodeći da ste promijenili datoteke; i
(d) Ako Djelo uključuje tekstualnu datoteku "OBAVIJEST" kao dio
distribucija, zatim bilo koja izvedena djela koja distribuirate moraju
uključuju čitljivu kopiju sadržanih obavijesti o atribuciji
unutar takve datoteke OBAVIJESTI, isključujući one obavijesti koje to ne čine
odnose se na bilo koji dio Derivativnih djela, barem u jednom
sljedećih mjesta: unutar tekstualne datoteke OBAVIJESTI distribuirane
u sklopu Derivativnih djela; unutar obrasca Izvor ili
dokumentacija, ako je dostavljena uz izvedene radove; ili,
unutar prikaza koji generiraju Derivativni radovi, ako i
gdje god se takve obavijesti trećih strana obično pojavljuju. Sadržaji
datoteke NOTICE služe samo u informativne svrhe i
ne mijenjajte licencu. Možete dodati vlastitu atribuciju
obavijesti unutar Derivativnih djela koja distribuirate, zajedno
ili kao dodatak priloženom tekstu OBAVIJESTI iz Djela
da se takve dodatne obavijesti o atribuciji ne mogu tumačiti
kao izmjena licence.
Možete dodati vlastitu izjavu o autorskim pravima svojim izmjenama i
može pružiti dodatne ili različite uvjete licenciranja
za upotrebu, reprodukciju ili distribuciju Vaših izmjena ili
za bilo koja takva izvedena djela u cjelini, pod uvjetom da koristite,
reprodukcija i distribucija Djela u suprotnom
uvjeti navedeni u ovoj Licenci.
Podnošenje doprinosa. Osim ako izričito ne navedete drugačije,
bilo koji Prilog namjerno predan radi uključivanja u Djelo
od vas davatelju licence podložit će se uvjetima i odredbama
ovu licencu, bez ikakvih dodatnih uvjeta ili odredbi.
Bez obzira na gore navedeno, ništa ovdje neće zamijeniti ili izmijeniti
uvjete bilo kojeg odvojenog ugovora o licenci koji ste možda sklopili
s Davateljem licence u vezi s takvim doprinosima.
Zaštitni znakovi. Ova Licenca ne daje dozvolu za korištenje trgovine
imena, zaštitni znakovi, znakovi usluga ili nazivi proizvoda Davatelja licence,
osim što je potrebno za razumnu i uobičajenu uporabu u opisivanju
porijeklo Djela i reprodukcija sadržaja datoteke OBAVIJESTI.
Odricanje od jamstva. Osim ako nije propisano važećim zakonom ili
ako se pismeno dogovori, Davatelj licence daje Djelo (i svako
Suradnik daje svoje doprinose) na OSNOVI "KAKVOG JEST",
BEZ JAMSTVA ILI UVJETA BILO KOJE VRSTE, bilo izričito ili
podrazumijeva, uključujući, bez ograničenja, bilo koja jamstva ili uvjete
NASLOVA, NEPREKRŠAVANJA, PRODAJNOST ili SPOSOBNOST ZA
POSEBNA SVRHA. Vi ste jedini odgovorni za utvrđivanje
prikladnost korištenja ili preraspodjele Djela i pretpostaviti bilo koji
rizici povezani s vašim izvršavanjem dozvola prema ovoj licenci.
Ograničenje odgovornosti. Ni u kojem slučaju i ni pod kakvom pravnom teorijom,
bilo u deliktnoj odgovornosti (uključujući nemar), ugovoru ili nečem drugom,
osim ako to zahtijeva mjerodavno pravo (kao što je namjerno i grubo
nesavjesne radnje) ili pisanim dogovorom, bilo koji Contributor
odgovorni za štetu, uključujući bilo koju izravnu, neizravnu, posebnu,
slučajne ili posljedične štete bilo kojeg karaktera koje nastaju kao
rezultat ove Licence ili zbog upotrebe ili nemogućnosti korištenja
Posao (uključujući, ali ne ograničavajući se na štetu zbog gubitka dobre volje,
zaustavljanje rada, kvar ili kvar računala ili bilo što drugo
druge komercijalne štete ili gubitke), čak i ako je takav Contributor
je obaviješten o mogućnosti takve štete.
Prihvaćanje jamstva ili dodatne odgovornosti. Prilikom redistribucije
Djelo ili izvedeno djelo, Možete odabrati da ponudite,
i naplatiti naknadu za prihvaćanje podrške, jamstvo, odštetu,
ili druge obveze i / ili prava u skladu s tim
Licenca. Međutim, prihvaćajući takve obveze, možete djelovati samo
u svoje ime i na vašu isključivu odgovornost, a ne u vaše ime
bilo kojeg drugog suradnika, i samo ako pristanete na naknadu štete,
braniti i držati svakog suradnika bezopasnim za bilo kakvu odgovornost
nastali od strane takvog Doprinioca ili potraživanja protiv njega iz razloga
vašeg prihvaćanja bilo kojeg takvog jamstva ili dodatne odgovornosti.
KRAJ I UVJETA
DODATAK: Kako primijeniti Apache licencu na svoj rad.
Da biste primijenili Apache licencu na svoj rad, priložite sljedeće
standardna obavijest, s poljima u zagradama "[]"
zamijenjen vlastitim identifikacijskim podacima. (Ne uključuje
zagrade!) Tekst treba priložiti na odgovarajući način
sintaksa komentara za format datoteke. Također preporučujemo da a
naziv datoteke ili klase i opis namjene biti uključeni na
istu "ispisanu stranicu" kao obavijest o autorskim pravima radi lakšeg
identifikacija unutar arhiva treće strane.
Autorska prava [yyyy] [ime vlasnika autorskih prava]
Licencirano pod licencom Apache, verzija 2.0 ("Licenca");
ne smijete koristiti ovu datoteku osim u skladu s Licencom.
Kopiju licence možete dobiti na
Osim ako to zahtijeva mjerodavno pravo ili ako se pismeno ne dogovore, softver
distribuirano pod Licencom distribuira se na OSNOVI "KAKVO JE",
BEZ JAMSTVA ILI UVJETA BILO KOJE VRSTE, bilo izričite bilo podrazumijevane.
Pogledajte Licencu za određeni jezik koji upravlja dopuštenjima i
ograničenja prema licenci.
Licenca = ugovor
Besplatna licenca, iako je besplatna, ne dopušta permisivnost i već smo naveli primjere ograničenja. Odaberite licencu uzimajući u obzir i svoje interese i interese korisnika, jer je softver otvorenog koda dizajniran posebno za njega. Korisnik projekta trebao bi licencu shvatiti kao neku vrstu sporazuma između njega i nositelja autorskih prava, stoga prije poduzimanja bilo kakvih radnji na izvornom kodu pažljivo proučite ograničenja koja vam nameće licenca projekta.
Nadamo se da smo malo rasvijetlili temu licenci i da, unatoč složenosti problematike, ona ne bi trebala postati prepreka na vašem putu prema Open Sourceu. Razvijte svoj projekt i ne zaboravite na prava, svoja i tuđa.
korisni linkovi
Na kraju, neki korisni resursi koji su nam pomogli pri traženju informacija o postojećim licencama i odabiru najprikladnije za naše potrebe: