Hoe kinne jo in Open Source-lisinsje kieze foar it RAD-ramt op GitHub

Yn dit artikel sille wy in bytsje prate oer copyright, mar benammen oer it kiezen fan in fergese lisinsje foar it RAD-ramt IONDV. Kader en foar iepen boarne produkten basearre op it. Wy sille fertelle jo oer de fergunning lisinsje Apache 2.0, oer wat ús dêrta liede en hokker besluten wy yn it proses tsjinkamen.

It proses fan it kiezen fan in lisinsje is frij arbeidsyntinsyf en moat al goed lêzen wurde benadere, en as jo gjin lokkige eigner binne fan in juridyske oplieding, dan iepenet in oantoane fjild fan ynformaasje oer ferskate fergese lisinsjes foar jo. It wichtichste ding om te dwaan is om in oantal beheinende kritearia op te stellen. Troch it proses fan diskusje en refleksje kinne jo en jo team begripe wat jo wolle tastean brûkers fan jo produkt en wat te ferbieden. As jo ​​​​al in bepaalde beskriuwing yn jo hannen hawwe, moatte jo it oerlizze op 'e besteande lisinsjes en selektearje dejinge wêr't it grutste oantal punten gearfalle. It klinkt fansels ienfâldich, mar yn werklikheid, meastentiids ek nei diskusje, bliuwe fragen.

Hoe kinne jo in Open Source-lisinsje kieze foar it RAD-ramt op GitHub

Earst, in keppeling nei selectalicense.com, in nuttige side dy't wy wiidweidich brûkten. Jou spesjaal omtinken oan ferliking tabel lisinsjes neffens 13 wichtichste kritearia. Mei Ingelsk en geduld mei jo wêze.

Miel fan kar

Litte wy begjinne mei de algemiene funksjes fan lisinsjes foar frije software. Iepenboarne software ymplisearret in eksklusyf fergese lisinsje, dy't gjin kommersjele en net-kommersjele distribúsje beheine neffens it model Iepenje Core. Dêrtroch kin it pleatsen fan software op it netwurk ûnder in fergese lisinsje de oerdracht, distribúsje en ferkeap troch tredden net folslein beheine, en jo moatte gewoan mentaal taret wurde op dit.

In fergese lisinsje jout de brûker it rjocht om diel te nimmen oan reverse engineering fan de software of op oare beskikbere manieren te feroarjen. De measte lisinsjes tastean jo net om de namme fan it produkt of it útfieren fan manipulaasjes mei it, feroarjen fan de rjochten fan de auteur en / of eigner fan it systeem.

De wichtichste fragen wêryn wy ynteressearre wiene oer fergese lisinsjes wiene:

  1. Moatte wizigingen makke oan 'e software wurde opnommen en hawwe gjin relaasje mei de auteursrjochthâlder fan it systeem?
  2. Moat de namme fan de ôfgeleide software net itselde wêze as de namme fan de software fan de auteursrjochthâlder?
  3. Is it mooglik om de lisinsje foar nije ferzjes te feroarjen nei in oare, ynklusyf in proprietêre?

Nei't se soarchfâldich sjoen hawwe nei de list mei de meast foarkommende lisinsjes, hawwe wy ferskate selekteare dy't wy yn mear detail beskôgje. Potinsjele lisinsjes foar IONDV. Kader wiene: GNU GPLv3, Apache 2.0, MIT en MPL. MIT hast fuortendaliks útsletten, dit is in permissive net-copyleft-lisinsje, dy't it gebrûk, wizigjen en fersprieden fan 'e koade op hast elke manier mooglik makket, mar wy wiene net bliid mei dizze opsje, wy woene noch altyd de lisinsje om de relaasje tusken it auteursrjocht te regeljen hâlder en de brûker. De measte fan 'e lytsere projekten op GitHub wurde publisearre ûnder de MIT-lisinsje as syn ferskate fariaasjes. De lisinsje sels is heul koart, en de ienige ferbeanen binne om it auteurskip fan 'e software-skepper oan te jaan.

Dêrnei wie de lisinsje mpl 2.0. Fansels binne wy ​​der net daliks oan ta kommen, mar nei it yngeand bestudearjen hawwe wy it gau útsletten, want it wichtichste nadeel is dat de lisinsje net jildt foar it hiele projekt, mar foar yndividuele bestannen. Derneist, as de brûker it bestân feroaret, kin hy de lisinsje net feroarje. Yn feite, nettsjinsteande hoe iverich jo in Iepenboarne-projekt feroarje, jo sille it noait kinne monetearje fanwegen sa'n lisinsje. Trouwens, dit giet de auteursrjochthâlder net oan.

In ferlykber probleem bliuwt mei de lisinsje GNU GPLv3. It fereasket dat elk bestân derûnder bliuwt. De GNU GPL is in copyleft-lisinsje dy't fereasket dat derivative wurken iepen boarne binne en ûnder deselde lisinsje bliuwe. Dat is: troch twa rigels koade te herskriuwen, wurde jo twongen om jo wizigingen troch te bringen en, by fierdere gebrûk of distribúsje, de koade op te slaan ûnder de GNU GPL. Yn dit gefal is dit in beheinende faktor foar de brûker fan ús projekt, en net foar ús. Mar it feroarjen fan de GPL nei elke oare lisinsje is ferbean, sels binnen GPL-ferzjes. Bygelyks, as jo feroarje LGPL (in tafoeging oan de GPL) oan de GPL, dan is der gjin wei werom nei de LGPL. En dit punt wie beslissend om der tsjin te stimmen.

Oer it algemien lei ús kar yn 't earstoan nei GPL3 krekt fanwegen de ferdieling fan de wizige koade ûnder deselde lisinsje. Wy tochten dat wy op dizze manier ús produkt koene befeiligje, mar wy seagen minder risiko's yn Apache 2.0. Neffens de Free Software Foundation is GPLv3 kompatibel mei de Apache License v2.0, wat betsjut dat it altyd mooglik is om de lisinsje te feroarjen fan de Apache License v2.0 nei de GPL v3.0.

Apache 2.0

Apache 2.0 - in lykwichtige permissive lisinsje mei in klam op auteursrjocht. Hjir binne de antwurden dy't se joech op 'e fragen dy't ús ynteressearje. Moatte wizigingen makke oan 'e software wurde opnommen en hawwe gjin relaasje mei de auteursrjochthâlder fan it systeem? Ja, alle wizigingen moatte wurde dokuminteare en wy binne net ferantwurdelik foar de orizjinele koade as de wizige. It bestân mei de wizigingen moat taheakke wurde oan de koade wêryn jo dizze wizigingen makke hawwe. Moat de namme fan de ôfgeleide software net itselde wêze as de namme fan de software fan de auteursrjochthâlder? Ja, derivative software moat wurde frijjûn ûnder in oare namme en ûnder in oar hannelsmerk, mar mei in yndikaasje fan de auteursrjochthâlder. Is it mooglik om de lisinsje foar nije ferzjes te feroarjen nei in oare, ynklusyf in proprietêre? Ja, it kin wurde frijjûn ûnder ferskate lisinsjes, Apache 2.0 beheint it gebrûk fan net-kommersjele en kommersjele lisinsjes net.

Ek by it frijjaan fan nije produkten basearre op iepen boarne koade foar Apache 2.0 of produkten mei ekstra funksjonaliteit, is it net nedich om deselde lisinsje te brûken. Hjirûnder kinne jo in ôfbylding sjen mei de betingsten en beheiningen fan 'e Apache 2.0-lisinsje.

Hoe kinne jo in Open Source-lisinsje kieze foar it RAD-ramt op GitHub

De lisinsje stelt in eask op om auteursrjochten te behâlden en te neamen en de lisinsje wêryn't de software wurdt frijjûn. Ferplichte beskikberens auteursrjocht notice mei de namme fan de auteursrjochthâlder en in lisinsje beskermet de rjochten fan 'e orizjinele auteur fan' e software, om't sels as it wurdt omneamd, fuortjûn of ferkocht ûnder in oare lisinsje, sil it merk fan 'e auteur noch bliuwe. Jo kinne ek gebrûk meitsje fan de triem foar dit NOTICE en hechtsje it oan de boarnekoade of oan de projektdokumintaasje.

Wy litte al ús produkten iepenbier beskikber op GitHub ûnder de Apache 2.0-lisinsje, útsein IONDV. War argyf, wêrfan de boarnekoade waard publisearre ûnder de GPLv3-lisinsje op GitHub yn april fan dit jier troch it Far Eastern Centre for Social Technologies. Op it stuit, neist de kader en syn modules publisearre apps makke op it ramt. Op de hub hawwe wy it al oer Projektbehearsysteem en oer Kommunikaasje register.

Dy. details oer it ramt

IONDV. Framework is in iepen boarne ramt basearre op node.js foar it meitsjen fan webapplikaasjes op hege nivo basearre op metadata, dy't gjin serieuze programmearfeardigens nedich is.

De basis fan 'e funksjonaliteit fan' e applikaasje is it gegevensregister - de Register-module. Dit is in kaai module ûntwurpen direkt foar wurkjen mei gegevens basearre op metadata struktueren - ynklusyf foar it behear fan projekten, programma, eveneminten, ensfh It projekt brûkt ek in portal module foar it werjaan fan willekeurige gegevens sjabloanen - it ymplemintearret it argyf front registry.

MongoDb wurdt brûkt foar de DBMS - it bewarret applikaasjeynstellingen, metadata en de gegevens sels.

Hoe kinne jo in lisinsje tapasse op jo projekt?

Foegje in triem ta FERGUNNING mei de lisinsjetekst yn it repository fan jo projekt en voilà, in projekt beskerme troch Apache 2.0. Jo moatte de auteursrjochthâlder oanjaan, dat is it copyright notice. Dit kin dien wurde yn 'e boarnekoade of yn in bestân NOTICE (in tekstbestân mei alle biblioteken mei lisinsje ûnder de Apache-lisinsje tegearre mei de nammen fan har makkers). Plak it bestân sels yn 'e boarnekoade of yn' e dokumintaasje dy't tegearre mei it wurk ferspraat is. Foar ús sjocht it der sa út:

Copyright © 2018 ION DV LLC.
Lisinsearre ûnder de Apache-lisinsje, ferzje 2.0

Apache 2.0 lisinsje tekst

Apache lisinsje
Ferzje 2.0, jannewaris 2004
http://www.apache.org/licenses/

BETINGSTEN EN BETINGSTEN FOAR GEBRUK, REPRODUKSJE, EN DISTRIBUSJE

  1. Definysjes.

    "Lisinsje" betsjut de betingsten en kondysjes foar gebrûk, reproduksje,
    en distribúsje lykas definieare troch Seksjes 1 oant 9 fan dit dokumint.

    "Licensor" betsjut de eigner fan auteursrjocht of entiteit autorisearre troch
    de auteursrjocht eigner dy't de lisinsje ferliend.

    "Juridyske entiteit" betsjut de uny fan 'e waarnimmend entiteit en alles
    oare entiteiten dy't kontrolearje, wurde kontroleare troch, of binne ûnder mienskiplik
    kontrôle mei dy entiteit. Foar de doelen fan dizze definysje,
    "kontrôle" betsjut (ik) de macht, direkt of yndirekt, om de
    rjochting as behear fan sa'n entiteit, itsij per kontrakt as
    oars, as (ii) eigendom fan fyftich prosint (50%) as mear fan 'e
    útsûnderlike oandielen, as (iii) foardielich eigendom fan sa'n entiteit.

    "Jo" (of "Jo") sil in yndividu of juridyske entiteit betsjutte
    it útoefenjen fan tagongsrjochten ferliend troch dizze lisinsje.

    "Boarne" foarm sil betsjutte de foarkar foarm foar it meitsjen fan wizigingen,
    ynklusyf mar net beheind ta softwareboarne koade, dokumintaasje
    boarne, en konfiguraasjebestannen.

    "Objekt" foarm sil betsjutte elke foarm dy't ûntstiet út meganyske
    transformaasje as oersetting fan in Boarnefoarm, ynklusyf mar
    net beheind ta kompilearre objektkoade, generearre dokumintaasje,
    en konversaasjes nei oare mediatypen.

    "Werk" betsjut it wurk fan auteurskip, itsij yn Boarne as
    Objektformulier, beskikber steld ûnder de lisinsje, lykas oanjûn troch a
    auteursrjochtferklearring dy't is opnommen yn of taheakke oan it wurk
    (in foarbyld wurdt jûn yn 'e taheakke hjirûnder).

    "Afgeleide wurken" betsjuttet elk wurk, itsij yn Boarne as yn Objekt
    foarm, dat is basearre op (of ûntliend oan) it Wurk en wêrfoar de
    redaksjeferzjes, oantekeningen, útwurking, as oare wizigingen
    fertsjintwurdigje, as gehiel, in orizjineel wurk fan auteurskip. Foar de doelen
    fan dizze lisinsje sille derivative wurken gjin wurken befetsje dy't oerbliuwe
    skiedber fan, of gewoan link (of by namme bine) nei de ynterfaces fan,
    it wurk en ôfliede wurken dêrfan.

    "Bydrage" betsjut elk wurk fan auteurskip, ynklusyf
    de orizjinele ferzje fan it Wurk en alle wizigingen as tafoegingen
    oan dat Wurk of Derivative Wurken derfan, dat is mei opsetsin
    yntsjinne by Licensor foar opnimmen yn it Wurk troch de auteursrjocht
    as troch in yndividu as juridyske entiteit dy't autorisearre is om yn te tsjinjen út namme fan
    de auteursrjocht eigner. Foar de doelen fan dizze definysje, "yntsjinne"
    betsjut elke foarm fan ferstjoerde elektronyske, ferbale as skriftlike kommunikaasje
    oan de Lisinsjearder as har fertsjintwurdigers, ynklusyf mar net beheind ta
    kommunikaasje op elektroanyske ferstjoerlisten, boarne koade kontrôle systemen,
    en folgingssystemen útjaan dy't wurde beheard troch, of út namme fan 'e
    Fergunningferliener foar it doel fan it Wurk te besprekken en te ferbetterjen, mar
    útsluting fan kommunikaasje dy't opfallend is markearre as oars
    skriftlik oanwiisd troch de auteursrjochteigner as "Net in bydrage."

    "Bydrager" betsjut lisinsjegever en elke yndividuele of juridyske entiteit
    út namme fan wa't in Bydrage is ûntfongen troch Lisinsjearder en
    dêrnei opnommen yn it Wurk.

  2. Grant of Copyright License. Under foarbehâld fan de betingsten fan
    dizze lisinsje, elke meiwurker jouwt jo hjirby in ivige,
    wrâldwiid, net-eksklusyf, sûnder fergoeding, royalty-frij, ûnomkearber
    auteursrjocht lisinsje foar reprodusearjen, tariede Derivative wurken fan,
    iepenbier werjaan, iepenbier útfiere, sublicensiëre en distribuearje de
    Wurk en sokke ôflate wurken yn boarne- as objektfoarm.

  3. Grant of Patent License. Under foarbehâld fan de betingsten fan
    dizze lisinsje, elke meiwurker jouwt jo hjirby in ivige,
    wrâldwiid, net-eksklusyf, sûnder fergoeding, royalty-frij, ûnomkearber
    (útsein lykas yn dizze seksje neamd) patintfergunning om te meitsjen, hawwe makke,
    it wurk brûke, oanbiede, ferkeapje, ymportearje en oars oerdrage,
    wêr't sa'n lisinsje allinich jildt foar dy lisinsjeare patinteasken
    troch sokke Contributor dy't needsaaklik wurde ynbreuk makke troch har
    Bydrage (s) allinich as troch kombinaasje fan har Bydrage (s)
    mei it Wurk wer't sokke Contribúsje (s) waard yntsjinne. Asto
    rjochtssaak foar ynstitút foar patinten tsjin elke entiteit (ynklusyf a
    cross-claim of tsjineaclaim yn in rjochtssaak) beweare dat it Wurk
    as in kontribúsje opnommen yn it wurk direkt is
    as ynbreuk op bydragen fan patinten, dan alle patintfergunningen
    Jo ferliend binne ûnder dizze lisinsje foar dat wurk sil beëindigje
    op 'e datum dat sa'n rjochtsaak yntsjinne is.

  4. Werferdieling. Jo kinne reprodusearje en fersprieden kopyen fan de
    Wurk as ôfliede wurken dêrfan yn elk medium, mei as sûnder
    oanpassings, en yn Boarne- as Objektfoarm, mits jo
    foldogge oan de folgjende betingsten:

    (a) Jo moatte alle oare ûntfangers fan it Wurk jaan as
    Derivative Works in kopy fan dizze lisinsje; en

    (b) Jo moatte soargje dat alle wizige bestannen promininte meidielings drage
    dêr't yn stiet dat Jo de triemmen feroare hawwe; en

    © Jo moatte behâlde, yn 'e Boarnefoarm fan alle derivative wurken
    dat jo distribuearje, alle auteursrjocht, patint, hannelsmerk, en
    attribúsjebeskriuwingen fan 'e Boarnefoarm fan it Wurk,
    mei útsûndering fan dy meidielings dy't gjin diel hawwe fan
    de ôflate wurken; en

    (d) As it wurk in "NOTICE" teksttriem as diel dêrfan omfettet
    distribúsje, dan moatte alle derivaten dy't jo distribuearje
    befetsje in lêsbere kopy fan 'e befette attribúsjekennisse
    binnen sa'n NOTICE-bestân, útsein dy meidielings dy't dat net dogge
    oangeande elk diel fan 'e Derivative Works, yn teminsten ien
    fan de folgjende plakken: binnen in NOTICE teksttriem ferspraat
    as ûnderdiel fan 'e Derivative Works; binnen it Boarne formulier as
    dokumintaasje, as levere tegearre mei de Derivative Works; of,
    binnen in werjefte generearre troch de Derivative Works, as en
    wêr't sokke berjochten fan tredden normaal ferskine. De ynhâld
    fan it NOTICE-bestân binne allinich foar ynformative doelen en
    feroarje de lisinsje net. Jo kinne jo eigen taskriuwing tafoegje
    meidielings binnen derivative wurken dy't jo neist distribuearje
    of as tafoeging oan 'e NOTICE-tekst út it Wurk, foarsjoen
    dat sokke ekstra attribúsjebeskriuwingen net kinne wurde ynterpretearre
    as wizigjen fan de lisinsje.

    Jo kinne jo eigen auteursrjochtferklearring tafoegje oan jo oanpassings en
    kinne ekstra of oare fergunningsbetingsten leverje
    foar gebrûk, reproduksje, as distribúsje fan Jo oanpassings, of
    foar sokke derivaten as gehiel, op betingst dat jo gebrûk binne,
    reproduksje, en distribúsje fan it Wurk foldocht oars oan
    de betingsten steld yn dizze lisinsje.

  5. Yntsjinjen fan bydragen. Behalve as jo eksplisyt oars oanjaan,
    elke kontribúsje mei opsetsin yntsjinne foar opnimmen yn it Wurk
    troch Jo oan 'e Lisinsjer sil wêze ûnder de betingsten en kondysjes fan
    dizze lisinsje, sûnder ekstra betingsten of betingsten.
    Nettsjinsteande it boppesteande sil neat hjiryn ferfange of wizigje
    de betingsten fan elke aparte lisinsjeakkoart dy't jo miskien hawwe útfierd
    mei Licensor oangeande sokke Contributions.

  6. Handelsmerken. Dizze lisinsje jout gjin tastimming om de hannel te brûken
    nammen, hannelsmerken, tsjinstmerken, as produktnammen fan de Lisinsjearder,
    útsein as nedich foar ridlik en gewoan gebrûk by it beskriuwen fan de
    oarsprong fan it wurk en it reprodusearjen fan de ynhâld fan it NOTICE-bestân.

  7. Disclaimer fan garânsje. Utsein as fereaske troch jildende wet of
    skriftlik akkoart gien mei, lisinsjearder leveret it Wurk (en elk
    Contributor leveret syn bydragen) op in "AS IS" BASIS,
    Sûnder garânsjes as betingsten foar elke soarte, ekspres of
    ymplisearre, ynklusyf, sûnder beheining, alle garânsjes of betingsten
    fan TITEL, NON-OERTREDING, VERKOOPBAARHEID, as FITNESS FOAR A
    BESONDER DOEL. Jo binne allinich ferantwurdlik foar it bepalen fan 'e
    geskiktheid fan it brûken of werferdielen fan it Wurk en oannimme dat
    risiko's ferbûn mei jo útoefenjen fan tagongsrjochten ûnder dizze lisinsje.

  8. Beheining fan oanspraaklikens. Yn gjin gefal en ûnder gjin juridyske teory,
    itsij yn tort (ynklusyf sleauwichheid), kontrakt, as oars,
    útsein as ferplicht troch jildende wet (lykas bewust en grof
    sleauwich hanneljen) as skriftlik ôfpraat, sil elke Contributor wêze
    oanspraaklik foar Jo foar skea, ynklusyf alle direkte, yndirekte, spesjale,
    ynsidintele, as gefolchskea fan hokker karakter as in
    resultaat fan dizze lisinsje of út it gebrûk of ûnfermogen om de
    Wurk (ynklusyf mar net beheind ta skeafergoeding foar ferlies fan goodwill,
    wurkstop, kompjûterfout as defekt, as ien en oar
    oare kommersjele skea as ferlies), sels as sa'n Contributor
    is advisearre oer de mooglikheid fan sokke skea.

  9. Akseptearje garânsje of oanfoljende oanspraaklikens. Wylst werferdieling
    it wurk as ôfliede wurken dêrfan, Jo kinne der foar kieze om oan te bieden,
    en in fergoeding freegje foar, akseptaasje fan stipe, garânsje, skeafergoeding,
    as oare ferplichtings en / of rjochten dy't hjirmei oanslute
    Fergunning. By it akseptearjen fan sokke ferplichtingen kinne jo lykwols allinich hannelje
    yn jo eigen namme en op jo allinich ferantwurdlikens, net út namme
    fan elke oare Contributor, en allinich as jo akkoard binne skeafergoeding,
    ferdigenje, en hâld elke Contributor harmless foar elke oanspraaklikens
    makke troch, of oanspraken tsjin, sokke Contributor troch reden
    fan jo akseptearjen fan sa'n garânsje as ekstra oanspraaklikens.

    EIN FAN GEBRUKSBETINGSTEN

    BIJLAGE: Hoe kinne jo de Apache-lisinsje tapasse op jo wurk.

    Om de Apache-lisinsje ta te passen op jo wurk, foegje jo it folgjende ta
    boilerplate notice, mei de fjilden omsletten troch heakjes "[]"
    ferfongen troch jo eigen identifisearjende ynformaasje. (Net opnimme
    de heakjes!) De tekst moat yn it passend wêze
    kommentaar syntaksis foar it bestânsformaat. Wy riede ek oan dat a
    triem of klasse namme en beskriuwing fan doel wurde opnaam op de
    deselde "printe side" as de copyright notice foar makliker
    identifikaasje binnen argiven fan tredden.

    Copyright [yyyy] [namme fan copyright copyright]

    Lisinsearre ûnder de Apache-lisinsje, ferzje 2.0 (de "lisinsje");
    jo meie dit bestân net brûke útsein yn oerienstimming mei de lisinsje.
    Jo kinne in kopy fan 'e lisinsje krije by

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

    Behalven as fereaske troch jildende wet as skriftlik ynstimd is software
    ferspraat ûnder de lisinsje wurdt ferspraat op in "AS IS" BASIS,
    Sûnder garânsjes of betingsten fan hokker soarte, útdruklik as ymplisyt.
    Sjoch de lisinsje foar de spesifike taal foar tagongsrjochten en
    beheiningen ûnder de lisinsje.

Lisinsje = kontrakt

In fergese lisinsje, hoewol it fergees is, lit permissiveness net ta en wy hawwe al foarbylden fan beheiningen jûn. Kies in lisinsje mei rekken hâldend mei sawol jo ynteresses as de brûker, om't iepen boarne software spesifyk foar him is ûntworpen. De brûker fan it projekt moat de lisinsje waarnimme as in soarte fan oerienkomst tusken him en de auteursrjochthâlder, dus foardat jo aksjes útfiere op 'e boarnekoade, studearje sekuer de beheiningen dy't jo troch de lisinsje fan it projekt oplein binne.

Wy hoopje dat wy wat ljocht hawwe smiten oer it ûnderwerp fan lisinsjes en, nettsjinsteande de kompleksiteit fan it probleem, soe it gjin obstakel moatte wurde op jo paad nei Open Source. Untwikkelje jo projekt en ferjit net oer de rjochten, jo en oaren.

Nuttige keppelings

As lêste, wat nuttige boarnen dy't ús holpen by it sykjen nei ynformaasje oer besteande lisinsjes en it selektearjen fan de meast geskikte foar ús doelen:

Boarne: www.habr.com

Add a comment