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.

Kako odabrati licencu otvorenog koda za RAD framework na GitHubu

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:

  1. Trebaju li promjene napravljene na softveru biti zabilježene i nemaju veze s nositeljem autorskih prava sustava?
  2. Ne bi li naziv izvedenog softvera trebao biti isti kao naziv softvera nositelja autorskih prava?
  3. 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.

Kako odabrati licencu otvorenog koda za RAD framework na GitHubu

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:

Autorska prava © 2018 ION DV LLC.
Licencirano pod licencom Apache, verzija 2.0

Tekst licence za Apache 2.0

Apache licenca
Verzija 2.0, siječanj 2004
http://www.apache.org/licenses/

UVJETI KORIŠTENJA, RAZMNOŽAVANJA I DISTRIBUCIJE

  1. Definicije.

    "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.

  2. 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.

  3. 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.

  4. 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

    © Morate zadržati, u izvornom obliku, sve izvedene radove
    da distribuirate sva autorska prava, patent, zaštitni znak i
    obavijesti o atribuciji iz izvornog oblika Djela,
    isključujući one obavijesti koje se ne odnose na bilo koji dio
    izvedena djela; 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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

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

    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:

Izvor: www.habr.com

Dodajte komentar