Como escoller unha licenza de código aberto para o marco RAD en GitHub

Neste artigo falaremos un pouco sobre os dereitos de autor, pero principalmente sobre a elección dunha licenza libre para o marco RAD IONDV. Marco e para produtos de código aberto baseados nel. Informarémosche da licenza de autorización Apache 2.0, sobre o que nos levou a ela e que decisións nos enfrontamos no proceso.

O proceso de elección dunha licenza é bastante laborioso e debe abordarse xa ben lido, e se non es un feliz propietario dunha educación xurídica, ábrese ante ti un campo de información sobre varias licenzas gratuítas. O principal é elaborar unha serie de criterios limitantes. A través do proceso de discusión e reflexión, ti e o teu equipo poderás comprender o que queres permitir aos usuarios do teu produto e o que prohibir. Cando xa tes unha determinada descrición nas túas mans, cómpre superpoñera ás licenzas existentes e seleccionar aquela onde coincida o maior número de puntos. Parece sinxelo, por suposto, pero en realidade, xeralmente, incluso despois da discusión, quedan as preguntas.

Como escoller unha licenza de código aberto para o marco RAD en GitHub

En primeiro lugar, unha ligazón a choosealicense.com, un sitio útil que usamos moito. Preste especial atención a táboa de comparación licenzas segundo 13 criterios principais. Que o inglés e a paciencia estean contigo.

A agonía da elección

Comecemos polas características xerais das licenzas para software libre. O software de código aberto implica unha licenza exclusivamente gratuíta, que non limita a distribución comercial e non comercial segundo o modelo núcleo aberto. En consecuencia, poñer software na rede baixo unha licenza libre non pode limitar completamente a súa transferencia, distribución e venda por parte de terceiros, e só precisa estar mentalmente preparado para iso.

Unha licenza gratuíta outorga ao usuario o dereito a participar na enxeñaría inversa do software ou a cambialo doutras formas dispoñibles. A maioría das licenzas non permiten cambiar o nome do produto nin realizar ningunha manipulación con el, cambiando os dereitos do autor e/ou propietario do sistema.

As principais preguntas que nos interesaban sobre as licenzas libres foron:

  1. Deben rexistrarse os cambios realizados no software e non ter relación co titular dos dereitos de autor do sistema?
  2. O nome do software derivado non debería ser o mesmo que o nome do software do titular dos dereitos de autor?
  3. É posible cambiar a licenza de calquera nova versión por outra, incluída unha propietaria?

Despois de mirar detidamente a lista das licenzas máis comúns, seleccionamos varias que consideramos con máis detalle. Licenzas potenciais para IONDV. Marco foron: GNU GPLv3, Apache 2.0, MIT e MPL. MIT excluído case de inmediato, trátase dunha licenza permisiva non copyleft, que permite o uso, modificación e distribución do código de case calquera forma, pero non estabamos satisfeitos con esta opción, aínda queriamos que a licenza regulase a relación entre os dereitos de autor. titular e o usuario. A maioría dos proxectos máis pequenos en GitHub publícanse baixo a licenza MIT ou as súas diversas variacións. A licenza en si é moi curta, e as únicas prohibicións son indicar a autoría do creador do software.

A continuación foi a licenza mpl 2.0. É certo que non chegamos a ela de inmediato, pero despois de estudalo con máis detalle, axiña o descartamos, xa que o principal inconveniente é que a licenza non se aplica a todo o proxecto, senón a arquivos individuais. Ademais, se o usuario cambia o ficheiro, non pode cambiar a licenza. De feito, por moi dilixente que cambies un proxecto de código aberto, nunca poderás rendibilizar con tal licenza. Por certo, isto non afecta ao titular dos dereitos de autor.

Un problema semellante persiste coa licenza GNU GPLv3. Require que calquera ficheiro permaneza baixo el. A GNU GPL é unha licenza copyleft que require que as obras derivadas sexan de código aberto e permanezan baixo a mesma licenza. É dicir: ao reescribir dúas liñas de código, terás que confirmar os teus cambios e, durante o uso ou distribución posterior, gardar o código baixo a GNU GPL. Neste caso, este é un factor limitante para o usuario do noso proxecto, e non para nós. Pero está prohibido cambiar a GPL a calquera outra licenza, mesmo dentro das versións GPL. Por exemplo, se cambias LGPL (un complemento á GPL) á GPL, entón non haberá camiño de volta á LGPL. E este punto foi decisivo para votar en contra.

En xeral, a nosa elección inicialmente inclinouse cara GPL3 precisamente pola distribución do código modificado baixo a mesma licenza. Pensamos que así poderiamos protexer o noso produto, pero vimos menos riscos en Apache 2.0. Segundo a Free Software Foundation, GPLv3 é compatible coa licenza Apache v2.0, o que significa que sempre é posible cambiar a licenza da Apache License v2.0 á GPL v3.0.

Apache 2.0

Apache 2.0 — unha licenza permisiva equilibrada con énfase nos dereitos de autor. Aquí están as respostas que ela deu ás preguntas que nos interesaron. Deben rexistrarse os cambios realizados no software e non ter relación co titular dos dereitos de autor do sistema? Si, todos os cambios deben estar documentados e non somos responsables do código orixinal nin do modificado. O ficheiro cos cambios debe estar anexo ao código no que fixeches estes cambios. O nome do software derivado non debería ser o mesmo que o nome do software do titular dos dereitos de autor? Si, o software derivado debería lanzarse con un nome diferente e cunha marca comercial diferente, pero cunha indicación do titular dos dereitos de autor. É posible cambiar a licenza de calquera nova versión por outra, incluída unha propietaria? Si, pódese lanzar baixo diferentes licenzas, Apache 2.0 non limita o uso de ningunha licenza comercial e non comercial.

Ademais, ao lanzar novos produtos baseados en código fonte aberta para Apache 2.0 ou produtos con funcionalidade adicional, non é necesario utilizar a mesma licenza. Abaixo podes ver unha imaxe cos termos e restricións da licenza Apache 2.0.

Como escoller unha licenza de código aberto para o marco RAD en GitHub

A licenza impón o requisito de preservar e mencionar os dereitos de autor e a licenza baixo a que se libera o software. Dispoñibilidade obrigatoria aviso de copyright co nome do titular dos dereitos de autor e unha licenza protexe os dereitos do autor orixinal do software, xa que aínda que sexa renomeado, regalado ou vendido baixo unha licenza diferente, a marca do autor aínda permanecerá. Tamén podes usar o ficheiro para iso AVISO e adxúntalo ben ao código fonte ou á documentación do proxecto.

Lanzamos todos os nosos produtos dispoñibles publicamente en GitHub baixo a licenza Apache 2.0, excepto IONDV. Arquivo de guerra, cuxo código fonte foi publicado baixo a licenza GPLv3 en GitHub en abril deste ano polo Far Eastern Center for Social Technologies. Polo momento, ademais da marco e módulos publicado aplicacións feita no marco. No hub do que xa falamos Sistema de xestión de proxectos e aproximadamente Rexistro de comunicacións.

Eses. detalles sobre o marco

IONDV. Framework é un framework de código aberto baseado en node.js para crear aplicacións web de alto nivel baseadas en metadatos, que non requiren habilidades de programación serias.

A base da funcionalidade da aplicación é o rexistro de datos - o módulo Rexistro. Este é un módulo clave deseñado directamente para traballar con datos baseados en estruturas de metadatos, incluídos os de xestión de proxectos, programas, eventos, etc. O proxecto tamén usa un módulo de portal para mostrar modelos de datos arbitrarios: implementa o rexistro frontal do arquivo.

MongoDb úsase para o DBMS: almacena a configuración da aplicación, os metadatos e os propios datos.

Como solicitar unha licenza ao teu proxecto?

Engadir un ficheiro LICENZA co texto da licenza no repositorio do teu proxecto e voilà, un proxecto protexido por Apache 2.0. Debe indicar o titular dos dereitos de autor, iso é todo aviso de copyright. Isto pódese facer no código fonte ou nun ficheiro AVISO (un ficheiro de texto que enumera todas as bibliotecas licenciadas baixo a licenza Apache xunto cos nomes dos seus creadores). Coloque o propio ficheiro ben no código fonte ou na documentación distribuída xunto co traballo. Para nós ten este aspecto:

Copyright © 2018 ION DV LLC.
Licenzada baixo a licenza Apache, versión 2.0

Texto da licenza de Apache 2.0

Licenza Apache
Versión 2.0, xaneiro de 2004
http://www.apache.org/licenses/

CONDICIÓNS DE USO, REPRODUCIÓN E DISTRIBUCIÓN

  1. Definicións.

    "Licenza" significará os termos e condicións de uso, reprodución,
    e distribución tal e como se definen nas seccións 1 a 9 deste documento.

    "Licenciante" significará o propietario dos dereitos de autor ou a entidade autorizada por
    o propietario dos dereitos de autor que concede a licenza.

    "Persoa xurídica" entenderase a unión da entidade actuante e todo
    outras entidades que controlan, están controladas por ou están en común
    control con esa entidade. Para os efectos desta definición,
    "control" significa (i) o poder, directo ou indirecto, para provocar o
    dirección ou xestión de tal entidade, xa sexa por contrato ou
    se non, ou (ii) a propiedade do cincuenta por cento (50%) ou máis do
    accións en circulación ou (iii) propiedade efectiva desa entidade.

    "Ti" (ou "O teu") significará unha persoa física ou xurídica
    exercendo os permisos concedidos por esta licenza.

    Formulario "Fonte" significará o formulario preferido para facer modificacións,
    incluíndo, entre outros, o código fonte do software, a documentación
    fonte e ficheiros de configuración.

    Forma "obxecto" significará calquera forma resultante da mecánica
    transformación ou tradución dun formulario Source, incluído but
    non limitado a código obxecto compilado, documentación xerada,
    e conversións a outros tipos de medios.

    "Obra" significará a obra de autoría, xa sexa en Fonte ou
    Formulario de obxecto, dispoñible baixo a licenza, tal e como indica a
    aviso de copyright incluído ou adxunto á obra
    (no apéndice a continuación ofrécese un exemplo).

    "Obras derivadas" significará calquera obra, xa sexa en orixe ou en obxecto
    forma, que se basea (ou se deriva) do traballo e para o cal
    revisións editoriais, anotacións, elaboracións ou outras modificacións
    representan, no seu conxunto, unha orixinal obra de autoría. Para os efectos
    desta licenza, as obras derivadas non incluirán as obras que quedan
    separable de, ou simplemente ligar (ou enlazar por nome) ás interfaces de,
    os seus traballos e obras derivadas.

    "Contribución" significará calquera obra de autoría, incluíndo
    a versión orixinal da Obra e calquera modificación ou adición
    a esa obra ou obras derivadas da mesma, isto é intencionadamente
    enviado ao Licenciante para a súa inclusión na Obra polo propietario dos dereitos de autor
    ou por unha persoa física ou xurídica autorizada para presentar en nome de
    o propietario dos dereitos de autor. Para os efectos desta definición, "presentado"
    significa calquera forma de comunicación electrónica, verbal ou escrita enviada
    ao concedente ou aos seus representantes, incluíndo pero non limitándose a
    comunicación en listas de correo electrónico, sistemas de control de código fonte,
    e emitir sistemas de rastrexo xestionados por, ou en nome do
    Licenciante co propósito de discutir e mellorar o traballo, pero
    excluíndo a comunicación marcada de xeito visible ou doutro xeito
    designado por escrito polo propietario do copyright como "Non é unha contribución".

    "Colaborador" significará o Licenciante e calquera persoa física ou xurídica
    en nome de quen recibiu unha contribución por parte do concedente e
    posteriormente incorporado ao traballo.

  2. Concesión de licenza de copyright. Suxeito aos termos e condicións de
    con esta licenza, cada Colaborador concédelle unha perpetua,
    en todo o mundo, non exclusivo, sen cargo, sen dereitos de autor, irrevogable
    licenza de copyright para reproducir, preparar obras derivadas de,
    amosar publicamente, realizar publicamente, sublicenciar e distribuír o
    Traballo e ditas obras derivadas en forma de orixe ou obxecto.

  3. Concesión da licenza de patente. Suxeito aos termos e condicións de
    con esta licenza, cada Colaborador concédelle unha perpetua,
    en todo o mundo, non exclusivo, sen cargo, sen dereitos de autor, irrevogable
    (excepto como se indica nesta sección) licenza de patente para facer, ter feito,
    usar, ofrecer vender, vender, importar e transferir o traballo doutro xeito,
    cando a devandita licenza só se aplique a aquelas reclamacións de patentes licenciables
    por parte deste Colaborador que son necesariamente infrinxidos polo seu
    Contribución (s) soa ou combinada das súas Contribución (s)
    co Traballo ao que se presentou tal (s) Contribución (s). Se
    instaurar un litixio por patentes contra calquera entidade (incluída a
    reclamación cruzada ou reconvención nunha demanda) alegando que a Obra
    ou unha contribución incorporada ao traballo constitúe directa
    ou infracción de patentes contributivas, logo calquera licenza de patente
    concedida baixo esta licenza por ese traballo finalizará
    a partir da data de presentación do devandito litixio.

  4. Redistribución. Pode reproducir e distribuír copias do
    Obras ou obras derivadas dos mesmos en calquera soporte, con ou sen
    modificacións, e en forma de fonte ou obxecto, sempre que vostede
    reúne as seguintes condicións:

    (a) Debe entregar a calquera outro destinatario do traballo ou
    Derivative Works unha copia desta licenza; e

    (b) Debes facer que os ficheiros modificados conteñan avisos destacados
    indicando que cambiaches os ficheiros; e

    © Debe conservar, na forma de orixe de calquera Obra derivada
    que distribúe, todos os dereitos de autor, patentes, marcas comerciais e
    avisos de atribución desde o formulario Source do traballo,
    excluíndo aqueles avisos que non pertencen a ningunha parte de
    as Obras derivadas; e

    (d) Se a Obra inclúe un ficheiro de texto "AVISO" como parte dela
    distribución, entón calquera Obra Derivada que Distribúa
    incluír unha copia lexible dos avisos de atribución contidos
    dentro do devandito ficheiro de AVISO, excluíndo aqueles avisos que non o fagan
    pertencen a calquera parte das obras derivadas, en polo menos unha
    dos seguintes lugares: dentro dun ficheiro de texto AVISO distribuído
    como parte das Obras derivadas; dentro do formulario Source ou
    documentación, se se achega xunto cos traballos derivados; ou,
    dentro dunha pantalla xerada polas obras derivadas, if e
    sempre que aparezan normalmente tales avisos de terceiros. Os contidos
    do ficheiro AVISO son só con fins informativos e
    non modifique a licenza. Podes engadir a túa propia atribución
    avisos dentro de Obras derivadas que distribúe, xunto
    ou como addenda ao texto de AVISO do traballo, fornecido
    que tales avisos de atribución adicional non se poden interpretar
    como a modificación da licenza.

    Podes engadir a túa propia declaración de copyright ás túas modificacións e
    pode proporcionar termos e condicións de licenza adicionais ou diferentes
    para uso, reprodución ou distribución das súas modificacións, ou
    para calquera desas obras derivadas no seu conxunto, sempre que o seu uso,
    a reprodución e distribución do traballo cumpre doutro xeito
    as condicións establecidas nesta licenza.

  5. Presentación de Contribucións. A menos que indique expresamente o contrario,
    calquera contribución enviada intencionadamente para a súa inclusión no traballo
    por vostede ao concedente estará baixo os termos e condicións de
    esta licenza, sen termos ou condicións adicionais.
    Non obstante o anterior, nada do presente documento substituirá ou modificará
    os termos de calquera acordo de licenza separado que poida ter executado
    co Licenciante sobre tales contribucións.

  6. Marcas comerciais. Esta licenza non concede permiso para usar o comercio
    nomes, marcas comerciais, marcas de servizos ou nomes de produtos do concedente,
    excepto o requirido para un uso razoable e habitual na descrición do
    orixe da Obra e reproducindo o contido do ficheiro AVISO.

  7. Exención de garantía. Salvo que o requira a lexislación vixente ou
    acordado por escrito, o concedente proporciona o traballo (e cada un
    O colaborador proporciona as súas contribucións) "TAL CUAL",
    SEN GARANTÍAS OU CONDICIÓNS DE NINGÚN TIPO, xa sexa expreso ou
    implícito, incluíndo, sen limitación, as garantías ou condicións
    de TÍTULO, NON INFRACCIÓN, COMERCIALIZACIÓN ou IDONEIDADE PARA A
    FINALIDADE PARTICULAR. Vostede é o único responsable de determinar o
    idoneidade de usar ou redistribuír o traballo e asumir calquera
    riscos asociados co seu exercicio de permisos baixo esta licenza.

  8. Limitación de responsabilidade. En ningún caso e baixo ningunha teoría xurídica,
    sexa por delito (incluída a neglixencia), por contrato ou doutro xeito,
    agás que a lexislación aplicable o esixa (como deliberadamente e groseramente
    actos neglixentes) ou acordados por escrito
    responsable ante vostede polos danos, incluídos os directos, indirectos, especiais,
    danos incidentais ou consecuentes de calquera carácter xurdidos como
    o resultado desta licenza ou o uso ou a imposibilidade de usar o
    Traballo (incluído pero non limitado a danos por perda de boa vontade,
    interrupción do traballo, fallo ou mal funcionamento do ordenador ou calquera outro
    outros danos ou perdas comerciais), aínda que tal contribuínte
    informouse da posibilidade de tales danos.

  9. Aceptando garantía ou responsabilidade adicional. Mentres redistribuír
    a súa obra ou obras derivadas, pode optar por ofrecer,
    e cobrar unha taxa por, aceptación do soporte, garantía, indemnización,
    ou outras obrigas e / ou dereitos de responsabilidade consistentes con isto
    Licenza. Non obstante, ao aceptar esas obrigas, podes actuar só
    no seu nome e baixo a súa exclusiva responsabilidade, non no nome
    de calquera outro Colaborador e só se acepta indemnizar,
    defender e manter inofensivo a cada contribuínte por calquera responsabilidade
    incorrido por, ou reclamacións afirmadas contra, tal contribuínte por razón
    de aceptar tal garantía ou responsabilidade adicional.

    FIN DOS TERMOS E CONDICIÓNS

    APÉNDICE: Como aplicar a licenza Apache ao seu traballo.

    Para aplicar a licenza Apache ao seu traballo, achegue o seguinte
    aviso estándar, cos campos entre corchetes "[]"
    substituído pola súa propia información identificativa. (Non incluír
    o paréntesis!) O texto debe incluírse no correspondente
    sintaxe de comentario para o formato de ficheiro. Tamén recomendamos que a
    o nome do ficheiro ou clase e a descrición da finalidade deben incluírse no
    a mesma "páxina impresa" que o aviso de copyright para máis fácil
    identificación dentro de arquivos de terceiros.

    Copyright [aaaa] [nome do propietario do copyright]

    Licenzada baixo a Licenza Apache, Versión 2.0 (a "Licenza");
    non pode usar este ficheiro excepto de conformidade coa Licenza.
    Pode obter unha copia da licenza en

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

    A menos que a lei aplicable o acorde por escrito, o software
    distribuído baixo a Licenza distribúese "TAL CUAL",
    SEN GARANTÍAS OU CONDICIÓNS DE CALQUERA TIPO, ben expresas ou implícitas.
    Consulte a licenza para o idioma específico que rexe os permisos e
    limitacións baixo a licenza.

Licenza = contrato

Unha licenza libre, aínda que é gratuíta, non permite a permisividade e xa demos exemplos de restricións. Elixe unha licenza tendo en conta tanto os teus intereses como os do usuario, porque o software de código aberto está deseñado especificamente para el. O usuario do proxecto debería percibir a licenza como unha especie de acordo entre el e o titular dos dereitos de autor, polo que antes de realizar calquera acción sobre o código fonte, estude atentamente as restricións que lle impón a licenza do proxecto.

Agardamos que teñamos deitado algo de luz sobre o tema das licenzas e, a pesar da complexidade do problema, non debería converterse nun obstáculo no seu camiño cara ao código aberto. Desenvolve o teu proxecto e non te esquezas dos dereitos, teus e dos demais.

Ligazóns útiles

Por último, algúns recursos útiles que nos axudaron á hora de buscar información sobre licenzas existentes e seleccionar a máis adecuada para os nosos propósitos:

Fonte: www.habr.com

Engadir un comentario