Kako odabrati licencu otvorenog koda za RAD framework na GitHubu

U ovom članku ćemo malo govoriti o autorskim pravima, ali uglavnom o odabiru besplatne licence za RAD framework IONDV. Framework i za proizvode otvorenog koda zasnovane na njemu. Reći ćemo vam o licenci za izdavanje dozvola Apache 2.0, o tome šta nas je dovelo do toga i sa kakvim smo se odlukama suočili u tom procesu.

Proces odabira licence je dosta radno intenzivan i treba mu pristupiti već načitano, a ako niste sretni vlasnik pravne edukacije, onda se pred vama otvara nepregledno polje informacija o raznim besplatnim licencama. Glavna stvar koju treba učiniti je sastaviti niz ograničavajućih kriterija. Kroz proces diskusije i razmišljanja, vi i vaš tim moći ćete da shvatite šta želite da dozvolite korisnicima vašeg proizvoda, a šta da zabranite. Kada već imate određeni opis u rukama, potrebno ga je prekriti na postojeće licence i odabrati onu gdje se poklapa najveći broj bodova. Zvuči jednostavno, naravno, ali u stvarnosti, obično i nakon rasprave, ostaju pitanja.

Kako odabrati licencu otvorenog koda za RAD framework na GitHubu

Prvo, link na selectalicense.com, korisna stranica koju smo intenzivno koristili. Obratite posebnu pažnju na uporedna tabela licence prema 13 glavnih kriterijuma. Neka vas engleski i strpljenje prate.

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 Otvorite jezgro. Shodno tome, stavljanje softvera na mrežu pod besplatnom licencom ne može u potpunosti ograničiti njegov prijenos, distribuciju i prodaju od strane trećih strana, i samo morate biti psihički spremni za to.

Besplatna licenca daje korisniku pravo da učestvuje u obrnutom inženjeringu softvera ili da ga promijeni na druge dostupne načine. Većina licenci vam ne dozvoljava da preimenujete proizvod ili izvršite bilo kakve manipulacije s njim, mijenjajući prava autora i/ili vlasnika sistema.

Glavna pitanja koja su nas zanimala o besplatnim licencama su:

  1. Da li promene napravljene na softveru treba da budu zabeležene i da nemaju veze sa nosiocem autorskih prava na sistemu?
  2. Da li naziv izvedenog softvera ne bi trebao biti isti kao naziv softvera vlasnika autorskih prava?
  3. Da li je moguće promijeniti licencu za bilo koju novu verziju u drugu, uključujući i vlasničku?

Nakon što smo pažljivo pogledali listu najčešćih licenci, odabrali smo nekoliko koje smo detaljnije razmotrili. Potencijalne licence za IONDV. Framework bili su: GNU GPLv3, Apache 2.0, MIT i MPL. MIT gotovo odmah isključena, ovo je dopuštena licenca bez kopiranja, koja omogućava korištenje, modifikaciju i distribuciju koda na gotovo bilo koji način, ali mi nismo bili zadovoljni ovom opcijom, ipak smo htjeli da licenca regulira odnos između autorskih prava nosilac i korisnik. Većina manjih projekata na GitHubu objavljena je pod MIT licencom ili njenim različitim varijacijama. Sama licenca je vrlo kratka, a jedine zabrane su navođenje autorstva kreatora softvera.

Sljedeća je bila licenca mpl 2.0. Doduše, nismo odmah došli do toga, ali smo ga nakon detaljnijeg proučavanja brzo odbacili, jer je glavni nedostatak to što se licenca ne odnosi na cijeli projekat, već na pojedinačne fajlove. Osim toga, ako korisnik promijeni datoteku, ne može promijeniti licencu. U stvari, bez obzira koliko marljivo mijenjate projekat otvorenog koda, nikada ga nećete moći unovčiti zbog takve licence. Inače, ovo se ne tiče nosioca autorskih prava.

Sličan problem i dalje postoji s licencom GNU GPLv3. Zahtijeva da bilo koji fajl ostane ispod njega. GNU GPL je copyleft licenca koja zahtijeva da izvedena djela budu otvorenog koda i da ostanu pod istom licencom. To jest: ponovnim pisanjem dva reda koda, bićete primorani da unesete svoje promene i, tokom dalje upotrebe ili distribucije, sačuvate kod pod GNU GPL. U ovom slučaju, ovo 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 se promijenite LGPL (dodatak za GPL) na GPL, tada više neće biti povratka na LGPL. I ova tačka je bila odlučujuća u glasanju protiv.

Sve u svemu, naš izbor je u početku bio naklonjen GPL3 upravo zbog distribucije modificiranog koda pod istom licencom. Mislili smo da na ovaj način možemo osigurati naš proizvod, ali smo vidjeli manje rizika u Apache 2.0. Prema Free Software Foundation, GPLv3 je kompatibilan sa Apache License v2.0, što znači da je uvijek moguće promijeniti licencu sa Apache License v2.0 na GPL v3.0.

Apache 2.0

Apache 2.0 — uravnotežena permisivna licenca s naglaskom na autorska prava. Evo koje je odgovore dala na pitanja koja su nas zanimala. Da li promene napravljene na softveru treba da budu zabeležene i da nemaju veze sa nosiocem autorskih prava na sistemu? Da, sve promjene moraju biti dokumentirane i ne snosimo odgovornost za originalni ili izmijenjeni kod. Datoteka sa promjenama mora biti priložena kodu u kojem ste izvršili ove promjene. Da li naziv izvedenog softvera ne bi trebao biti isti kao naziv softvera vlasnika autorskih prava? Da, izvedeni softver treba da bude objavljen pod drugim imenom i pod drugim zaštitnim znakom, ali sa naznakom autorstva nosioca autorskih prava. Da li je 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 upotrebu bilo koje nekomercijalne i komercijalne licence.

Također, prilikom izdavanja novih proizvoda baziranih na otvorenom izvornom kodu za Apache 2.0 ili proizvoda sa dodatnom funkcionalnošću, nije potrebno koristiti istu licencu. Ispod možete vidjeti sliku sa uslovima i ograničenjima Apache 2.0 licence.

Kako odabrati licencu otvorenog koda za RAD framework na GitHubu

Licenca nameće zahtjev za očuvanje i spominjanje autorskih prava i licence pod kojom se softver izdaje. Obavezna dostupnost Obaveštenje o autorskim pravima sa imenom nosioca autorskih prava i licencom štiti prava originalnog autora softvera, jer čak i ako se preimenuje, pokloni ili proda pod drugom licencom, autorska oznaka će i dalje ostati. Za ovo možete koristiti i fajl BILJESKA i priložite ili izvornom kodu ili projektnoj dokumentaciji.

Sve naše proizvode objavljujemo javno dostupne na GitHub-u pod licencom Apache 2.0, osim IONDV. Ratni arhiv, čiji je izvorni kod objavljen pod GPLv3 licencom na GitHubu u aprilu ove godine od strane Dalekoistočnog centra za društvene tehnologije. Trenutno, pored okvir i njegov moduli objavljeno aplikacije napravljen na okviru. Na čvorištu o kojem smo već govorili Sistem upravljanja projektima i otprilike Registar komunikacija.

One. detalji o okviru

IONDV. Framework je okvir otvorenog koda baziran na node.js za kreiranje web aplikacija visokog nivoa na osnovu metapodataka, koji ne zahtijeva ozbiljne vještine programiranja.

Osnovu funkcionalnosti aplikacije čini registar podataka - modul Registar. Ovo je ključni modul dizajniran direktno za rad sa podacima zasnovanim na strukturama metapodataka – uključujući i upravljanje projektima, programima, događajima itd. Projekat takođe koristi portalski modul za prikaz proizvoljnih šablona podataka – implementira prednji registar arhive.

MongoDb se koristi za DBMS - pohranjuje postavke aplikacije, metapodatke i same podatke.

Kako primijeniti licencu na svoj projekat?

Dodajte fajl LICENCA sa tekstom licence u repozitorijumu vašeg projekta i voilà, projekat zaštićen Apacheom 2.0. Morate navesti nosioca autorskih prava, to je to obaveštenje o autorskim pravima. To se može učiniti u izvornom kodu ili u datoteci BILJESKA (tekstualni fajl koji navodi sve biblioteke licencirane pod Apache licencom zajedno sa imenima njihovih kreatora). Postavite samu datoteku ili u izvorni kod ili u dokumentaciju koja se distribuira uz rad. Za nas to izgleda ovako:

Autorsko pravo © 2018 ION DV LLC.
Licencirano pod Apache licencom, verzija 2.0

Tekst licence za Apache 2.0

Apache licenca
Verzija 2.0, januar 2004
http://www.apache.org/licenses/

UVJETI KORIŠTENJA, RAZMNOŽAVANJA I DISTRIBUCIJE

  1. Definicije.

    "Licenca" označava odredbe i uslove za upotrebu, reprodukciju,
    i distribucija kako je definirano u odjeljcima od 1. do 9. ovog dokumenta.

    „Davalac licence“ označava vlasnika autorskih prava ili lice koje je ovlastio
    vlasnik autorskih prava koji daje licencu.

    "Pravno lice" je sindikat postupajućeg subjekta i svih
    drugi subjekti koji kontroliraju, kontroliraju ili su pod zajedničkim
    kontrola s tim entitetom. Za potrebe ove definicije,
    "kontrola" znači (i) moć, direktnu ili indirektnu, da izazove
    vođenje ili upravljanje takvim entitetom, bilo ugovorom ili
    u suprotnom, ili (ii) vlasništvo nad pedeset posto (50%) ili više
    neizmirene akcije ili (iii) stvarno vlasništvo nad tim entitetom.

    “Vi” (ili “Vaš”) znači fizičko ili pravno lice
    izvršavanje dozvola dodijeljenih ovom licencom.

    "Izvorni" obrazac znači preferirani obrazac za unošenje izmjena,
    uključujući, ali ne ograničavajući se na izvorni kod softvera, dokumentaciju
    izvorne i konfiguracijske datoteke.

    Forma "predmet" znači svaki oblik koji je rezultat mehaničkog
    transformacija ili prijevod izvornog obrasca, uključujući ali
    nije ograničeno na kompajlirani objektni kod, generiranu dokumentaciju,
    i konverzije na druge vrste medija.

    "Djelo" znači autorsko djelo, bilo u Izvoru ili
    Obrazac objekta, dostupan na osnovu licence, kako je označeno a
    obaveštenje o autorskim pravima koje je uključeno u delo ili je priloženo uz njega
    (primjer je dat u Dodatku ispod).

    „Izvedeni radovi“ će značiti svako djelo, bilo u izvoru ili objektu
    oblik koji je zasnovan na (ili izveden iz) Djela i za koji
    uredničke revizije, napomene, razrade ili druge modifikacije
    predstavljaju, u cjelini, originalno autorsko djelo. U svrhe
    ove licence, Derivativni radovi neće obuhvaćati djela koja su preostala
    odvojivi od interfejsa, ili ih samo povezati (ili povezati imenom)
    njihov rad i izvedena djela.

    "Doprinos" znači svako autorsko djelo, uključujući
    originalna verzija Djela i sve izmjene ili dopune
    tom djelu ili njegovim izvedenim djelima, to je namjerno
    podnio ga davaocu licence radi uključivanja u Djelo od strane vlasnika autorskih prava
    ili od strane fizičkog ili pravnog lica ovlaštenog da podnosi u ime
    vlasnik autorskih prava. Za potrebe ove definicije, "podneseno"
    označava bilo koji oblik poslane 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 listama, sistemi za kontrolu izvornog koda,
    i izdavati sisteme za praćenje kojima upravlja ili u njegovo ime
    Davalac licence u svrhu rasprave i poboljšanja djela, ali
    isključujući komunikaciju koja je vidljivo označena ili na neki drugi način
    nosilac autorskih prava u pisanoj formi označio kao "Nije doprinos".

    "Suradnik" znači davalac licence i svako fizičko ili pravno lice
    u ime kojih je Davalac licence primio Doprinos i
    naknadno ugrađena u Djelo.

  2. Dodjela licence za autorska prava. Podložno uslovima i odredbama
    ovu licencu, svaki Contributor vam ovim daje trajni,
    širom svijeta, neekskluzivno, bez naknade, bez naknade, neopozivo
    autorska licenca za reprodukciju, pripremu izvedenih djela,
    javno prikazivati, javno izvoditi, podlicencirati i distribuirati
    Rad i takva izvedena djela u izvornom ili objektnom obliku.

  3. Dodjela licence za patent. Podložno uslovima i odredbama
    ovu licencu, svaki Contributor vam ovim 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,
    gdje se takva licenca odnosi samo na one patentne zahtjeve koji se mogu licencirati
    od takvog Contributor-a koji ih nužno krši
    Doprinosi sami ili u kombinaciji njihovih doprinosa
    sa djelom kojem je takav doprinos podnet. Ako ti
    pokrenuti parnični spor protiv bilo kojeg entiteta (uključujući a
    unakrsna tužba ili protivtužba u parnici) u kojoj se navodi da je Djelo
    ili Prilog ugrađen u Djelo predstavlja direktan
    kršenja patenta ili doprinosa, zatim bilo koje patentne licence
    dodijeljena Vama na osnovu ove Licence za to Djelo prestaje
    od dana podnošenja takve parnice.

  4. Redistribucija. Možete umnožavati i distribuirati kopije
    Djelo ili izvedena djela u bilo kojem mediju, sa ili bez
    izmjene i u obliku Izvor ili Objekt, pod uslovom da Vi
    ispunjavaju sljedeće uvjete:

    (a) Morate dati bilo kojim drugim primaocima Djela ili
    Derivative radi kopiju ove licence; i

    (b) Morate omogućiti da svi izmijenjeni fajlovi nose istaknuta obavještenja
    navodeći da ste promijenili fajlove; i

    © Morate zadržati, u izvornom obliku, bilo kojeg izvedenog djela
    da distribuirate sva autorska prava, patent, zaštitni znak i
    obavijesti o pripisivanju iz izvornog oblika Djela,
    isključujući one obavijesti koje se ne odnose na bilo koji dio
    Derivativni radovi; i

    (d) Ako Djelo uključuje tekstualnu datoteku “OBAVJEŠTENJE” kao dio
    distribucija, zatim svi Derivativni radovi koje distribuirate moraju
    uključuju čitljivu kopiju sadržanih obavijesti o pripisivanju
    unutar takve datoteke OBAVIJESTI, isključujući ona obavještenja koja to ne čine
    odnose se na bilo koji dio Derivativnih djela, u najmanje jednom
    od sljedećih mjesta: unutar tekstualnog fajla OBAVIJEST distribuiran
    kao dio izvedenih djela; u okviru Izvornog obrasca ili
    dokumentacija, ako je dostavljena uz izvedene radove; ili,
    u okviru prikaza koji generiraju Derivativni radovi, ako i
    gdje god se takve obavijesti trećih strana obično pojavljuju. Sadržaj
    datoteke OBAVIJEST su samo u informativne svrhe i
    ne mijenjajte licencu. Možete dodati vlastito pripisivanje
    obavještenja u okviru Derivativnih djela koja distribuirate
    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 uslove licenciranja
    za upotrebu, reprodukciju ili distribuciju Vaših modifikacija ili
    za bilo koja takva izvedena djela u cjelini, pod uvjetom da koristite,
    reprodukcija i distribucija Djela u suprotnom su u skladu
    uslove navedene u ovoj licenci.

  5. Podnošenje doprinosa. Osim ako izričito ne navedete drugačije,
    svaki prilog koji je namjerno predan radi uključivanja u djelo
    od vas davatelju licence da bude pod uslovima i odredbama
    ovu licencu, bez ikakvih dodatnih uslova ili odredbi.
    Bez obzira na gore navedeno, ništa ovdje neće zamijeniti ili izmijeniti
    uslove bilo kojeg odvojenog ugovora o licenci koji ste možda sklopili
    sa Davaocem licence u vezi s takvim doprinosima.

  6. žigovi. Ova licenca ne daje dozvolu za korištenje trgovine
    imena, zaštitni znakovi, znakovi usluga ili nazivi proizvoda Davatelja licence,
    osim ako je to potrebno za razumnu i uobičajenu upotrebu u opisivanju
    porijeklo Djela i reprodukcija sadržaja datoteke OBAVIJESTI.

  7. Odricanje od garancije. Osim ako to zahtijeva važeći zakon ili
    ako se pismeno dogovori, Davatelj licence daje Djelo (i svako
    Saradnik daje svoje doprinose) na OSNOVU „KAKO JESTE“,
    BEZ JAMSTVA ILI USLOVA BILO KOJE VRSTE, bilo izričito ili
    podrazumeva, uključujući, bez ograničenja, bilo koja jamstva ili uslove
    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 sa vašim izvršavanjem dozvola prema ovoj licenci.

  8. Ograničenje odgovornosti. Ni u kom slučaju i ni pod kakvom pravnom teorijom,
    bez obzira da li je to delikt (uključujući nemar), ugovor ili nešto drugo,
    osim ako to ne zahtijeva važeći zakon (kao što je namjerno i grubo
    nehatna djela) ili pismeno dogovoreno, bilo koji Contributor
    odgovorni ste za štetu, uključujući bilo koju direktnu, indirektnu, posebnu,
    slučajne ili posljedične štete bilo kojeg karaktera nastale kao a
    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čunara ili bilo šta drugo
    ostale komercijalne štete ili gubici), čak i ako je takav Contributor
    je obaviješten o mogućnosti takve štete.

  9. Prihvatanje garancije ili dodatne odgovornosti. Prilikom redistribucije
    Djelo ili izvedena djela, Možete odabrati da ponudite,
    i naplatiti naknadu za prihvatanje podrške, garanciju, odštetu,
    ili druge obaveze i / ili prava u skladu s ovim
    Licenca. Međutim, prihvaćajući takve obaveze, možete djelovati samo
    u vaše ime i na vašu isključivu odgovornost, a ne u vaše ime
    bilo kog drugog saradnika, i samo ako pristanete na naknadu štete,
    braniti i držati svakog saradnika bezopasnim za bilo kakvu odgovornost
    nastali od strane takvog saradnika ili potraživanja podneta protiv njega iz razloga
    vašeg prihvaćanja bilo koje takve garancije ili dodatne odgovornosti.

    KRAJ uslova

    DODATAK: Kako primijeniti Apache licencu na svoj rad.

    Da biste primijenili Apache licencu na svoj rad, priložite sljedeće
    šablonsko obaveštenje, sa poljima u zagradama "[]"
    zamijenjen vlastitim identifikacijskim podacima. (Ne uključuju
    zagrade!) Tekst treba priložiti u odgovarajućem obliku
    sintaksa komentara za format datoteke. Takođe preporučujemo da a
    naziv datoteke ili klase i opis svrhe biti uključeni na
    ista "štampana stranica" kao i obavijest o autorskim pravima za lakše
    identifikacija u arhivama trećih strana.

    Copyright [yyyy] [ime vlasnika autorskih prava]

    Licencirano pod Apache licencom, verzija 2.0 (“Licenca”);
    ne smijete koristiti ovu datoteku osim u skladu sa licencom.
    Kopiju Licence možete dobiti na

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

    Ako se to ne zahtijeva važećim zakonom ili ako se pismeno ne dogovori softver
    distribuira se pod licencom distribuira se na OSNOVU „KAKO JESTE“,
    BEZ JAMSTVA ILI USLOVA BILO KOJE VRSTE, bilo izričite ili podrazumijevane.
    Pogledajte Licencu za određeni jezik koji reguliše dozvole i
    ograničenja iz Licence.

Licenca = ugovor

Besplatna licenca, iako je besplatna, ne dopušta dopuštenost 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 bi licencu trebao doživljavati kao neku vrstu sporazuma između njega i nositelja autorskih prava, pa prije nego što izvršite bilo kakve radnje na izvornom kodu, pažljivo proučite ograničenja koja vam nameće licenca projekta.

Nadamo se da smo bacili malo svjetla na temu licenci i, uprkos složenosti pitanja, to ne bi trebalo postati prepreka na vašem putu ka otvorenom kodu. Razvijte svoj projekat i ne zaboravite na prava, svoja i tuđa.

korisni linkovi

Konačno, nekoliko korisnih resursa koji su nam pomogli pri traženju informacija o postojećim licencama i odabiru one najprikladnije za naše potrebe:

izvor: www.habr.com

Dodajte komentar