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

Dans cet article nous parlerons un peu du droit d'auteur, mais surtout du choix d'une licence gratuite pour le framework RAD IONDV. Cadre et pour les produits open source basés sur celui-ci. Nous vous parlerons de la licence d'autorisation Apache 2.0, sur ce qui nous y a conduit et sur les décisions auxquelles nous avons été confrontés au cours du processus.

Le processus de choix d'une licence demande beaucoup de travail et doit être abordé déjà bien lu, et si vous n'êtes pas un heureux propriétaire d'une formation juridique, alors un champ d'informations inexploré sur diverses licences gratuites s'ouvre devant vous. L'essentiel est d'établir un certain nombre de critères limitatifs. Grâce au processus de discussion et de réflexion, vous et votre équipe serez en mesure de comprendre ce que vous souhaitez autoriser les utilisateurs de votre produit et ce qu’il faut interdire. Lorsque vous avez déjà une certaine description entre vos mains, vous devez la superposer aux licences existantes et sélectionner celle où le plus grand nombre de points coïncide. Cela semble simple, bien sûr, mais en réalité, même après discussion, des questions demeurent.

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

Tout d'abord, un lien vers choisiralicense.com, un site utile que nous avons beaucoup utilisé. Portez une attention particulière à tableau de comparaison licences selon 13 critères principaux. Que l'anglais et la patience soient avec vous.

Choix de farine

Commençons par les caractéristiques générales des licences pour logiciel gratuit. Les logiciels open source impliquent une licence exclusivement gratuite, qui ne limite pas la distribution commerciale et non commerciale selon le modèle Noyau ouvert. En conséquence, la mise en réseau d'un logiciel sous licence libre ne peut pas limiter complètement son transfert, sa distribution et sa vente par des tiers, et il suffit d'y être mentalement préparé.

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

Les principales questions qui nous intéressaient concernant les licences libres étaient :

  1. Les modifications apportées au logiciel doivent-elles être enregistrées et n'avoir aucun rapport avec le détenteur des droits d'auteur du système ?
  2. Le nom du logiciel dérivé ne devrait-il pas être le même que celui du logiciel du détenteur des droits d'auteur ?
  3. Est-il possible de changer la licence de toute nouvelle version par une autre, y compris une licence propriétaire ?

Après avoir examiné attentivement la liste des licences les plus courantes, nous en avons sélectionné plusieurs que nous avons examinées plus en détail. Licences potentielles pour IONDV. Cadre étaient : GNU GPLv3, Apache 2.0, MIT et MPL. MIT presque immédiatement exclue, il s'agit d'une licence permissive sans copyleft, qui permet l'utilisation, la modification et la distribution du code de presque toutes les manières, mais nous n'étions pas satisfaits de cette option, nous voulions quand même que la licence réglemente la relation entre le droit d'auteur le titulaire et l'utilisateur. La plupart des petits projets sur GitHub sont publiés sous la licence MIT ou ses diverses variantes. La licence elle-même est très courte et les seules interdictions sont d'indiquer la paternité du créateur du logiciel.

Vient ensuite la licence MPL 2.0. Certes, nous n’y sommes pas parvenus tout de suite, mais après l’avoir étudié plus en détail, nous l’avons rapidement écarté, car le principal inconvénient est que la licence ne s’applique 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, peu importe avec quelle diligence vous modifiez un projet Open source, vous ne pourrez jamais le monétiser grâce à une telle licence. Soit dit en passant, cela ne concerne pas le détenteur des droits d'auteur.

Un problème similaire persiste avec la licence GNU GPL v3. Il nécessite que tout fichier y reste. La GNU GPL est une licence copyleft qui exige que les œuvres dérivées soient open source et restent sous la même licence. Autrement dit : en réécrivant deux lignes de code, vous serez obligé de valider vos modifications et, lors d'une utilisation ou d'une distribution ultérieure, de sauvegarder le code sous la GNU GPL. Dans ce cas, c'est un facteur limitant pour l'utilisateur de notre projet, et non pour nous. Mais changer la GPL pour une autre licence est interdit, même dans les versions GPL. Par exemple, si vous changez LGPL (un module complémentaire à la GPL) à la GPL, il n'y aura alors aucun moyen de revenir à la LGPL. Et ce point a été décisif pour voter contre.

Globalement, notre choix s'est d'abord orienté vers GPL3 précisément à cause de la distribution du 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, la GPLv3 est compatible avec la licence Apache v2.0, ce qui signifie qu'il est toujours possible de changer la licence de la licence Apache v2.0 en GPL v3.0.

Apache 2.0

Apache 2.0 — une licence permissive équilibrée mettant l'accent sur le droit d'auteur. Voici les réponses qu'elle a données aux questions qui nous intéressaient. Les modifications apportées au logiciel doivent-elles être enregistrées et n'avoir aucun rapport 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 original ou modifié. Le fichier contenant les modifications doit être joint au code dans lequel vous avez effectué ces modifications. Le nom du logiciel dérivé ne devrait-il pas être le même que celui du logiciel du détenteur des droits d'auteur ? Oui, les logiciels dérivés doivent être publiés sous un nom différent et sous une marque différente, mais avec une indication du détenteur des droits d'auteur. Est-il possible de changer la licence de toute nouvelle version par une autre, y compris une licence propriétaire ? 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 de produits dotés de fonctionnalités supplémentaires, il n'est pas nécessaire d'utiliser la même licence. Ci-dessous, vous pouvez voir une image avec les termes et restrictions de la licence Apache 2.0.

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

La licence impose l'obligation de conserver et de mentionner les droits d'auteur et la licence sous laquelle le logiciel est publié. Disponibilité obligatoire copyright avec le nom du détenteur des droits d'auteur et une licence protège les droits de l'auteur original du logiciel, car même s'il est renommé, donné ou vendu sous une licence différente, la marque de l'auteur restera toujours. Vous pouvez également utiliser le fichier pour cela AVIS et joignez-le soit au code source, soit à la documentation du projet.

Nous publions tous nos produits accessibles au public sur GitHub sous la licence Apache 2.0, sauf IONDV. Archives de guerre, dont le code source a été publié sous licence GPLv3 sur GitHub en avril de cette année par le Far Eastern Center for Social Technologies. Pour le moment, en plus du cadre et modules publié приложения réalisé sur le cadre. Sur le hub dont nous avons déjà parlé Système de gestion de projet et environ Registre des communications.

Ceux. détails sur le cadre

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

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 directement pour travailler avec des données basées sur des structures de métadonnées - y compris pour la gestion de projets, de programmes, d'événements, etc. Le projet utilise également un module de portail pour afficher des modèles de données arbitraires - il implémente le registre frontal des archives.

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

Comment demander une licence à votre projet ?

Ajouter un fichier LICENCE avec le texte de la licence dans le référentiel de votre projet et voilà, un projet protégé par Apache 2.0. Vous devez indiquer le détenteur des droits d'auteur, c'est tout Copyright. Cela peut être fait dans le code source ou dans un fichier AVIS (un fichier texte répertoriant toutes les bibliothèques sous licence Apache ainsi que les noms de leurs créateurs). Placez le fichier lui-même soit dans le code source, soit dans la documentation distribuée avec l'œuvre. Pour nous, cela ressemble à ceci :

Copyright © 2018 ION DV LLC.
Sous licence Apache, version 2.0

Texte de la licence Apache 2.0

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

CONDITIONS GÉNÉRALES 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 dans les sections 1 à 9 de ce document.

    « Concédant de licence » 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é juridique » désigne l'union de l'entité agissante et de tous
    d'autres entités qui contrôlent, sont contrôlées par ou sont soumises à des
    contrôle avec cette entité. Aux fins de cette définition,
    « contrôle » désigne (i) le pouvoir, direct ou indirect, de faire en sorte que
    direction ou gestion d'une telle entité, que ce soit par contrat ou
    autrement, ou (ii) la propriété de cinquante pour cent (50%) ou plus du
    actions en circulation, ou (iii) propriété effective de cette entité.

    « Vous » (ou « Votre ») désigne une personne physique ou morale.
    exercer les autorisations accordées par cette licence.

    La forme « source » désigne la forme préférée pour apporter des modifications,
    y compris, mais sans s'y limiter, le code source du logiciel, la documentation
    source et fichiers de configuration.

    Par forme « Objet », on entend toute forme résultant d'une action mécanique.
    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, que ce soit dans Source ou
    Formulaire d'objet, mis à disposition sous la Licence, comme indiqué par un
    avis de droit d'auteur inclus ou joint à l'œuvre
    (un exemple est fourni en annexe ci-dessous).

    « Œuvres dérivées » désigne toute œuvre, qu'elle soit dans la source ou dans l'objet.
    forme, qui est basée sur (ou dérivée de) l'Œuvre et pour laquelle le
    révisions rédactionnelles, annotations, élaborations ou autres modifications
    représentent, dans son ensemble, une œuvre originale de la paternité. Pour les buts
    de cette Licence, les Œuvres dérivées n'incluront pas les Œuvres qui restent
    séparables ou simplement lier (ou se lier par leur nom) aux interfaces de,
    les travaux et les travaux dérivés de ceux-ci.

    « Contribution » désigne toute œuvre d'auteur, y compris
    la version originale de l'Œuvre et toutes modifications ou ajouts
    à cette œuvre ou à ses œuvres dérivées, c'est-à-dire intentionnellement
    soumis au Concédant 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 titulaire 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 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 les systèmes de suivi des problèmes gérés par ou au nom de
    Concédant dans le but de discuter et d'améliorer les travaux, mais
    à l'exclusion des communications qui sont clairement marquées ou autrement
    désigné par écrit par le titulaire du droit d’auteur comme « Pas une contribution ».

    « Contributeur » désigne le Concédant de licence 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 l'Œuvre.

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

  3. Octroi de licence de brevet. Sous réserve des termes et conditions de
    cette Licence, chaque Contributeur vous accorde par la présente une
    dans le monde entier, non exclusif, gratuit, libre de droits, irrévocable
    (sauf comme indiqué dans cette section) licence de brevet pour faire, avoir fait,
    utiliser, proposer de vendre, vendre, importer et autrement transférer l'Œuvre,
    lorsque cette licence s'applique uniquement aux revendications de brevet pouvant faire l'objet d'une licence
    par un tel Contributeur qui sont nécessairement enfreints par leur
    Contribution (s) seule (s) ou par combinaison de leur (s) contribution (s)
    avec l'Œuvre à laquelle ces Contribution (s) ont été soumises. Si vous
    engager un litige en matière de brevets contre toute entité (y compris un
    demande reconventionnelle ou demande reconventionnelle dans le cadre d'une action en justice) alléguant que les travaux
    ou une Contribution incorporée dans l'Œuvre constitue une
    ou contrefaçon de brevet contributive, puis toute licence de brevet
    qui vous est accordé en vertu de cette licence pour ce travail prend fin
    à compter de la date à laquelle ce litige est déposé.

  4. Redistribution. Vous pouvez reproduire et distribuer des copies du
    Œuvres ou Œuvres dérivées de celles-ci sur tout support, avec ou sans
    modifications, et sous la forme Source ou Objet, à condition que Vous
    répondre aux conditions suivantes:

    (a) Vous devez donner à tout autre destinataire du travail ou
    Derivative Works une copie de cette licence; et

    (b) Vous devez faire en sorte que tous les fichiers modifiés portent des mentions bien visibles.
    déclarant que vous avez modifié les fichiers ; et

    © Vous devez conserver, sous la forme Source, toutes Œuvres Dérivées
    que vous distribuez, tous les droits d'auteur, brevets, marques et
    les avis d'attribution du formulaire Source de l'Œuvre,
    excluant les avis qui ne concernent aucune partie de
    les œuvres dérivées; et

    (d) Si le travail comprend un fichier texte « AVIS » dans le cadre de celui-ci
    distribution, alors 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 endroits suivants : au sein d'un fichier texte AVIS distribué
    dans le cadre des travaux dérivés; dans le formulaire Source ou
    la documentation, si elle est fournie avec les travaux dérivés; ou,
    dans un affichage généré par les œuvres dérivées, si et
    partout où ces notifications de tiers apparaissent normalement. Les contenus
    du fichier AVIS sont à titre informatif uniquement et
    ne modifiez pas la licence. Vous pouvez ajouter votre propre attribution
    les avis dans les Œuvres dérivées que vous distribuez, aux côtés
    ou comme un addendum au texte de l'AVIS de l'Œuvre, à condition
    que de tels avis d'attribution supplémentaires ne peuvent pas être interprétés
    comme modifiant la licence.

    Vous pouvez ajouter votre propre déclaration de droits d'auteur à vos modifications et
    peut fournir des termes et conditions de licence supplémentaires ou différents
    pour l'utilisation, la reproduction ou la distribution de Vos modifications, ou
    pour tout ouvrage dérivé dans son 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 l'Œuvre
    par Vous au Concédant doit être sous les termes et conditions de
    cette Licence, sans termes ou conditions supplémentaires.
    Nonobstant ce qui précède, rien dans les présentes ne remplacera ou ne modifiera
    les termes de tout contrat de licence distinct que vous avez signé
    avec le Concédant concernant ces Contributions.

  6. Marques déposées. Cette licence n'accorde pas l'autorisation d'utiliser le commerce
    les noms, marques de commerce, marques de service ou noms de produits du concédant,
    sauf si cela est requis pour une utilisation raisonnable et habituelle dans la description du
    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 le travail (et chaque
    Le Contributeur fournit ses Contributions) sur une BASE « TEL QUEL »,
    SANS GARANTIES OU CONDITIONS D'AUCUNE SORTE, expresse ou
    implicite, y compris, sans limitation, toutes les garanties ou conditions
    de TITRE, DE NON-CONTREFAÇON, DE QUALITÉ MARCHANDE ou D'ADAPTATION À UN
    RAISON PARTICULIÈRE. Vous êtes seul responsable de la détermination du
    l'opportunité d'utiliser ou de redistribuer l'Œuvre et d'assumer
    les risques associés à votre exercice des autorisations en vertu de 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,
    à moins que la loi applicable ne l'exige (par exemple, délibérément et
    actes de négligence) ou convenus par écrit, tout Contributeur doit être
    responsable envers vous des dommages, y compris tout dommage direct, indirect, spécial,
    dommages accessoires ou consécutifs de quelque nature que ce soit survenant en tant que
    résultant de cette Licence ou de l’utilisation ou de l’incapacité d’utiliser le
    Travaux (y compris, mais sans s'y limiter, les dommages-intérêts pour perte de clientèle,
    arrêt de travail, panne ou dysfonctionnement de l'ordinateur, ou tout
    autres dommages ou pertes commerciaux), même si ledit Contributeur
    a été informé de la possibilité de tels dommages.

  9. Acceptation de la garantie ou de la responsabilité supplémentaire. En redistribuant
    les travaux ou travaux dérivés de ceux-ci, vous pouvez choisir d'offrir,
    et facturer des frais pour, l'acceptation de l'assistance, la garantie, l'indemnité,
    ou d'autres obligations de responsabilité et / ou droits compatibles avec ce
    Licence. Cependant, en acceptant ces obligations, vous ne pouvez agir que
    en votre propre 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 un tel contributeur ou réclamations formulées à son encontre 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
    avis standard, avec les champs entourés de parenthèses "[]"
    remplacé par vos propres informations d'identification. (N'incluez pas
    les crochets!) Le texte doit être placé entre les
    syntaxe de commentaire pour le format de fichier. Nous recommandons également qu'un
    le nom du fichier ou de la classe et la description de l'objectif soient inclus sur le
    même « page imprimée » que l'avis de droit d'auteur pour faciliter
    identification dans des archives tierces.

    Copyright [aaaa] [nom du titulaire des droits d'auteur]

    Sous licence Apache, version 2.0 (la « Licence ») ;
    vous ne pouvez utiliser ce fichier que conformément à 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 convenu par écrit, les logiciels
    distribué sous la Licence est distribué sur une BASE « TEL QUEL »,
    SANS GARANTIES OU CONDITIONS D'AUCUNE SORTE, expresse ou implicite.
    Voir la Licence pour le langage spécifique régissant les autorisations et
    limitations en vertu de la licence.

Licence = contrat

Une licence libre, bien que gratuite, ne permet pas la permissivité et nous avons déjà donné des exemples de restrictions. Choisissez une licence en tenant compte à la fois de vos intérêts et de ceux de l'utilisateur, car les logiciels open source sont conçus spécifiquement 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 d'effectuer toute action 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é de la question, cela ne devrait pas devenir un obstacle sur votre chemin vers l'Open Source. Développez votre projet et n'oubliez pas les droits, les vôtres et ceux des autres.

Liens utiles

Enfin, quelques ressources utiles qui nous ont aidés dans la recherche d'informations sur les licences existantes et dans la sélection de celle la plus adaptée à nos besoins :

Source: habr.com

Ajouter un commentaire