ProHoster > Blogi > antaminen > Kuinka valita avoimen lähdekoodin lisenssi RAD-kehykselle GitHubissa
Kuinka valita avoimen lähdekoodin lisenssi RAD-kehykselle GitHubissa
Tässä artikkelissa puhumme hieman tekijänoikeuksista, mutta enimmäkseen ilmaisen lisenssin valitsemisesta RAD-kehykselle. IONDV. puitteet ja siihen perustuville avoimen lähdekoodin tuotteille. Puhumme sallivasta lisenssistä Apache 2.0, mikä johti meidät siihen ja mitä päätöksiä kohtasimme prosessin aikana.
Lisenssin valintaprosessi on melko työläs ja siihen tulisi suhtautua jo melko hyvin luettuna, ja jos et ole onnellinen lakimiestutkinnon omistaja, niin edessäsi avautuu kyntämätön tietokenttä erilaisista ilmaisista lisensseistä. Tärkeintä on laatia joukko rajoittavia kriteerejä. Keskustelun ja pohdinnan avulla sinä ja tiimisi pystytte ymmärtämään, mitä haluat sallia tuotteesi käyttäjille ja mitä kieltää. Kun sinulla on jo tietty kuvaus käsissäsi, sinun on asetettava se olemassa olevien lisenssien päälle ja korostettava se, jossa on eniten pisteitä. Kuulostaa tietysti yksinkertaiselta, mutta todellisuudessa yleensä keskustelun jälkeenkin jää kysymyksiä.
Ensin linkki selectalicense.com, hyödyllinen sivusto, jota käytimme paljon. Kiinnitä erityistä huomiota vertailu Taulukko lisenssit 13 pääkriteerin mukaisesti. Olkoon englanti ja kärsivällisyys kanssasi.
Valittu jauho
Aloitetaan lisenssien yleisistä ominaisuuksista ilmainen ohjelmisto. Avoimen lähdekoodin ohjelmisto tarkoittaa yksinomaan ilmaista lisenssiä, joka ei rajoita mallin mukaista kaupallista ja ei-kaupallista jakelua avoin ydin. Näin ollen lähettämällä ohjelmistoja ilmaisella lisenssillä verkkoon on mahdotonta rajoittaa kokonaan sen siirtoa, jakelua ja myyntiä kolmansien osapuolten toimesta, ja sinun on vain valmistauduttava tähän henkisesti.
Ilmainen lisenssi antaa käyttäjälle oikeuden osallistua ohjelmiston käänteiseen suunnitteluun tai muokata sitä muilla käytettävissä olevilla tavoilla. Useimmat lisenssit eivät anna sinun nimetä tuotetta uudelleen tai tehdä sen kanssa mitään manipulointia, mikä muuttaa järjestelmän tekijän ja/tai omistajan oikeuksia.
Tärkeimmät meitä kiinnostavat kysymykset ilmaisista lisensseistä olivat:
Pitäisikö ohjelmistoon tehdyt muutokset korjata, eikä niillä ole mitään tekemistä järjestelmän tekijänoikeuksien haltijan kanssa?
Johdetun ohjelmiston nimi ei saa olla sama kuin ohjelmiston omistajan nimi?
Onko mahdollista vaihtaa uusien versioiden lisenssi toiseksi, mukaan lukien oma versio?
Tarkastellessamme yleisimpien lisenssien luetteloa huolellisesti, valitsimme muutamia, joita harkitsimme tarkemmin. Mahdolliset lisenssit IONDV. puitteet olivat: GNU GPLv3, Apache 2.0, MIT ja MPL. MIT lähes välittömästi poissuljettu, tämä on salliva ei-copyleft-lisenssi, joka sallii koodin käytön, muokkaamisen ja jakelun lähes millä tahansa tavalla, mutta tämä vaihtoehto ei sopinut meille, halusimme silti lisenssin säätelevän tekijänoikeuden haltijan ja käyttäjä. Suurin osa GitHubin pienemmistä projekteista on julkaistu MIT-lisenssillä tai sen eri muunnelmilla. Lisenssi itsessään on hyvin lyhyt, ja kielloista vain merkintä ohjelmiston tekijän tekijästä.
Lisenssi oli seuraava. mpl 2.0. Rehellisesti sanottuna emme heti päässeet siihen, mutta tutkittuamme sitä yksityiskohtaisemmin poistimme sen nopeasti, koska suurin haittapuoli on, että lisenssiä ei sovelleta koko projektiin, vaan yksittäisiin tiedostoihin. Lisäksi, jos käyttäjä muokkaa tiedostoa, käyttäjä ei voi muokata lisenssiä. Itse asiassa, vaikka kuinka kovasti muutat avoimen lähdekoodin projektia, et voi kaupallistaa sitä tällaisen lisenssin takia. Tämä ei muuten koske tekijänoikeuksien haltijaa.
Samanlainen ongelma jatkuu lisenssin kanssa GNU GPLv3. Se edellyttää, että kaikki tiedostot jäävät sen alle. GNU GPL on copyleft-lisenssi, joka edellyttää, että johdannaisteokset ovat avoimen lähdekoodin ja pysyvät saman lisenssin alaisina. Toisin sanoen: kirjoittamalla kaksi riviä koodia uudelleen, sinun on tehtävä muutokset ja säilytettävä koodi GNU GPL:n alaisena jatkokäytön tai jakelun yhteydessä. Tässä tapauksessa tämä on rajoittava tekijä projektimme käyttäjälle, ei meille. Mutta GPL:n vaihtaminen mihinkään muuhun lisenssiin on kielletty, jopa GPL-versioissa. Esimerkiksi jos muutat LGPL (GPL-lisäosa) GPL:ään, LGPL:ään ei ole paluuta. Ja tämä kohta oli ratkaiseva vastaan-äänestyksessä.
Yleisesti ottaen valintamme kallistui alun perin kohti GPL3 juuri siksi, että muokattu koodi on jaettu samalla lisenssillä. Ajattelimme, että voisimme suojata tuotteemme tällä tavalla, mutta näimme vähemmän riskejä Apache 2.0:ssa. Free Software Foundationin mukaan GPLv3 on yhteensopiva Apache License v2.0:n kanssa, mikä tarkoittaa, että on aina mahdollista vaihtaa lisenssi Apache License v2.0:sta GPL v3.0:ksi.
Apache 2.0
Apache 2.0 — tasapainoinen salliva lisenssi, jossa korostetaan tekijänoikeuksia. Tässä ovat hänen vastauksensa kysymyksiimme. Pitäisikö ohjelmistoon tehdyt muutokset korjata, eikä niillä ole mitään tekemistä järjestelmän tekijänoikeuksien haltijan kanssa? Kyllä, kaikki muutokset on dokumentoitava, emmekä ole vastuussa lähdekoodista tai muokatusta. Muutokset sisältävä tiedosto on liitettävä siihen koodiin, jossa teit muutokset. Johdetun ohjelmiston nimi ei saa olla sama kuin ohjelmiston omistajan nimi? Kyllä, johdannaisohjelmistot on julkaistava eri nimellä ja eri tavaramerkillä, mutta tekijänoikeuksien haltijan maininnalla. Onko mahdollista vaihtaa uusien versioiden lisenssi toiseksi, mukaan lukien oma versio? Kyllä, voit julkaista eri lisensseillä, Apache 2.0 ei rajoita ei-kaupallisten ja kaupallisten lisenssien käyttöä.
Lisäksi, kun Apache 2.0:ssa julkaistaan uusia avoimeen koodiin perustuvia tuotteita tai lisätoimintoja sisältäviä tuotteita, samaa lisenssiä ei tarvitse käyttää. Alla näet kuvan, jossa on Apache 2.0 -lisenssin ehdot.
Lisenssi sisältää vaatimuksen säilyttää ja mainita tekijänoikeudet ja lisenssi, jolla ohjelmisto julkaistaan. Pakollinen saatavuus tekijänoikeushuomautus tekijänoikeuden haltijan nimellä ja lisenssi suojaa ohjelmiston alkuperäisen tekijän oikeuksia, koska vaikka se nimetään uudelleen, luovutetaan tai myydään toisella lisenssillä, tekijän merkki säilyy. Voit myös käyttää tiedostoa tähän. ILMOITUS ja liitä se joko lähdekoodiin tai projektin dokumentaatioon.
Julkaisemme kaikki tuotteemme Apache 2.0 -lisenssillä GitHubissa, paitsi IONDV. sota-arkisto, jonka lähdekoodin tämän vuoden huhtikuussa Far Eastern Center for Social Technologies julkaisi GPLv3-lisenssillä GitHubissa. Tällä hetkellä lisäksi puitteet ja moduulit julkaistu приложения valmistettu fremworkissa. Puhuimme jo Habresta projektinhallintajärjestelmä ja noin Viestintärekisteri.
Nuo. kehyksen yksityiskohdat
IONDV. Framework on avoimen lähdekoodin kehys node.js:lle korkean tason web-sovellusten luomiseen metatietoihin perustuen, mikä ei vaadi vakavia ohjelmointitaitoja.
Sovelluksen toiminnan perustana on tietorekisteri - rekisterimoduuli. Tämä on avainmoduuli, joka on suunniteltu suoraan työskentelemään metatietorakenteisiin perustuvien tietojen kanssa - mukaan lukien projektien, ohjelmien, tapahtumien jne. hallintaan. Projekti käyttää myös portaalimoduulia mielivaltaisten tietomallien näyttämiseen - se toteuttaa arkistotiedostojen rekisterin etuosan .
MongoDb:tä käytetään DBMS:ssä - se tallentaa sovellusasetukset, metatiedot ja itse tiedot.
Kuinka hakea lisenssiä projektiisi?
Lisää tiedosto LISENSSI lisenssin tekstin kanssa projektisi arkistoon ja voilà, projekti on suojattu Apache 2.0:lla. Sinun on määritettävä tekijänoikeuksien haltija, tämä on tekijänoikeushuomautus. Voit tehdä tämän lähdekoodissa tai tiedostossa ILMOITUS (tekstitiedosto, jossa luetellaan kaikki Apache-lisenssillä lisensoidut kirjastot sekä niiden tekijöiden nimet). Laita itse tiedosto joko lähdekoodiin tai työn mukana toimitettuun dokumentaatioon. Meillä näyttää tältä:
"Lisenssi" tarkoittaa käyttöä, jäljentämistä,
ja jakelu tämän asiakirjan osien 1–9 mukaisesti.
"Lisenssinantaja" tarkoittaa tekijänoikeuden omistajaa tai valtuuttamaa tahoa
lisenssin myöntävän tekijänoikeuksien omistajan.
"Oikeussubjekti" tarkoittaa toimivan yhteisön ja kaiken liittoa
muut yhteisöt, jotka hallitsevat, ovat määräysvallassa tai ovat yhteisen alaisuudessa
hallita kyseisen yksikön kanssa. Tässä määritelmässä
"ohjaus" tarkoittaa (i) suoraa tai epäsuoraa valtaa aiheuttaa
- tällaisen yhteisön johto tai johto joko sopimuksella tai -
muutoin, tai (ii) vähintään 50 prosentin (XNUMX prosentin) omistusosuus
tai (iii) tällaisen yhteisön tosiasiallinen omistaja.
"Sinä" (tai "Sinun") tarkoittaa yksityishenkilöä tai oikeushenkilöä
käyttää tämän lisenssin myöntämiä oikeuksia.
"Lähdelomakkeella" tarkoitetaan suositusta muotoa muutosten tekemiseen,
mukaan lukien mutta ei rajoittuen ohjelmiston lähdekoodiin, dokumentaatioon
lähde- ja määritystiedostot.
"Osomuoto" tarkoittaa mitä tahansa mekaanista tulosta
Lähdelomakkeen muunnos tai käännös, mukaan lukien mutta
ei rajoitu koottuun objektikoodiin, luotuun dokumentaatioon,
ja muuntaminen muille mediatyypeille.
"Teos" tarkoittaa tekijän työtä, joko Lähde- tai
Objektilomake, joka on saatavana lisenssillä, kuten a
teokseen sisältyvä tai siihen liitetty tekijänoikeusilmoitus
(esimerkki on alla olevassa liitteessä).
"Johdannaisteokset" tarkoittaa mitä tahansa teosta, joko lähteessä tai objektissa
muoto, joka perustuu Teokseen (tai on johdettu siitä) ja jota varten
toimitukselliset versiot, huomautukset, yksityiskohdat tai muut muutokset
edustavat kokonaisuutena alkuperäistä kirjoittajateosta. Tarkoituksiin
Tämän lisenssin kohdassa Johdannaiset teokset eivät sisällä jäljellä olevia teoksia
erotettavissa tai vain linkittää (tai sitoa nimellä) niiden käyttöliittymiin
teos ja sen johdannaiset teokset.
"Syötös" tarkoittaa mitä tahansa tekijän teosta, mukaan lukien
teoksen alkuperäinen versio ja mahdolliset muutokset tai lisäykset
siihen teokseen tai sen johdannaisteoksiin, tarkoituksella
tekijänoikeuksien omistaja toimitti lisenssinantajalle sisällytettäväksi teokseen
tai yksityishenkilö tai oikeushenkilö, jolla on valtuudet toimittaa
tekijänoikeuden omistaja. Tässä määritelmässä "toimitettu"
tarkoittaa mitä tahansa lähetetyn sähköisen, suullisen tai kirjallisen viestinnän muotoa
lisenssinantajalle tai sen edustajille, mukaan lukien muun muassa
viestintä sähköisissä postituslistoissa, lähdekoodin ohjausjärjestelmissä,
ja antaa seurantajärjestelmiä, joita hallinnoi
Lisenssinantaja työn keskustelemiseksi ja parantamiseksi, mutta
poissulkevaa viestintää, joka on merkitty selvästi tai muuten
tekijänoikeuden omistaja on nimennyt kirjallisesti "Ei panokseksi".
"Käyttäjä" tarkoittaa Lisenssinantajaa ja mitä tahansa yksityishenkilöä tai oikeushenkilöä
jonka puolesta lisenssinantaja on vastaanottanut lahjoituksen ja
myöhemmin sisällytetty teokseen.
Tekijänoikeuslisenssin myöntäminen. Käyttöehtojen mukaisesti
tämän Lisenssin, jokainen Avustaja myöntää sinulle ikuisen,
maailmanlaajuisesti, ei yksinomainen, maksuton, rojaltivapaa, peruuttamaton
tekijänoikeuslupa jäljentää, valmistaa johdannaisia teoksia,
näyttää, julkisesti suorittaa, alilisensoida ja levittää
Teos ja tällaiset johdannaiset teokset lähde- tai objekti-muodossa.
Patenttilisenssin myöntäminen. Käyttöehtojen mukaisesti
tämän Lisenssin, jokainen Avustaja myöntää sinulle ikuisen,
maailmanlaajuisesti, ei yksinomainen, maksuton, rojaltivapaa, peruuttamaton
(lukuun ottamatta tässä osiossa mainittuja tapauksia) patenttilupa tehdä, tehdä,
käyttää, tarjota myydä, myydä, tuoda ja muuten siirtää Teosta,
jos tällainen lisenssi koskee vain lisensoitavia patenttihakemuksia
sellainen Contributor, jota heidän väistämättä rikkoo
Avustukset yksin tai niiden yhdistelmällä
teoksen kanssa, jolle tällainen panos on lähetetty. Jos sinä
aloittaa patenttioikeudenkäynnit mitä tahansa yhteisöä (mukaan lukien a
vastakanne tai vastakanne oikeudenkäynnissä), jonka mukaan Teos
tai teokseen sisällytetty julkaisu on suora
tai vastaavan patentinloukkauksen, sitten kaikki patenttilisenssit
Tämän lisenssin nojalla teille tämän Työn perusteella myönnetyt oikeudet päättyvät
tällaisen oikeudenkäynnin tekopäivästä alkaen.
uudelleenjako. Voit jäljentää ja jakaa kopioita
Teos tai sen johdannaiset teokset missä tahansa välineessä, ilman tai ilman
modifikaatioita sekä Lähde- tai Objekti-muodossa edellyttäen, että sinä
täyttävät seuraavat ehdot:
(a) Sinun on annettava muille teoksen vastaanottajille tai
Johdannainen toimii kopio tästä lisenssistä; ja
(b) Sinun on saatettava muokatut tiedostot näkyviin ilmoituksiin
ilmoitat, että muutit tiedostoja; ja
(d) Jos teos sisältää "ILMOITUS"-tekstitiedoston osana sitä
jakelu, sitten kaikkien levittämiesi johdannaistuotteiden on oltava
sisältää luettavissa olevan kopion sisältämistä attribuutiohuomautuksista
sellaisessa NOTICE-tiedostossa, lukuun ottamatta niitä ilmoituksia, jotka eivät ole
koskevat vähintään yhtä Johdannaisteoksen osaa
seuraavista paikoista: jaetun NOTICE-tekstitiedoston sisällä
osana johdannaisia; Lähde-muodossa tai
dokumentaatio, jos se toimitetaan yhdessä johdannaisteosten kanssa; tai,
johdannaisteosten luomassa näytössä, jos ja
missä tällaiset kolmannen osapuolen ilmoitukset yleensä esiintyvät. Sisältö
NOTICE-tiedoston kohdat ovat vain tiedoksi ja
älä muuta lisenssiä. Voit lisätä oman attribuutiosi
Johdannaisten teoksissa olevat ilmoitukset, joita jaat yhdessä
tai liitteenä teoksen ILMOITUS-tekstiin
että tällaisia lisäomistusilmoituksia ei voida tulkita
lisenssin muokkaamiseksi.
Voit lisätä oman tekijänoikeuslausekkeesi muutoksiin ja
voi tarjota uusia tai erilaisia lisenssiehtoja
muokkaustesi käyttöön, jäljentämiseen tai jakeluun, tai
mistä tahansa johdannaisteoksesta kokonaisuudessaan edellyttäen, että
teoksen kopiointi ja jakelu muutoin noudattaa
tässä lisenssissä mainittuja ehtoja.
Avustusten lähettäminen. Ellei nimenomaisesti toisin ilmoita,
kaikki Teokseen sisällyttämistä varten tarkoituksella toimitetut lahjoitukset
jonka lisenssinantajalle toimitat, tulee olla
ilman lisäkäyttöehtoja.
Edellä esitetystä huolimatta mikään tässä oleva ei korvaa tai muuta
mahdollisesti suorittamasi erillisen lisenssisopimuksen ehdot
lisenssinantajan kanssa tällaisista lahjoituksista.
Tavaramerkit. Tämä lisenssi ei anna lupaa kaupan käyttöön
lisenssinantajan nimet, tavaramerkit, palvelumerkit tai tuotenimet,
lukuun ottamatta kohtuullisen ja tavanomaisen käytön edellyttämiä vaatimuksia
teoksen alkuperän ja NOTICE-tiedoston sisällön toistamisen.
Takuun vastuuvapauslauseke. Ellei sovellettava laki sitä vaadi tai
kirjallisesti sovittu, lisenssinantaja toimittaa teoksen (ja kukin
Contributor toimittaa lahjoituksensa) "SELLAISENAAN",
Ilman minkään tyyppisiä takuita tai ehtoja, joko ilmaista tai
mukaan lukien, ilman rajoituksia, takuut tai ehdot
otsakkeesta, RIKKOMATTOMUUS, MYYNTIKELPOISUUS tai SOVELTUVUUS A: lle
TIETTY TARKOITUS. Olet yksin vastuussa
Teoksen käytön tai levittämisen tarkoituksenmukaisuus ja olettaa sen olevan
tämän lisenssin mukaisten käyttöoikeuksien käyttämiseen liittyvät riskit.
Vastuun rajoitus. Missään tapauksessa ja minkään oikeusteorian alla,
joko vahingonkorvauksessa (mukaan lukien huolimattomuus), sopimuksessa tai muulla tavalla,
ellei sovellettava laki sitä vaadi (kuten tahallinen ja karkea
laiminlyönnistä) tai kirjallisesti sovitun, kuka tahansa Avustaja on
vastuussa sinulle vahingoista, mukaan lukien kaikki välittömät, välilliset, erityiset,
satunnaiset tai välilliset vahingot, jotka johtuvat a
tämän lisenssin seurauksena tai sen käytöstä tai kyvyttömyydestä käyttää sitä
Työ (mukaan lukien, mutta ei rajoittuen, liikearvon,
työn pysähtyminen, tietokoneen vika tai toimintahäiriö tai kaikki
muut kaupalliset vahingot tai tappiot), vaikka tällainen Avustaja
on ilmoitettu tällaisten vahinkojen mahdollisuudesta.
Takuun tai lisävastuun hyväksyminen. Uudelleenjakelun aikana
teoksesta tai sen johdannaisista teoksista, voit halutessasi tarjota
ja periä maksu tuen hyväksymisestä, takuusta, korvauksesta,
tai muita tämän mukaisia vastuuvelvoitteita ja / tai -oikeuksia
Lisenssi. Hyväksyessäsi tällaiset velvoitteet voit kuitenkin toimia vain
omalla puolellasi ja omalla vastuullasi, ei puolestasi
minkä tahansa muun Avustajan kanssa, ja vain, jos suostut korvaamaan
puolustaa ja pitää jokaista osallistujaa vaarattomana vastuusta
kyseiselle Contributorille aiheutuneet tai sille esitetyt vaatimukset
takuun tai lisävastuun hyväksymisestä.
LOPPU EHDOT
LIITE: Apache-lisenssin soveltaminen työhösi.
Jos haluat käyttää Apache-lisenssiä työhösi, liitä seuraava
ilmoitus, jossa kentät suluissa "[]"
korvataan omilla tunnistetiedoillasi. (Älä sisällytä
suluissa!) Teksti on liitettävä asianmukaiseen
tiedostomuodon kommenttisyntakse. Suosittelemme myös, että a
tiedosto tai luokan nimi ja tarkoituksen kuvaus on sisällytettävä
sama "painettu sivu" kuin tekijänoikeusilmoituksessa helpommin
tunnistaminen kolmansien osapuolten arkistoissa.
Apache-lisenssin versio 2.0 ("Lisenssi") lisensoitu;
et saa käyttää tätä tiedostoa muuten kuin lisenssin mukaisesti.
Voit hankkia kopion lisenssistä osoitteessa
Ellei sovellettavassa lainsäädännössä vaadita tai kirjallisesti ole sovittu ohjelmistosta
Lisenssin alaisena jaettua jaetaan "SELLAISENAAN",
ILMAISIA TAKUITA TAI MITÄÄN MYÖNTÄMÄT EHDOT, joko välittömiä tai epäsuorat.
Katso käyttöoikeuksia koskevat käyttöoikeudet ja
lisenssin mukaiset rajoitukset.
Lisenssi = sopimus
Ilmainen lisenssi, vaikka se on ilmainen, ei salli sallivuutta, ja olemme jo antaneet esimerkkejä rajoituksista. Valitse lisenssi huomioiden sekä kiinnostuksesi että käyttäjä, koska avoimen lähdekoodin ohjelmistot on suunniteltu erityisesti hänelle. Projektin käyttäjän tulee nähdä lisenssi eräänlaisena sopimuksena hänen ja tekijänoikeuksien haltijan välillä, joten ennen kuin ryhdyt mihinkään lähdekoodiin liittyviin toimiin, tutustu huolellisesti projektilisenssin sinulle asettamiin rajoituksiin.
Toivomme, että olemme saaneet hieman valoa lisenssien aiheeseen ja asian monimutkaisuudesta huolimatta sen ei pitäisi muodostua esteeksi avoimen lähdekoodin tielle. Kehitä projektiasi äläkä unohda oikeuksiasi, sinun ja muiden oikeuksia.
Hyödyllisiä linkkejä
Lopuksi hyödyllisiä resursseja, jotka auttoivat meitä löytämään tietoa olemassa olevista lisensseistä ja valitsemaan tarkoituksiinsa sopivimman: