Comment choisir une licence Open Source pour un framework RAD sur GitHub

Dans cet article, nous parlerons un peu du droit d'auteur, mais principalement du choix d'une licence gratuite pour le framework RAD IADV. Framework et pour les produits open source basés sur celui-ci. Nous parlerons de la licence Apache 2.0 , de ce qui nous y a conduit et des solutions que nous avons rencontrées au cours du processus.


Le processus de choix d'une licence prend beaucoup de temps et devrait être déjà assez bien lu, et si vous n'êtes pas un heureux propriétaire d'un diplôme en droit, vous verrez un champ d'informations intact sur une variété de licences gratuites. L'essentiel est de définir un certain nombre de critères limitatifs. Dans le processus de discussion et de réflexion, vous et l'équipe serez en mesure de comprendre ce que vous voulez autoriser aux utilisateurs de votre produit et ce qu'il faut interdire. Lorsque vous avez déjà une certaine description en main, vous devez l'imposer aux licences existantes et sélectionner celle où le plus de points coïncident. Cela semble, bien sûr, simple, mais en réalité, généralement même après la discussion, des questions demeurent.



Tout d'abord, un lien vers choosealicense.com , un site utile que nous utilisons activement. Faites particulièrement attention au tableau de comparaison des licences selon 13 critères principaux. Que l'anglais et la patience soient avec vous.


Farine de choix


Commençons par les caractéristiques communes des licences de logiciels libres . Les logiciels open source impliquent une licence exclusivement gratuite, qui ne limite pas la distribution commerciale et non commerciale sous le modèle Open Core . Par conséquent, placer un logiciel sous une licence gratuite sur le réseau ne peut pas limiter complètement son transfert, sa distribution et sa vente par des tiers, et vous devez seulement être préparé mentalement à cela.


Une licence gratuite donne à l'utilisateur le droit de participer au développement inverse du logiciel ou de le modifier par d'autres moyens disponibles. La plupart des licences ne vous permettent pas de renommer un produit ou d'effectuer des manipulations avec lui, modifiant les droits de l'auteur et / ou du propriétaire du système.


Les principales questions qui nous intéressaient à propos des licences gratuites étaient:


  1. Les modifications apportées au logiciel doivent être fixes et n'ont rien à voir avec le détenteur des droits d'auteur du système?
  2. Le nom du logiciel dérivé doit-il correspondre au nom du logiciel du titulaire du droit d'auteur?
  3. Est-il possible de changer la licence de toute nouvelle version en une autre, y compris la propriété?

Après avoir soigneusement examiné la liste des licences les plus courantes, nous en avons sélectionné quelques-unes qui ont été examinées plus en détail. Licences potentielles pour IONDV. Le cadre était: GNU GPLv3, Apache 2.0, MIT et MPL. Le MIT a été presque immédiatement exclu, c'est une licence non copyleft permissive qui permet l'utilisation, la modification et la distribution du code presque de toute façon, mais nous n'aimions pas cette option, nous voulions toujours que la licence réglemente la relation entre le titulaire du droit d'auteur et l'utilisateur. La plupart des projets les moins importants de GitHub sont présentés sous la licence MIT ou ses différentes variantes. La licence elle-même est très courte et les interdictions ne sont qu'une indication de la paternité du créateur du logiciel.


Le suivant était MPL 2.0 . Nous ne l'avons pas immédiatement avoué, mais après l'avoir étudié plus en détail, nous l'avons rapidement éliminé, car le principal inconvénient est que la licence est appliquée non pas à l'ensemble du projet, mais à des fichiers individuels. De plus, si l'utilisateur modifie le fichier, il ne peut pas modifier la licence. En fait, quelle que soit la diligence avec laquelle vous modifiez le projet Open source, vous ne pourrez pas le monétiser à cause d'une telle licence. Cela ne s'applique d'ailleurs pas au titulaire du droit d'auteur.


Un problème similaire persiste avec la licence GNU GPLv3 . Il nécessite que tout fichier y reste. La GNU GPL est une licence copyleft, qui nécessite que les codes sources des œuvres dérivées soient ouverts et restent sous la même licence. C'est-à-dire: après avoir réécrit deux lignes de code, vous serez obligé de valider vos modifications et de sauvegarder le code sous la GNU GPL avec une utilisation ou distribution future. Dans ce cas, c'est le facteur limitant pour l'utilisateur de notre projet, et non pour nous. Mais la modification de la GPL en toute autre licence est interdite, même dans les versions de la GPL. Par exemple, si vous changez la LGPL (module complémentaire via la GPL) en GPL, il n'y aura aucun moyen de revenir à la LGPL. Et ce point a été décisif lors du vote contre.


En général, notre choix était initialement orienté vers la GPL3 précisément en raison de la distribution de code modifié sous la même licence. Nous pensions que nous pourrions ainsi sécuriser notre produit, mais nous avons constaté moins de risques dans Apache 2.0. Selon la Free Software Foundation, GPLv3 est compatible avec Apache License v2.0. C'est-à-dire qu'il est toujours possible de changer la licence d'Apache License v2.0 en GPL v3.0.


Apache 2.0


Apache 2.0 est une licence équilibrée avec un accent sur les droits d'auteur. Voici les réponses qu'elle a données à nos questions. Les modifications apportées au logiciel doivent être fixes et n'ont rien à voir avec le détenteur des droits d'auteur du système? Oui, toutes les modifications doivent être documentées et nous ne sommes pas responsables du code source ou des modifications. Le fichier contenant les modifications doit être appliqué au code dans lequel vous avez effectué ces modifications. Le nom du logiciel dérivé doit-il correspondre au nom du logiciel du titulaire du droit d'auteur? Oui, les logiciels dérivés doivent apparaître sous un nom différent et sous une marque différente, mais avec le détenteur des droits d'auteur. Est-il possible de changer la licence de toute nouvelle version en une autre, y compris la propriété? Oui, il peut être publié sous différentes licences, Apache 2.0 ne limite pas l'utilisation de licences non commerciales et commerciales.


De plus, lors de la publication de nouveaux produits basés sur du code open source pour Apache 2.0 ou des produits avec des fonctionnalités supplémentaires, il n'est pas nécessaire d'utiliser la même licence. Ci-dessous, vous pouvez voir l'image avec les termes et conditions de la licence Apache 2.0.



La licence nécessite la conservation et la mention du droit d'auteur et de la licence sous laquelle le logiciel est délivré. La présence obligatoire d'un avis de droit d'auteur portant le nom du titulaire du droit d'auteur et de la licence protège les droits de l'auteur original du logiciel, car même s'il est renommé, donné ou vendu sous une autre licence, la marque de l'auteur restera. Pour cela, vous pouvez également utiliser le fichier NOTICE et le joindre au code source ou à la documentation du projet.


Nous publions tous nos produits sous la licence Apache 2.0, sauf IONDV , sur GitHub . Archives de guerre , dont le code source a été publié en avril de cette année sous la licence GPLv3 sur GitHub par le Far Eastern Center for Social Technologies. Actuellement, en plus du framework lui-même et de ses modules , les applications publiées sur le framework sont publiées. Sur un habr nous avons déjà parlé du système de gestion de projet et du registre de communication .


Tech. détails sur le cadre

IONDV. Framework est un framework node.js open source pour la création d'applications Web de haut niveau basées sur les métadonnées, qui ne nécessitent pas de compétences de programmation sérieuses.


La base de la fonctionnalité de l'application est le registre de données - le module Register. Il s'agit d'un module clé conçu spécifiquement pour travailler avec des données basées sur des structures de métadonnées - y compris celles pour la gestion de projets, programmes, événements, etc. Le projet utilise également un module de portail pour afficher des modèles de données arbitraires - il implémente le devant du registre des fichiers d'archives.


MongoDb est utilisé pour le SGBD - il stocke également les paramètres d'application, les métadonnées et les données elles-mêmes.


Comment appliquer une licence à votre projet?


Ajoutez le fichier LICENCE avec le texte de la licence au référentiel de votre projet et voilà, un projet protégé par Apache 2.0. Vous devez spécifier le détenteur des droits d'auteur, il s'agit d'un avis de droit d'auteur. Vous pouvez le faire dans le code source ou dans le fichier AVIS (un fichier texte répertoriant toutes les bibliothèques sous licence Apache ainsi que les noms de leurs créateurs). Le fichier doit être placé soit dans le code source, soit dans la documentation distribuée avec le travail. Cela ressemble à ceci pour nous:


Copyright © 2018 LLC "ION DV".
Sous licence Apache License, Version 2.0

Texte de licence Apache 2.0

Licence Apache
Version 2.0, janvier 2004
http://www.apache.org/licenses/


TERMES ET CONDITIONS D'UTILISATION, DE REPRODUCTION ET DE DISTRIBUTION


  1. Définitions


    "Licence" désigne les termes et conditions d'utilisation, de reproduction,
    et la distribution telle que définie par les sections 1 à 9 du présent document.


    "Concédant" désigne le titulaire du droit d'auteur ou l'entité autorisée par
    le titulaire du droit d'auteur qui accorde la licence.


    "Entité légale" signifie l'union de l'entité agissante et de tous les
    d'autres entités qui contrôlent, sont contrôlées par, ou sont sous contrôle commun
    contrôle avec cette entité. Aux fins de cette définition,
    "contrôle": i) le pouvoir, direct ou indirect, de provoquer la
    direction ou la gestion de cette entité, que ce soit par contrat ou
    autrement, ou (ii) la propriété de cinquante pour cent (50%) ou plus
    les actions en circulation, ou (iii) la propriété effective de cette entité.


    "Vous" (ou "Votre") signifie une personne physique ou morale
    exercer les autorisations accordées par cette licence.


    Le formulaire "source" désigne le formulaire préféré pour apporter des modifications,
    y compris, mais sans s'y limiter, le code source du logiciel, la documentation
    fichiers source et de configuration.


    La forme "objet" désigne toute forme résultant de
    transformation ou traduction d'un formulaire source, y compris mais
    non limité au code objet compilé, à la documentation générée,
    et les conversions vers d'autres types de médias.


    «Œuvre» désigne l’œuvre d’auteur, qu’elle soit en source ou
    Formulaire d'objet, mis à disposition sous licence, comme indiqué par un
    avis de droit d'auteur inclus ou joint à l'œuvre
    (un exemple est fourni dans l'annexe ci-dessous).


    «Œuvres dérivées» désigne toute œuvre, qu'elle soit en source ou en objet
    forme, qui est basée sur (ou dérivée de) l’Œuvre et pour laquelle le
    révisions éditoriales, annotations, élaborations ou autres modifications
    représentent, dans leur ensemble, une œuvre d'auteur originale. Aux fins
    de cette Licence, les Oeuvres Dérivées n'incluront pas les oeuvres qui restent
    séparable, ou simplement relier (ou lier par son nom) aux interfaces de,
    l'Œuvre et les Œuvres dérivées donc.


    «Contribution» désigne toute œuvre d'auteur, y compris
    la version originale de l'Œuvre et toutes modifications ou ajouts
    à cette Oeuvre ou Oeuvres Dérivées donc, qui est intentionnellement
    soumis au Concédant de licence pour inclusion dans l'Œuvre par le titulaire du droit d'auteur
    ou par une personne physique ou morale autorisée à soumettre au nom de
    le propriétaire du droit d'auteur. Aux fins de cette définition, «soumis»
    désigne toute forme de communication électronique, verbale ou écrite envoyée
    au concédant de licence ou à ses représentants, y compris, mais sans s'y limiter,
    communication sur listes de diffusion électroniques, systèmes de contrôle de code source,
    et émettre des systèmes de suivi gérés par ou pour le compte de la
    Concédant dans le but de discuter et d'améliorer les travaux, mais
    à l'exclusion des communications marquées ostensiblement ou autrement
    désigné par écrit par le titulaire du droit d'auteur comme «Pas une contribution».


    "Contributeur" désigne le Concédant et toute personne physique ou morale
    au nom de qui une Contribution a été reçue par le Concédant et
    incorporé par la suite dans les travaux.


  2. Octroi d'une licence de droit d'auteur. Sous réserve des termes et conditions de
    cette licence, chaque contributeur vous accorde par la présente une licence perpétuelle,
    dans le monde entier, non exclusif, gratuit, libre de droits, irrévocable
    licence de droit d'auteur pour reproduire, préparer les œuvres dérivées de,
    afficher, exécuter, sous-licencier et distribuer publiquement le
    Œuvre et ces œuvres dérivées sous forme source ou objet.


  3. Octroi d'une licence de brevet. Sous réserve des termes et conditions de
    cette licence, chaque contributeur vous accorde par la présente une licence perpétuelle,
    dans le monde entier, non exclusif, gratuit, libre de droits, irrévocable
    (sauf indication contraire dans cette section) licence de brevet pour faire, faire,
    utiliser, proposer de vendre, vendre, importer et autrement transférer l'Œuvre,
    lorsque cette licence ne s'applique qu'aux revendications de brevet pouvant faire l'objet d'une licence
    par un tel Contributeur qui sont nécessairement violés par leur
    Contribution (s) seule (s) ou par combinaison de leur (s) contribution (s)
    avec les travaux auxquels ces contributions ont été soumises. Si vous
    intenter un litige en matière de brevets contre toute entité (y
    demande reconventionnelle ou reconventionnelle dans une action en justice) alléguant que
    ou une Contribution incorporée dans l’Œuvre constitue une
    ou contrefaçon de brevet contributive, puis toutes les licences de brevet
    qui vous est accordée en vertu de cette licence pour ce travail prend fin
    à la date du dépôt de ce litige.


  4. Redistribution. Vous pouvez reproduire et distribuer des copies du
    Oeuvre ou Oeuvre Dérivée donc sur tout support, avec ou sans
    modifications et sous forme Source ou Objet, à condition que Vous
    remplir les conditions suivantes:


    (a) Vous devez donner à tout autre destinataire de l'Œuvre ou
    Derivative Works une copie de cette licence; et


    (b) Vous devez faire en sorte que tous les fichiers modifiés portent des avis bien visibles
    indiquant que vous avez modifié les fichiers; et


    © Vous devez conserver, sous forme de source, toute œuvre dérivée
    que vous distribuez, tous les droits d'auteur, brevets, marques de commerce et
    les avis d'attribution du formulaire Source de l'Œuvre,
    à l'exclusion des avis qui ne se rapportent à aucune partie de
    les œuvres dérivées; et


    (d) Si l'Œuvre inclut un fichier texte "AVIS" dans le cadre de son
    distribution, toutes les œuvres dérivées que vous distribuez doivent
    inclure une copie lisible des avis d'attribution contenus
    dans ce fichier AVIS, à l'exclusion des avis qui ne
    se rapportent à toute partie des œuvres dérivées, dans au moins un
    des emplacements suivants: dans un fichier texte AVIS distribué
    dans le cadre des Œuvres dérivées; dans le formulaire Source ou
    la documentation, si elle est fournie avec les œuvres dérivées; ou,
    dans un affichage généré par les œuvres dérivées, si et
    partout où de tels avis de tiers apparaissent normalement. Le contenu
    du fichier AVIS sont à titre informatif uniquement et
    ne modifiez pas la licence. Vous pouvez ajouter votre propre attribution
    des avis dans les œuvres dérivées que vous distribuez, aux côtés de
    ou en tant qu’additif au texte d’AVIS des travaux, à condition
    que ces avis d'attribution supplémentaires ne peuvent pas être interprétés
    comme modifiant la licence.


    Vous pouvez ajouter votre propre déclaration de copyright à vos modifications et
    peut fournir des conditions de licence supplémentaires ou différentes
    pour l'utilisation, la reproduction ou la distribution de vos modifications, ou
    pour de telles Oeuvres Dérivées dans leur ensemble, à condition que Votre utilisation,
    la reproduction et la distribution de l'Œuvre sont par ailleurs conformes aux
    les conditions énoncées dans cette licence.


  5. Soumission des contributions. Sauf indication contraire explicite de votre part,
    toute contribution intentionnellement soumise pour inclusion dans les travaux
    par vous au concédant de licence doit être sous les termes et conditions de
    cette licence, sans conditions supplémentaires.
    Nonobstant ce qui précède, rien de ce qui précède ne remplacera ni ne modifiera
    les termes de tout accord de licence distinct que vous pourriez avoir signé
    avec le Concédant concernant ces Contributions.


  6. Marques déposées. Cette licence n'accorde pas la permission d'utiliser le commerce
    les noms, marques déposées, marques de service ou noms de produits du Concédant,
    sauf si cela est requis pour une utilisation raisonnable et habituelle dans la
    origine de l'Œuvre et reproduisant le contenu du fichier AVIS.


  7. Exclusion de garantie. Sauf si requis par la loi applicable ou
    convenu par écrit, le Concédant fournit l’Œuvre (et chaque
    Contributeur fournit ses Contributions) "TEL QUEL",
    SANS GARANTIES OU CONDITIONS DE QUELQUE NATURE QUE CE SOIT, express ou
    implicite, y compris, sans limitation, toute garantie ou condition
    de TITRE, DE NON-CONTREFAÇON, DE QUALITÉ MARCHANDE OU D'ADÉQUATION À UN
    OBJECTIF PARTICULIER. Vous êtes seul responsable de la détermination du
    l'opportunité d'utiliser ou de redistribuer l'Œuvre et d'assumer toute
    les risques associés à votre exercice des autorisations sous cette licence.


  8. Limitation de responsabilité. En aucun cas et sous aucune théorie juridique,
    que ce soit en matière délictuelle (y compris la négligence), contractuelle ou autre,
    sauf si requis par la loi applicable (comme délibéré et grossièrement
    actes de négligence) ou convenus par écrit, tout Contributeur sera
    responsable envers vous des dommages, y compris tout dommage direct, indirect, spécial,
    dommages indirects ou consécutifs de quelque nature que ce soit,
    résultat de cette licence ou de l’utilisation ou de l’impossibilité d’utiliser
    Travaux (y compris, mais sans s'y limiter, les dommages pour perte de clientèle,
    arrêt de travail, panne ou dysfonctionnement de l'ordinateur, ou tout autre
    autres dommages ou pertes commerciaux), même si ce Contributeur
    a été informé de la possibilité de tels dommages.


  9. Accepter la garantie ou la responsabilité supplémentaire. Tout en redistribuant
    l'Œuvre ou ses Œuvres dérivées, Vous pouvez choisir d'offrir,
    et facturer des frais pour l'acceptation du support, la garantie, l'indemnité,
    ou d'autres obligations et / ou droits en matière de responsabilité compatibles avec le présent
    Licence. Cependant, en acceptant ces obligations, vous ne pouvez agir que
    en votre nom et sous votre seule responsabilité, pas en votre nom
    de tout autre Contributeur, et uniquement si Vous acceptez d'indemniser,
    défendre et dégager chaque contributeur de toute responsabilité
    encourus par, ou réclamations formulées contre ce Contributeur en raison
    de votre acceptation d'une telle garantie ou responsabilité supplémentaire.


    FIN DES TERMES ET CONDITIONS


    ANNEXE: Comment appliquer la licence Apache à votre travail.


    Pour appliquer la licence Apache à votre travail, joignez les éléments suivants
    notice standard, avec les champs entre crochets "[]"
    remplacé par vos propres informations d'identification. (Ne pas inclure
    entre crochets!) Le texte doit être placé entre les
    syntaxe de commentaire pour le format de fichier. Nous recommandons également
    le nom du fichier ou de la classe et la description de l'objectif doivent être
    même "page imprimée" que l'avis de copyright pour plus de facilité
    identification dans des archives tierces.


    Copyright [aaaa] [nom du propriétaire du copyright]


    Sous licence Apache License, Version 2.0 (la "Licence");
    vous ne pouvez pas utiliser ce fichier sauf en conformité avec la licence.
    Vous pouvez obtenir une copie de la licence à l'adresse


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


    Sauf si requis par la loi applicable ou accepté par écrit, le logiciel
    distribué sous licence est distribué sur une base "en l'état",
    SANS GARANTIE OU CONDITION DE QUELQUE NATURE QUE CE SOIT, expresse ou implicite.
    Voir la licence pour la langue spécifique régissant les autorisations et
    limitations de la licence.



Licence = contrat


Une licence gratuite, bien que gratuite, ne permet pas la permissivité et nous avons déjà donné des exemples de restrictions. Choisissez une licence prenant en compte à la fois vos intérêts et l'utilisateur, car les logiciels open source sont spécialement conçus pour lui. L'utilisateur du projet doit percevoir la licence comme une sorte d'accord entre lui et le détenteur des droits d'auteur, donc avant de prendre toute mesure sur le code source, étudiez attentivement les restrictions qui vous sont imposées par la licence du projet.


Nous espérons avoir fait la lumière sur le sujet des licences et, malgré la complexité du problème, cela ne devrait pas devenir un obstacle à votre chemin vers l'Open Source. Développez votre projet et n'oubliez pas les droits, les vôtres et les autres.


Liens utiles


Enfin, quelques ressources utiles qui nous ont aidés à trouver des informations sur les licences existantes et à sélectionner la plus adaptée à nos besoins:


Source: https://habr.com/ru/post/fr459732/


All Articles