Kuidas valida GitHubi RAD-raamistiku jaoks avatud lähtekoodiga litsentsi

Selles artiklis räägime veidi autoriõigustest, kuid peamiselt RAD-raamistiku jaoks tasuta litsentsi valimisest IONDV. Raamistik ja sellel põhinevate avatud lähtekoodiga toodete jaoks. Me räägime teile loa litsentsist Apache 2.0, mis meid selleni viis ja milliste otsustega me selle käigus silmitsi seisime.

Litsentsi valimise protsess on üsna töömahukas ja sellele tuleks läheneda juba loetuna ning kui te pole just õnnelik õigushariduse omanik, siis avaneb teie ees kuni täielik infoväli erinevate tasuta litsentside kohta. Peamine asi, mida teha, on koostada mitmeid piiravaid kriteeriume. Arutelu ja järelemõtlemise käigus saate teie ja teie meeskond aru, mida soovite oma toote kasutajatele lubada ja mida keelata. Kui teil on juba kindel kirjeldus käes, peate selle olemasolevatele litsentsidele üle kandma ja valima selle, millel langeb kokku suurim arv punkte. See kõlab muidugi lihtsalt, kuid tegelikkuses, tavaliselt ka pärast arutelu, jäävad küsimused alles.

Kuidas valida GitHubi RAD-raamistiku jaoks avatud lähtekoodiga litsentsi

Esiteks link aadressile selectalicense.com, kasulik sait, mida kasutasime laialdaselt. Pöörake erilist tähelepanu võrdlustabel litsentsid vastavalt 13 põhikriteeriumile. Olgu teiega inglise keel ja kannatlikkus.

Valik jahu

Alustame litsentside üldistest funktsioonidest tasuta tarkvara. Avatud lähtekoodiga tarkvara eeldab eranditult tasuta litsentsi, mis ei piira kaubanduslikku ja mitteärilist levitamist vastavalt mudelile Ava Core. Sellest tulenevalt ei saa tarkvara tasuta litsentsi alusel võrku panemine täielikult piirata selle edastamist, levitamist ja müüki kolmandate osapoolte poolt ning selleks peate lihtsalt vaimselt valmis olema.

Tasuta litsents annab kasutajale õiguse osaleda tarkvara pöördprojekteerimises või muuta seda muul võimalikul viisil. Enamik litsentse ei luba teil toodet ümber nimetada ega sellega manipuleerida, muutes süsteemi autori ja/või omaniku õigusi.

Peamised küsimused, mis meid tasuta litsentside kohta huvitasid, olid:

  1. Kas tarkvaras tehtud muudatused tuleks salvestada ja need ei tohiks olla seotud süsteemi autoriõiguste omanikuga?
  2. Kas tuletatud tarkvara nimi ei peaks olema sama, mis autoriõiguse omaniku tarkvara nimi?
  3. Kas uute versioonide litsentsi on võimalik vahetada mõne teise, sealhulgas patenteeritud versiooni vastu?

Olles hoolikalt uurinud kõige levinumate litsentside loendit, valisime välja mitu, mida kaalusime üksikasjalikumalt. Potentsiaalsed litsentsid IONDV. Raamistik olid: GNU GPLv3, Apache 2.0, MIT ja MPL. MIT peaaegu kohe välistatud, see on lubav mitte-copyleft litsents, mis lubab koodi peaaegu igal viisil kasutada, muuta ja levitada, kuid me ei olnud selle võimalusega rahul, soovisime siiski, et litsents reguleeriks autoriõiguste vahelist suhet. hoidja ja kasutaja. Enamik väiksemaid GitHubi projekte avaldatakse MIT-i litsentsi või selle erinevate variatsioonide all. Litsents ise on väga lühike ja ainsad keelud on näidata tarkvara looja autorsust.

Järgmine oli litsents mpl 2.0. Tõsi, me ei jõudnud selleni kohe, kuid pärast põhjalikumat uurimist välistasime selle kiiresti, kuna peamine puudus on see, et litsents ei kehti kogu projektile, vaid üksikutele failidele. Lisaks, kui kasutaja muudab faili, ei saa ta litsentsi muuta. Tegelikult, hoolimata sellest, kui usinalt te avatud lähtekoodiga projekti muudate, ei saa te seda sellise litsentsi tõttu kunagi raha teenida. Muide, see ei puuduta autoriõiguste valdajat.

Sarnane probleem püsib ka litsentsiga GNU GPLv3. See nõuab, et kõik failid jääksid selle alla. GNU GPL on copyleft litsents, mis nõuab, et tuletistööd oleksid avatud lähtekoodiga ja jääksid sama litsentsi alla. See tähendab: kahe koodirea ümberkirjutamisel olete sunnitud oma muudatused sisse viima ja edasise kasutamise või levitamise ajal salvestama koodi GNU GPL-i alla. Sel juhul on see piirav tegur meie projekti kasutajale, mitte meile. Kuid GPL-i muutmine mis tahes muuks litsentsiks on keelatud, isegi GPL-i versioonides. Näiteks kui muudate LGPL (GPL-i lisand) GPL-ile, siis pole LGPL-i tagasiteed. Ja see punkt sai otsustavaks selle vastu hääletamisel.

Üldiselt kaldus meie valik alguses selle poole GPL3 just seetõttu, et muudetud koodi levitatakse sama litsentsi all. Arvasime, et nii saame oma toote turvalisemaks muuta, kuid nägime Apache 2.0 puhul vähem riske. Free Software Foundationi andmetel ühildub GPLv3 Apache License v2.0-ga, mis tähendab, et Apache License v2.0 litsentsi on alati võimalik muuta GPL v3.0-ks.

Apache 2.0

Apache 2.0 — tasakaalustatud lubav litsents, rõhuasetusega autoriõigusele. Siin on vastused küsimustele, mis meid huvitasid. Kas tarkvaras tehtud muudatused tuleks salvestada ja need ei tohiks olla seotud süsteemi autoriõiguste omanikuga? Jah, kõik muudatused peavad olema dokumenteeritud ja me ei vastuta algse ega muudetud koodi eest. Muudatustega fail tuleb lisada koodile, milles need muudatused tegite. Kas tuletatud tarkvara nimi ei peaks olema sama, mis autoriõiguse omaniku tarkvara nimi? Jah, tuletatud tarkvara tuleks välja anda teise nime ja teise kaubamärgi all, kuid koos viitega autoriõiguste omanikule. Kas uute versioonide litsentsi on võimalik vahetada mõne teise, sealhulgas patenteeritud versiooni vastu? Jah, seda saab välja anda erinevate litsentside alusel, Apache 2.0 ei piira mitteäriliste ja kommertslitsentside kasutamist.

Samuti ei ole Apache 2.0 jaoks avatud lähtekoodil põhinevate uute toodete või lisafunktsionaalsusega toodete väljalaskmisel vaja sama litsentsi kasutada. Allpool näete pilti Apache 2.0 litsentsi tingimuste ja piirangutega.

Kuidas valida GitHubi RAD-raamistiku jaoks avatud lähtekoodiga litsentsi

Litsents seab nõude säilitada ja mainida autoriõigusi ja litsentsi, mille alusel tarkvara välja antakse. Kohustuslik kättesaadavus autoriõiguse teatis autoriõiguse omaniku nimega ja litsents kaitseb tarkvara algse autori õigusi, sest isegi kui see ümbernimetatakse, kinkitakse või müüakse teise litsentsi alusel, jääb autori märk ikkagi alles. Selleks saate kasutada ka faili TEADE ja lisage see kas lähtekoodile või projekti dokumentatsioonile.

Avaldame kõik meie tooted, mis on GitHubis Apache 2.0 litsentsi alusel avalikult saadaval, v.a IONDV. Sõja arhiiv, mille lähtekoodi avaldas Kaug-Ida sotsiaaltehnoloogiate keskus selle aasta aprillis GitHubis GPLv3 litsentsi all. Hetkel on lisaks raamistik ja moodulid avaldatud rakendused tehtud karkassil. Keskuses, millest me juba rääkisime Projektijuhtimissüsteem ja umbes Sideregister.

Need. üksikasjad raamistiku kohta

IONDV. Framework on node.js-l põhinev avatud lähtekoodiga raamistik kõrgetasemeliste metaandmetel põhinevate veebirakenduste loomiseks, mis ei nõua tõsiseid programmeerimisoskusi.

Rakenduse funktsionaalsuse aluseks on andmeregister - Registrimoodul. See on võtmemoodul, mis on loodud otse metaandmestruktuuridel põhinevate andmetega töötamiseks – sh projektide, programmide, sündmuste jms haldamiseks. Projektis kasutatakse ka portaali moodulit suvaliste andmemallide kuvamiseks – see juurutab arhiivi esiregistri.

DBMS-i jaoks kasutatakse MongoDb-d – see salvestab rakenduse sätted, metaandmed ja andmed ise.

Kuidas oma projektile litsentsi taotleda?

Lisage fail LITSENTSI litsentsi tekstiga teie projekti hoidlas ja voilà, Apache 2.0-ga kaitstud projekt. Peate märkima autoriõiguse omaniku, see on kõik autoriõiguse teatis. Seda saab teha lähtekoodis või failis TEADE (tekstifail, milles on loetletud kõik Apache litsentsi alusel litsentsitud raamatukogud koos nende loojate nimedega). Asetage fail ise kas lähtekoodi või koos tööga levitatavasse dokumentatsiooni. Meie jaoks näeb see välja selline:

Autoriõigus © 2018 ION DV LLC.
Litsentsitud Apache litsentsi versiooni 2.0 alusel

Apache 2.0 litsentsi tekst

Apache'i litsents
Versioon 2.0, jaanuar 2004
http://www.apache.org/licenses/

KASUTAMISE, TAASKASUTAMISE JA LEVITAMISE TINGIMUSED

  1. Mõisted.

    "Litsents" tähendab kasutamise, reprodutseerimise,
    ja levitamine, nagu on määratletud käesoleva dokumendi 1. – 9.

    "Litsentsiandja" tähendab autoriõiguse omanikku või volitatud üksust
    autoriõiguste omanik, kes annab litsentsi.

    "Juriidiline isik" tähendab tegutseva üksuse ja kõige muu liitu
    muud üksused, mis kontrollivad, on tema kontrolli all või on ühise kontrolli all
    kontrolli selle üksusega. Selle määratluse tähenduses
    "kontroll" tähendab (i) otsest või kaudset jõudu, mis põhjustab
    sellise üksuse juhtimine või juhtimine, kas lepinguga või
    muul juhul või (ii) viiekümne protsendi (50%) või suurema osaluse omamine
    (iii) sellise üksuse tegelikud omanikud.

    "Teie" (või "Teie") tähendab füüsilist või juriidilist isikut
    käesoleva litsentsiga antud õiguste kasutamine.

    "Allikas" tähendab eelistatud vormi muudatuste tegemiseks,
    sh tarkvara lähtekood, dokumentatsioon, kuid mitte ainult
    lähte- ja konfiguratsioonifailid.

    Objekti vorm tähendab mehaaniliselt saadud mis tahes vormi
    Allika vormi teisendamine või tõlkimine, sh
    mitte ainult kompileeritud objektikood, loodud dokumentatsioon,
    ja teisendused muudele meediumitüüpidele.

    "Teos" tähendab autoriteost, olgu siis allikas või
    Objekti vorm, mis on kättesaadav litsentsi alusel, millele viitab a
    autoriõiguse teade, mis on teosesse lisatud või lisatud
    (näide on toodud allolevas lisas).

    "Tuletatud teosed" tähendab mis tahes teost, olgu siis allikas või objektis
    vorm, mis põhineb teosel (või on sellest tuletatud) ja mille jaoks
    toimetuse redaktsioonid, märkused, täiendused või muud muudatused
    esindavad tervikuna originaalset autoriteost. Eesmärkidel
    käesoleva litsentsi kohaselt ei hõlma tuletatud teosed allesjäänud teoseid
    liideseid eraldada või lihtsalt linkida (või siduda nimega)
    teos ja selle tuletatud teosed.

    "Kaastöö" tähendab mis tahes autoriteost, sealhulgas
    teose algversioon ja kõik muudatused või täiendused
    selle teose või selle tuletatud teoste juurde, see tähendab tahtlikult
    esitas litsentsiandjale autoriõiguste omanik teosesse lisamiseks
    või füüsiline või juriidiline isik, kellel on õigus esitada
    autoriõiguse omanik. Selle määratluse tähenduses on „esitatud”
    tähendab mis tahes vormis saadetud elektroonilist, suulist või kirjalikku suhtlust
    litsentsiandjale või tema esindajatele, sealhulgas, kuid mitte ainult
    suhtlemine elektroonilistes meililistides, lähtekoodi juhtimissüsteemides,
    ja väljastada jälgimissüsteeme, mida haldab või haldab
    Litsentsiandja töö arutamiseks ja täiustamiseks, kuid
    välja arvatud silmatorkavalt tähistatud või muul viisil suhtlemine
    autoriõiguse omaniku poolt kirjalikult märgitud "ei ole kaastöö".

    "Kaasautor" tähendab litsentsiandjat ja mis tahes füüsilist või juriidilist isikut
    kelle nimel litsentsiandja on saanud kaastöö ja
    hiljem töö sisse lülitatud.

  2. Autoriõiguse litsentsi andmine. Vastavalt tingimustele
    käesoleva litsentsi annab iga kaastöötaja teile igavese,
    kogu maailmas, mitte ainuõiguslik, tasuta, autoritasuta, tühistamatu
    autoriõigusega litsents reprodutseerida, valmistada
    avalikult kuvama, avalikult esitama, alllitsentsima ja levitama
    Teos ja sellised tuletatud teosed allika või objekti kujul.

  3. Patendilitsentsi andmine. Vastavalt tingimustele
    käesoleva litsentsi annab iga kaastöötaja teile igavese,
    kogu maailmas, mitte ainuõiguslik, tasuta, autoritasuta, tühistamatu
    patendilitsentsi (välja arvatud käesolevas osas märgitu korral)
    teost kasutada, müüa, müüa, importida ja muul viisil üle anda,
    kui selline litsents kehtib ainult litsentsitavate patendinõuete kohta
    sellise Contributori poolt, mida nad tingimata rikuvad
    Kaastöö (d) üksi või nende panuse kombinatsioon
    tööga, millele selline kaastöö (d) esitati. Kui sa
    algatada patendivaidlusi mis tahes üksuste (sealhulgas a
    vastuhagi või vastuhagi kohtuasjas), milles väidetakse, et Töö
    või teosesse lisatud kaastöö on otsene
    või kaasaaitavat patendi rikkumist, siis kõik patendilitsentsid
    selle töö jaoks antud litsentsi alusel teile antud teenus lõpeb
    sellise kohtuvaidluse esitamise kuupäeva seisuga.

  4. Ümberjagamine. Saate selle koopiaid paljundada ja levitada
    Teos või selle tuletatud teosed mis tahes andmekandjas koos või ilma
    muudatused ning vormis Allikas või Objekt, tingimusel et teie
    vastavad järgmistele tingimustele:

    a) Te peate andma teistele teose saajatele või
    Tuletis töötab selle litsentsi koopia; ja

    (b) Kõik muudetud failid peavad kandma silmapaistvaid märguandeid
    teatades, et muutsite faile; ja

    © Peate säilitama mis tahes tuletatud teose allika kujul
    et te levitate kõiki autoriõigusi, patente, kaubamärke ja
    omistamisteated teose Allikas vormilt,
    välja arvatud need teated, mis ei puuduta ühegi programmi osa
    tuletatud teosed; ja

    (d) Kui teos sisaldab osana tekstifaili „MÄRKUS”.
    levitamine, siis peavad kõik levitatavad tööd, mida levitate
    lisada loetavate koopiate omistamisteatistest
    sellises MÄRKUS-failis, välja arvatud need teated, mis seda ei tee
    on seotud vähemalt ühe tuletatud teose osaga
    järgmistest kohtadest: levitatud tekstifailis NOTICE
    tuletatud teoste osana; vormis Allikas või
    dokumentatsioon, kui see on koos tuletatud töödega; või
    tuletatud teoste loodud kuvas, kui ja
    kus sellised kolmandate isikute teated tavaliselt ilmuvad. Sisu
    faili MÄRKUS on ainult informatiivsel eesmärgil ja
    ärge muutke litsentsi. Võite lisada oma omistamise
    tuletatud teoste teated, mida levitate koos
    või lisatud töö TEATIS teksti lisana
    et selliseid täiendavaid omistamisteateid ei saa tõlgendada
    kui litsentsi muutmine.

    Võite oma muudatustele lisada oma autoriõiguse avalduse ja
    võib pakkuda täiendavaid või erinevaid litsentsitingimusi
    teie modifikatsioonide kasutamiseks, reprodutseerimiseks või levitamiseks või
    mis tahes selliste tuletatud teoste jaoks tervikuna, tingimusel et teie
    teose reprodutseerimine ja levitamine vastab muidu
    käesolevas litsentsis sätestatud tingimustel.

  5. Kaastööde esitamine. Kui te ei ole sõnaselgelt teisiti öelnud,
    kõik kaastööd, mis on tahtlikult esitatud töö lisamiseks
    mille te litsentsiandjale edastate, tuleb järgida
    käesolevat litsentsi, ilma täiendavate tingimusteta.
    Vaatamata ülaltoodule ei asenda miski käesolevat dokumenti ega muuda seda
    kõigi teie poolt sõlmitud eraldi litsentsilepingute tingimused
    selliste panuste kohta litsentsiandjaga.

  6. Kaubamärgid. See litsents ei anna luba kaubanduse kasutamiseks
    litsentsiandja nimed, kaubamärgid, teenusemärgid või tootenimed,
    välja arvatud juhul, kui see on vajalik mõistliku ja tavapärase kasutamise jaoks
    teose päritolu ja faili MÄRKUS sisu reprodutseerimine.

  7. Garantiist loobumine. Kui seda ei nõua kohaldatav seadus või
    kirjalikult kokku lepitud, annab Litsentsiandja Teose (ja igaüks
    Contributor esitab oma kaastööd) „NAGU ON”,
    ILMA GARANTIIDE VÕI TINGIMUSTEGA, KÕIGI VÕIMALIKUD, otsesed või
    kaudselt, kaasa arvatud piiranguteta garantiid või tingimused
    jaotisest TITLE, rikkumisi, rikkumisi, müümisvõimet või sobivust A-le
    Konkreetne eesmärk. Selle määramise eest vastutate ainuisikuliselt
    Teose kasutamise või ümberjagamise asjakohasus ja eeldage, et see on olemas
    riskid, mis on seotud selle litsentsi alusel teie õiguste kasutamisega.

  8. Vastutuse piirang. Mitte mingil juhul ja õigusteooria alusel
    kas delikti (sealhulgas hooletuse), lepingu alusel või muul viisil,
    välja arvatud juhul, kui kohaldatav seadus seda nõuab (näiteks tahtlik ja jämedalt
    hooletute tegude korral) või kirjalikult kokku lepitud, peab kaastöötaja olema
    vastutab teie ees kahjude eest, sealhulgas otsese, kaudse, erilise,
    mis tahes laadi juhuslikud või tagajärglikud kahjud, mis tekivad a
    selle litsentsi tagajärjel või selle kasutamise või võimetuse tõttu
    Töö (sealhulgas, kuid mitte ainult, firmaväärtuse kaotamise,
    tööseisak, arvuti rike või talitlushäired või kõik
    muud kaubanduslikud kahjud või kahjud), isegi kui selline kaastöötaja
    on selliste kahjude võimalikkusest teavitatud.

  9. Garantii või lisavastutuse aktsepteerimine. Ümberjagamise ajal
    või selle tuletatud teoseid, võite valida, kas pakkuda
    ja võtta tasu toetuse aktsepteerimise, garantii, hüvitise,
    või muid sellega vastutavaid kohustusi ja / või õigusi
    Litsents. Selliste kohustuste vastuvõtmisel võite aga tegutseda ainult
    enda nimel ja ainult teie vastutusel, mitte nimel
    mis tahes muu kaastöötaja poolt ja ainult siis, kui nõustute hüvitama,
    kaitsta ja hoida iga kaastöötajat vastutustundetuna
    sellise Kaasautori poolt põhjustatud või tema vastu esitatud nõuded
    sellise garantii või täiendava vastutuse võtmisest.

    LÕPP TINGIMUSED

    LISA: kuidas Apache'i litsentsi oma tööle rakendada.

    Apache'i litsentsi rakendamiseks oma tööle lisage järgmine
    katlaplaadi teade, mille väljad on sulgudes "[]"
    asendatakse teie enda identifitseerimisandmetega. (Ärge lisage
    sulgudes!) Tekst tuleks lisada vastavasse
    failivormingu kommentaari süntaks. Samuti soovitame a
    faili või klassi nimi ja eesmärgi kirjeldus tuleb lisada
    sama "prinditud leht" nagu autoriõiguse teatis, et hõlbustada
    identifitseerimine kolmandate isikute arhiivides.

    Autoriõigus [aaaa] [autoriõiguste omaniku nimi]

    Litsentsitud Apache litsentsi versiooni 2.0 ("Litsents") alusel;
    te ei tohi seda faili kasutada, välja arvatud vastavalt litsentsile.
    Litsentsi koopia saate hankida aadressil

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

    Tarkvara, kui see pole kohaldatava seadusega nõutud või kirjalikult kokku lepitud
    litsentsi alusel levitatud levitatakse "NAGU ON",
    ILMA GARANTIIDE VÕI MISTE TINGIMUSTE OSAS, olenemata sellest, kas need on otsesed või kaudsed.
    Vaadake litsentsi konkreetsete keelte ja litsentside kohta
    litsentsi alusel.

Litsents = leping

Tasuta litsents, kuigi see on tasuta, ei luba lubadust ja oleme juba toonud näiteid piirangutest. Vali litsents nii enda kui ka kasutaja huve arvestades, sest avatud lähtekoodiga tarkvara on loodud just tema jaoks. Projekti kasutaja peaks litsentsi tajuma kui omamoodi lepingut tema ja autoriõiguste omaniku vahel, nii et enne lähtekoodiga seotud toimingute tegemist uurige hoolikalt projekti litsentsiga teile seatud piiranguid.

Loodame, et oleme litsentside teemat veidi valgustanud ja vaatamata probleemi keerukusele ei tohiks see saada takistuseks teie teel avatud lähtekoodiga. Arendage oma projekti ja ärge unustage enda ja teiste õigusi.

Kasulikud lingid

Lõpetuseks mõned kasulikud ressursid, mis aitasid meid olemasolevate litsentside kohta teabe otsimisel ja meie eesmärkide jaoks sobivaima valikul:

Allikas: www.habr.com

Lisa kommentaar