Com triar una llicència de codi obert per al marc RAD a GitHub

En aquest article parlarem una mica dels drets d'autor, però sobretot de l'elecció d'una llicència lliure per al framework RAD IONDV. Marc i per a productes de codi obert basats en això. T'informarem de la llicència d'autorització Apache 2.0, sobre què ens va portar a això i quines decisions vam afrontar en el procés.

El procés d'elecció d'una llicència és força intensiu de mà d'obra i s'ha d'abordar ja ben llegit, i si no sou un feliç propietari d'una educació jurídica, s'obre un camp d'informació sobre diverses llicències gratuïtes davant vostre. El més important és elaborar una sèrie de criteris limitadors. A través del procés de discussió i reflexió, tu i el teu equip podreu entendre què voleu permetre als usuaris del vostre producte i què prohibiu. Quan ja teniu una descripció determinada a les vostres mans, heu de superposar-la a les llicències existents i seleccionar aquella on coincideix el major nombre de punts. Sembla senzill, és clar, però en realitat, normalment fins i tot després de la discussió, queden preguntes.

Com triar una llicència de codi obert per al marc RAD a GitHub

Primer, un enllaç a choosealicense.com, un lloc útil que hem utilitzat àmpliament. Presteu especial atenció a taula de comparació llicències segons 13 criteris principals. Que l'anglès i la paciència us acompanyin.

Farina d’elecció

Comencem amb les característiques generals de les llicències per programari lliure. El programari de codi obert implica una llicència exclusivament lliure, que no limita la distribució comercial i no comercial segons el model Open Core. En conseqüència, posar programari a la xarxa sota una llicència lliure no pot limitar completament la seva transferència, distribució i venda per part de tercers, i només cal estar mentalment preparat per a això.

Una llicència gratuïta dóna a l'usuari el dret de participar en l'enginyeria inversa del programari o canviar-lo d'altres maneres disponibles. La majoria de llicències no permeten canviar el nom del producte ni realitzar cap manipulació amb ell, canviant els drets de l'autor i/o propietari del sistema.

Les principals preguntes que ens interessaven sobre les llicències lliures eren:

  1. S'han de registrar els canvis fets al programari i no tenen cap relació amb el titular dels drets d'autor del sistema?
  2. El nom del programari derivat no hauria de ser el mateix que el nom del programari del titular dels drets d'autor?
  3. És possible canviar la llicència de qualsevol versió nova per una altra, inclosa una de propietat?

Després de mirar detingudament la llista de les llicències més habituals, n'hem seleccionat diverses que hem considerat amb més detall. Llicències potencials per IONDV. Marc van ser: GNU GPLv3, Apache 2.0, MIT i MPL. MIT gairebé immediatament exclòs, es tracta d'una llicència permissiva sense copyleft, que permet l'ús, la modificació i la distribució del codi de gairebé qualsevol manera, però no estàvem satisfets amb aquesta opció, encara volíem que la llicència regules la relació entre els drets d'autor. titular i l'usuari. La majoria dels projectes més petits de GitHub es publiquen sota la llicència MIT o les seves diverses variacions. La llicència en si és molt curta i les úniques prohibicions són indicar l'autoria del creador del programari.

El següent va ser la llicència MPL 2.0. És cert que no hi vam arribar de seguida, però després d'estudiar-ho amb més detall, ràpidament ho vam descartar, ja que el principal inconvenient és que la llicència no s'aplica a tot el projecte, sinó a fitxers individuals. A més, si l'usuari modifica el fitxer, no pot canviar la llicència. De fet, per molt que canvieu un projecte de codi obert, mai no podreu monetitzar-lo gràcies a aquesta llicència. Per cert, això no afecta al titular dels drets d'autor.

Un problema similar persisteix amb la llicència GNU GPLv3. Requereix que qualsevol fitxer romangui sota ell. La GNU GPL és una llicència copyleft que requereix que les obres derivades siguin de codi obert i romanguin sota la mateixa llicència. És a dir: en tornar a escriure dues línies de codi, se us obligarà a confirmar els vostres canvis i, durant un ús o distribució posterior, desar el codi sota la GNU GPL. En aquest cas, aquest és un factor limitant per a l'usuari del nostre projecte, i no per a nosaltres. Però canviar la GPL a qualsevol altra llicència està prohibit, fins i tot dins de les versions de GPL. Per exemple, si canvies LGPL (un complement a la GPL) a la GPL, llavors no hi haurà camí de tornada a la LGPL. I aquest punt va ser decisiu per votar-hi en contra.

En general, la nostra elecció inicialment es va inclinar cap GPL3 precisament per la distribució del codi modificat sota la mateixa llicència. Vam pensar que així podríem assegurar el nostre producte, però vam veure menys riscos a Apache 2.0. Segons la Free Software Foundation, GPLv3 és compatible amb la llicència Apache v2.0, és a dir, sempre és possible canviar la llicència de la llicència Apache v2.0 a la GPL v3.0.

Apache 2.0

Apache 2.0 — una llicència permissiva equilibrada amb èmfasi en els drets d'autor. Aquí teniu les respostes que va donar a les preguntes que ens interessaven. S'han de registrar els canvis fets al programari i no tenen cap relació amb el titular dels drets d'autor del sistema? Sí, tots els canvis han d'estar documentats i no ens fem responsables del codi original ni del modificat. El fitxer amb els canvis s'ha d'adjuntar al codi en què heu fet aquests canvis. El nom del programari derivat no hauria de ser el mateix que el nom del programari del titular dels drets d'autor? Sí, el programari derivat s'ha de publicar amb un nom i una marca comercial diferents, però amb una indicació del titular dels drets d'autor. És possible canviar la llicència de qualsevol versió nova per una altra, inclosa una de propietat? Sí, es pot llançar sota diferents llicències, Apache 2.0 no limita l'ús de cap llicència comercial i no comercial.

A més, quan es publiquen nous productes basats en codi font obert per a Apache 2.0 o productes amb funcionalitats addicionals, no és necessari utilitzar la mateixa llicència. A continuació podeu veure una imatge amb els termes i restriccions de la llicència Apache 2.0.

Com triar una llicència de codi obert per al marc RAD a GitHub

La llicència imposa un requisit per preservar i esmentar els drets d'autor i la llicència sota la qual s'allibera el programari. Disponibilitat obligatòria avís de copyright amb el nom del titular dels drets d'autor i una llicència protegeix els drets de l'autor original del programari, ja que fins i tot si es canvia de nom, es regala o es ven amb una llicència diferent, la marca de l'autor encara es mantindrà. També podeu utilitzar el fitxer per a això AVÍS i adjunteu-lo al codi font o a la documentació del projecte.

Lliberem tots els nostres productes disponibles públicament a GitHub sota la llicència Apache 2.0, excepte IONDV. Arxiu de guerra, el codi font del qual va ser publicat sota la llicència GPLv3 a GitHub l'abril d'aquest any pel Far Eastern Center for Social Technologies. De moment, a més de la marc i mòduls publicat aplicacions fet al marc. Al hub ja hem parlat Sistema de gestió de projectes i aproximadament Registre de comunicacions.

Aquells. detalls sobre el marc

IONDV. Framework és un marc de codi obert basat en node.js per crear aplicacions web d'alt nivell basades en metadades, que no requereixen habilitats serioses de programació.

La base de la funcionalitat de l'aplicació és el registre de dades: el mòdul Registre. Aquest és un mòdul clau dissenyat directament per treballar amb dades basades en estructures de metadades, inclosa la gestió de projectes, programes, esdeveniments, etc. El projecte també utilitza un mòdul de portal per mostrar plantilles de dades arbitràries: implementa el registre frontal de l'arxiu.

MongoDb s'utilitza per al SGBD: emmagatzema la configuració de l'aplicació, les metadades i les dades mateixes.

Com aplicar una llicència al teu projecte?

Afegeix un fitxer LLICÈNCIA amb el text de la llicència al repositori del vostre projecte i voilà, un projecte protegit per Apache 2.0. Heu d'indicar el titular dels drets d'autor, això és tot avís de copyright. Això es pot fer en el codi font o en un fitxer AVÍS (un fitxer de text que enumera totes les biblioteques amb llicència d'Apache juntament amb els noms dels seus creadors). Col·loqueu el fitxer en si al codi font o a la documentació distribuïda juntament amb el treball. Per a nosaltres es veu així:

Copyright © 2018 ION DV LLC.
Amb llicència sota la llicència Apache, versió 2.0

Text de la llicència d'Apache 2.0

Llicència Apache
Versió 2.0, gener de 2004
http://www.apache.org/licenses/

CONDICIONS D'ÚS, REPRODUCCIÓ I DISTRIBUCIÓ

  1. Definicions.

    "Llicència" significa els termes i condicions d'ús, reproducció,
    i distribució tal com es defineixen a les seccions 1 a 9 d'aquest document.

    "Llicenciant" significa el propietari dels drets d'autor o l'entitat autoritzada per
    el propietari dels drets d'autor que concedeix la llicència.

    Per "Persona Jurídica" s'entén la unió de l'entitat actuant i tot
    altres entitats que controlen, estan controlades per o estan en comú
    control amb aquesta entitat. Als efectes d’aquesta definició,
    "control" significa (i) el poder, directe o indirecte, per provocar la
    direcció o gestió d 'aquesta entitat, ja sigui per contracte o
    en cas contrari, o (ii) la propietat del cinquanta per cent (50%) o més del
    accions en circulació o (iii) propietat efectiva d’aquesta entitat.

    "Vostè" (o "El vostre") significa una persona física o jurídica
    exercint els permisos atorgats per aquesta Llicència.

    Formulari "Font" significa la forma preferida per fer modificacions,
    incloent, entre d'altres, el codi font del programari, la documentació
    font i fitxers de configuració.

    Forma "objecte" s'entén qualsevol forma resultant de la mecànica
    transformació o traducció d'un formulari font, inclòs but
    no limitat al codi d'objecte compilat, documentació generada,
    i conversions a altres tipus de suports.

    "Obra" significa l'obra d'autoria, ja sigui en Font o
    Formulari d'objecte, disponible sota la Llicència, tal com s'indica a
    avís de drets d'autor que s'inclou a l'obra o s'adjunta a ella
    (un exemple es proporciona a l'annex següent).

    "Obres derivades" significa qualsevol obra, ja sigui en font o objecte
    forma, que es basa en (o es deriva de) el treball i per al qual el fitxer
    revisions editorials, anotacions, elaboracions o altres modificacions
    representen, en el seu conjunt, una obra d'autoria original. Als efectes
    d’aquesta llicència, les obres derivades no inclouran les obres que quedin
    separable de, o simplement enllaçar (o enllaçar per nom) a les interfícies de,
    l'obra i les seves obres derivades.

    "Contribució" significa qualsevol obra d'autoria, inclosa
    la versió original de l’Obra i qualsevol modificació o addició
    a aquella Obra o Obres derivades de la mateixa, això és intencionadament
    enviat al Llicenciador perquè el propietari dels drets d'autor inclogui l'obra
    o bé per una persona física o jurídica autoritzada a presentar en nom de
    el propietari dels drets d'autor. Als efectes d'aquesta definició, "presentat"
    significa qualsevol forma de comunicació electrònica, verbal o escrita enviada
    al Llicenciador o als seus representants, inclosos, entre d'altres,
    comunicació en llistes de correu electrònic, sistemes de control de codi font,
    i emet sistemes de seguiment gestionats per, o en nom de, el
    Llicenciador per tal de discutir i millorar el treball, però
    excloent la comunicació marcada de manera visible o d’una altra manera
    designat per escrit pel propietari dels drets d'autor com a "No és una contribució".

    "Col·laborador" significa el Llicenciador i qualsevol persona física o jurídica
    en nom del qual el Llicenciador ha rebut una contribució i
    posteriorment incorporat al Treball.

  2. Concessió de llicència de drets d'autor. Subjecte als termes i condicions de
    amb aquesta llicència, cada col·laborador us concedeix una
    a tot el món, no exclusiu, sense càrrecs, lliure de drets, irrevocable
    llicència de drets d'autor per reproduir, preparar obres derivades de,
    mostrar públicament, realitzar públicament, subllicenciar i distribuir el fitxer
    Treball i aquestes obres derivades en forma de font o objecte.

  3. Concessió de llicència de patent. Subjecte als termes i condicions de
    amb aquesta llicència, cada col·laborador us concedeix una
    a tot el món, no exclusiu, sense càrrecs, lliure de drets, irrevocable
    (excepte el que s’indica en aquesta secció) llicència de patent per fer, haver fet,
    utilitzar, oferir vendre, vendre, importar i transferir l'obra d'una altra manera,
    quan aquesta llicència només s'apliqui a les reclamacions de patents que es poden obtenir
    per aquest Col·laborador que necessàriament infringeixin el seu
    Contribució (s) sola o mitjançant la combinació de la seva contribució
    amb l’obra a la qual s’ha enviat aquesta contribució. Si tu
    institueix un litigi sobre patents contra qualsevol entitat (inclosa una
    reclamació creuada o reconvenció en una demanda) al·legant que l’Obra
    o una contribució incorporada a l’obra constitueix directa
    o infracció de patents contributives, després qualsevol llicència de patent
    se li concedirà en virtut d'aquesta llicència per a aquesta obra
    a partir de la data de presentació d'aquest litigi.

  4. Redistribució. Podeu reproduir i distribuir còpies del
    Treballs o obres derivades dels mateixos en qualsevol mitjà, amb o sense
    modificacions, i en forma de font o objecte, sempre que el vostre usuari
    compleix les condicions següents:

    (a) Heu de donar a qualsevol altre destinatari de l'Obra o
    Obres derivades una còpia d’aquesta llicència; i

    (b) Heu de fer que els fitxers modificats continguin avisos destacats
    indicant que heu canviat els fitxers; i

    © Heu de conservar, en la forma Font de qualsevol Obra Derivada
    que distribueu, tots els drets d'autor, patents, marques comercials i
    avisos d’atribució des del formulari Font del Treball,
    excloent aquells avisos que no pertanyen a cap part de
    els treballs derivats; i

    (d) Si l'Obra inclou un fitxer de text "AVIS" com a part
    distribució, i després qualsevol obra derivada que distribuïs
    incloure una còpia llegible dels avisos d’atribució continguts
    dins d'aquest fitxer AVÍS, excloent aquells avisos que no ho facin
    pertanyen a qualsevol part de les obres derivades, en almenys una
    dels llocs següents: dins d'un fitxer de text AVÍ distribuït
    com a part de les Obres derivades; dins del formulari Font o
    documentació, si es proporciona juntament amb les obres derivades; o,
    dins d’una visualització generada per les obres derivades, si i
    allà on apareixen normalment aquests avisos de tercers. El contingut
    del fitxer NOTÍCIES només tenen finalitats informatives i
    no modifiqueu la llicència. Podeu afegir la vostra pròpia atribució
    avisos dins d’Obres derivades que distribueu, al costat
    o com a addenda al text AVÍS de l'obra, sempre que s'indiqui
    que aquests avisos addicionals d'atribució no es poden interpretar
    com a modificació de la Llicència.

    Podeu afegir la vostra pròpia declaració de drets d'autor a les vostres modificacions i
    pot proporcionar termes i condicions de llicència addicionals o diferents
    per a l'ús, reproducció o distribució de les vostres modificacions, o
    per a aquestes obres derivades en el seu conjunt, sempre que el vostre ús,
    la reproducció i distribució de l’Obra compleixen d’una altra manera
    les condicions establertes en aquesta Llicència.

  5. Presentació d'aportacions. A menys que indiquis el contrari explícitament,
    qualsevol contribució enviada intencionadament per a la seva inclusió a l'Obra
    per Vostè al Llicenciador es farà sota els termes i condicions de
    aquesta Llicència, sense termes o condicions addicionals.
    Malgrat l’anterior, res en aquest document no substituirà ni modificarà
    els termes de qualsevol acord de llicència independent que hagueu executat
    amb el Llicenciant sobre aquestes contribucions.

  6. Marques comercials. Aquesta llicència no atorga permís per utilitzar el comerç
    noms, marques comercials, marques de serveis o noms de productes del Llicenciador,
    tret que es requereixi per a un ús raonable i habitual en la descripció de
    origen de l'Obra i la reproducció del contingut de l'expedient d'AVÍS.

  7. Exempció de garantia. Llevat que ho requereixi la llei aplicable o
    acordat per escrit, el Llicenciador proporciona l’Obra (i cadascun d’ells)
    El col·laborador proporciona les seves contribucions) "TAL CUAL",
    SENSE GARANTIES O CONDICIONS DE CAP TIPUS, ja sigui expressa o
    implícita, incloent, sense limitacions, garanties o condicions
    de TÍTOL, NO INFRACCIÓ, COMERCIALITZACIÓ o IDONEITAT PER A
    FINALITAT PARTICULAR. Vostè és l'únic responsable de determinar el
    idoneïtat d’utilitzar o redistribuir l’Obra i assumir-ne qualsevol
    riscos associats amb el vostre exercici de permisos sota aquesta llicència.

  8. Limitació de responsabilitat. En cap cas i sota cap teoria legal,
    ja sigui per delictes (inclosa la negligència), contractual o no,
    tret que la legislació aplicable ho exigeixi (com ara deliberadament i de manera brutal
    qualsevol negligència) o acordat per escrit, serà qualsevol col·laborador
    responsable davant els vostres danys, inclosos els directes, indirectes, especials,
    danys incidentals o conseqüents de qualsevol caràcter que es produeixin com a
    resultat d'aquesta llicència o per l'ús o la impossibilitat d'utilitzar
    Treball (inclòs, entre d'altres, danys per pèrdua de bona voluntat,
    aturada del treball, avaria o avaria de l'ordinador, o qualsevol cosa
    altres danys o pèrdues comercials), fins i tot si aquest Col·laborador
    s’ha informat de la possibilitat d’aquests danys.

  9. Acceptació de la garantia o responsabilitat addicional. Mentre es redistribueix
    l'obra o obres derivades dels mateixos, podeu optar per oferir,
    i cobrar una taxa per, acceptació del suport, garantia, indemnització,
    o altres obligacions i / o drets de responsabilitat coherents amb això
    Llicència. No obstant això, en acceptar aquestes obligacions, només podeu actuar
    en nom vostre i sota la vostra exclusiva responsabilitat, no en nom seu
    de qualsevol altre col·laborador i només si accepteu indemnitzar,
    defensar i mantenir indemne a cada col·laborador per qualsevol responsabilitat
    en què hagi incorregut o reclamat contra aquest col·laborador per motiu
    d'acceptar aquesta garantia o responsabilitat addicional.

    FI DELS TERMES I CONDICIONS

    ANNEX: Com aplicar la llicència Apache al vostre treball.

    Per aplicar la llicència Apache al vostre treball, adjunteu el següent
    avís general, amb els camps tancats entre claudàtors "[]"
    substituït per la vostra pròpia informació identificativa. (No inclogui
    els claudàtors!) El text s’ha d’incloure a l’apartat adequat
    sintaxi de comentari per al format de fitxer. També recomanem que a
    el nom del fitxer o de la classe i la descripció de la finalitat s'incloguin al fitxer
    mateixa "pàgina impresa" que l'avís de drets d'autor per a més facilitat
    identificació dins d’arxius de tercers.

    Copyright [aaaa] [nom del propietari dels drets d'autor]

    Amb llicència sota la llicència Apache, versió 2.0 (la "Llicència");
    no podeu utilitzar aquest fitxer excepte en compliment de la Llicència.
    Podeu obtenir una còpia de la llicència a

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

    Llevat que la llei aplicable no ho requereixi o s’acordi per escrit, el programari
    distribuït sota la llicència es distribueix "TAL CUAL",
    SENSE GARANTIES O CONDICIONS DE MATEIX, expressament o implícit.
    Consulteu la Llicència per als idiomes específics que regulen els permisos i
    limitacions a la Llicència.

Llicència = contracte

Una llicència lliure, tot i que és gratuïta, no permet la permissivitat i ja hem donat exemples de restriccions. Trieu una llicència tenint en compte tant els vostres interessos com els de l'usuari, perquè el programari de codi obert està dissenyat específicament per a ell. L'usuari del projecte hauria de percebre la llicència com una mena d'acord entre ell i el titular dels drets d'autor, de manera que abans de dur a terme qualsevol acció sobre el codi font, estudieu detingudament les restriccions que us imposa la llicència del projecte.

Esperem haver fet una mica de llum sobre el tema de les llicències i, malgrat la complexitat del tema, no hauria de convertir-se en un obstacle en el vostre camí cap al codi obert. Desenvolupa el teu projecte i no t'oblidis dels drets, dels teus i dels altres.

links útils

Finalment, alguns recursos útils que ens van ajudar a l'hora de buscar informació sobre les llicències existents i seleccionar la més adequada per als nostres propòsits:

Font: www.habr.com

Afegeix comentari