In dit artikel zullen we het kort hebben over auteursrecht, maar vooral over het kiezen van een vrije licentie voor een RAD-framework en voor open-source producten die er op zijn gebaseerd. We zullen het hebben over een permissieve licentie Apache 2.0, over wat ons naar deze licentie heeft geleid en met welke oplossingen we tijdens het proces zijn geconfronteerd.
Het proces van het kiezen van een licentie is behoorlijk arbeidsintensief en moet al met enige voorkennis worden benaderd. Als je niet toevallig een juridische opleiding hebt, dan staat je een onontdekt veld van informatie over diverse vrije licenties te wachten. Het belangrijkste is om een set beperkende criteria op te stellen. In het proces van bespreking en reflectie zal je team begrijpen wat je gebruikers van jouw product wilt toestaan en wat je wilt verbieden. Wanneer je al een soort beschrijving hebt, moet je deze vergelijken met de bestaande licenties en diegene selecteren waarbij het grootste aantal punten overeenkomt. Dat klinkt natuurlijk eenvoudig, maar in de praktijk blijven er meestal zelfs na bespreking nog vragen over.

Ten eerste, een link naar , een nuttige site die we actief hebben gebruikt. Let vooral op de van licenties op 13 belangrijke criteria. Moge het Engels en geduld met je zijn.
De strijd om een keuze
Laten we beginnen met de algemene kenmerken van licenties voor . Vrije software impliceert uitsluitend een vrije licentie die de commerciële en niet-commerciële verspreiding volgens het model van niet beperkt. Bijgevolg, wanneer je software onder een vrije licentie online plaatst, kun je de overdracht, verspreiding en verkoop door derden niet volledig beperken, en daar moet je mentaal op voorbereid zijn.
Een vrije licentie geeft de gebruiker het recht om zelf deel te nemen aan het reverse-engineeren van de software of deze op andere toegankelijke manieren aan te passen. De meeste licenties staan niet toe dat je het product hernoemt of enige manipulaties uitvoert die de rechten van de auteur en/of eigenaar van het systeem veranderen.
De belangrijkste vragen over vrije licenties die ons interesseerden, waren:
- Moeten de aangebrachte wijzigingen in de software worden vastgelegd en hebben ze geen enkel verband met de rechthebbende van het systeem?
- De naam van de afgeleide software mag niet hetzelfde zijn als de naam van de auteursrechthebbende software?
- Is het mogelijk om de licentie voor nieuwe versies te wijzigen in een andere, inclusief een propriëtaire licentie?
Na zorgvuldig de lijst van de meest voorkomende licenties te hebben bekeken, hebben we er een paar geselecteerd die we nader hebben onderzocht. Potentiële licenties voor waren: GNU GPLv3, Apache 2.0, MIT en MPL. MIT We hebben vrijwel onmiddellijk de MIT-licentie uitgesloten, omdat het een permissieve niet-copyleft-licentie is die vrij gebruik, wijziging en distributie van de code toestaat zoals men wil, hetgeen voor ons geen optie was. We wilden dat de licentie de relatie tussen de auteursrechthebbende en de gebruiker reguleerde. De meeste niet al te grote projecten op GitHub zijn precies onder de MIT-licentie of een van zijn varianten gepubliceerd. De licentie zelf is zeer kort, en de enige beperking is de vermelding van de auteursnaam.
De volgende licentie was MPL 2.0. We moeten bekennen dat we er niet meteen mee kwamen, maar na een grondige studie hebben we deze snel uitgesloten, omdat het grootste nadeel is dat de licentie niet op het hele project van toepassing is, maar slechts op specifieke bestanden. Bovendien kan de gebruiker de licentie niet wijzigen als hij een bestand wijzigt. In feite, hoe zorgvuldig je ook een open source-project wijzigt, je zult het vanwege deze licentie niet kunnen monetiseren. Dit geldt overigens niet voor de auteursrechthebbende.
Een soortgelijk probleem doet zich ook voor bij de licentie GNU GPLv3. Deze vereist dat elk bestand onder dezelfde licentie blijft. GNU GPL is een copyleft-licentie die vereist dat de broncode van afgeleide werken openbaar is en onder dezezelfde licentie blijft. Met andere woorden: als je twee regels code herschrijft, ben je verplicht om je wijzigingen vast te leggen en, bij verder gebruik of distributie, de code onder de GNU GPL te behouden. In dit geval is dit een beperkende factor voor de gebruiker van ons project, niet voor ons. Maar het wijzigen van GPL naar een andere licentie is verboden, zelfs binnen versies van GPL. Bijvoorbeeld, als je LGPL (een uitbreiding van GPL) naar GPL wijzigt, is er geen weg terug naar LGPL. En dit punt was beslissend in de stemming tegen.
Over het algemeen neigde onze keuze aanvankelijk naar GPL3 precies om de verspreiding van gemodificeerde code onder dezelfde licentie. We dachten dat we zo ons product konden beveiligen, maar we zagen minder risico's bij Apache 2.0. Volgens de Free Software Foundation is GPLv3 compatibel met Apache License v2.0, wat betekent dat er altijd de mogelijkheid is om de licentie van Apache License v2.0 naar GPL v3.0 te wijzigen.
Apache 2.0
— een gebalanceerde permissieve licentie met de nadruk op auteursrechten. Dit zijn de antwoorden die zij gaven op de vragen die ons bezig hielden. Moeten de aangebrachte wijzigingen in de software worden gedocumenteerd en hebben ze niets te maken met de rechthebbende van het systeem? Ja, alle wijzigingen moeten gedocumenteerd worden en we zijn niet verantwoordelijk voor de oorspronkelijke code, noch voor de gewijzigde. Een bestand met wijzigingen moet bij de code worden gevoegd waaraan je deze wijzigingen hebt aangebracht. Mag de naam van de afgeleide software niet overeenkomen met de naam van de software van de rechthebbende? Ja, de afgeleide software moet onder een andere naam en ander handelsmerk verschijnen, maar met vermelding van de auteursrechten van de rechthebbende. Mag de licentie voor nieuwe versies veranderd worden naar een andere, inclusief een propriëtaire? Ja, het is toegestaan om onder verschillende licenties uit te geven, Apache 2.0 beperkt het gebruik van enige niet-commerciële en commerciële licenties niet.
Bovendien, bij het uitbrengen van nieuwe producten op basis van open code onder Apache 2.0 of extra functionaliteitsproducten is het niet verplicht om dezelfde licentie te gebruiken. Hieronder is een afbeelding te zien met de voorwaarden en beperkingen van de Apache 2.0-licentie.

De licentie vereist dat de auteursrechten en de licentie waaronder de software is uitgebracht, behouden blijven. Het is verplicht om copyright notice met de naam van de rechthebbende en de licentie beschermt de rechten van de oorspronkelijke auteur van de software, aangezien zelfs als het wordt hernoemd, gegeven of verkocht onder een andere licentie, het auteursmerk toch blijft bestaan. Hiervoor kan ook het bestand NOTICE worden gebruikt en bijgevoegd worden in de broncode of de documentatie van het project.
Wij brengen al onze producten onder de Apache 2.0-licentie openlijk beschikbaar op GitHub, met uitzondering van , wiens broncode in april van dit jaar onder de GPLv3-licentie op GitHub is gepubliceerd door het Verre Oosten Centrum voor Sociale Technologieën. Tot nu toe naast de en zijn gepubliceerd gemaakt op het framework. Op Habr hebben we al verteld over en over .
Technische details over het framework
IONDV. Framework – een open source framework op node.js voor het creëren van geavanceerde webapplicaties op basis van metadata, dat geen serieuze programmeervaardigheden vereist.
De kernfunctionaliteit van de applicatie bestaat uit een dateregister – de Registratiemodule. Dit is de sleutelmodule die specifiek is ontworpen voor het werken met data op basis van metadata structuren, waaronder het beheer van projecten, programma's, evenementen en meer. In het project wordt ook de portaalmodule gebruikt voor het weergeven van willekeurige datastijlen – hierop is de voorkant van het archiefregister gerealiseerd.
Voor de database wordt MongoDb gebruikt – hierin worden zowel de applicatie-instellingen, metadata als de data opgeslagen.
Hoe pas je een licentie toe op je project?
Voeg een bestand LICENSE met de tekst van de licentie toe aan de repository van je project en voilà, je project is beschermd onder Apache 2.0. Je moet de rechthebbende vermelden, dit is de copyright notice. Dit kan in de broncode of in het bestand NOTICE (een tekstbestand dat alle bibliotheken opsomt die onder de Apache-licentie zijn gelicentieerd, samen met de namen van hun makers). Plaats het bestand ofwel in de broncode of in de documentatie die samen met het werk wordt verspreid. Voor ons ziet dit er als volgt uit:
Copyright © 2018 LLC «ION DV».
Licensed under the Apache License, Version 2.0
Tekst van de Apache-licentie 2.0
Apache Licentie
Versie 2.0, januari 2004
VOORWAARDEN EN BEPALINGEN VOOR GEBRUIK, REPRODUCTIE EN VERSPREIDING
Definities.
«Licentie» betekent de voorwaarden voor gebruik, reproductie,
en distributie zoals gedefinieerd in secties 1 tot en met 9 van dit document.«Licentienemer» betekent de rechthebbende of entiteit die door
de rechthebbende gemachtigd is om de Licentie te verlenen.«Juridische Entiteit» betekent de vereniging van de handelende entiteit en alle
andere entiteiten die controle uitoefenen over, gecontroleerd worden door, of onder gezamenlijke
controle staan van die entiteit. Voor de doeleinden van deze definitie,
betekent «controle» (i) de bevoegdheid, direct of indirect, om de
richting of het management van die entiteit te beïnvloeden, hetzij door middel van een contract of
anderszins, of (ii) het eigendom van vijftig procent (50%) of meer van de
uitstaande aandelen, of (iii) het voordelige eigendom van die entiteit.«Jij» (of «Jouw») betekent een individu of Juridische Entiteit
die de rechten uitoefent die door deze Licentie zijn verleend.«Bron» vorm betekent de voorkeursvorm voor het aanbrengen van wijzigingen,
inclusief maar niet beperkt tot softwarebroncode, documentatie
bron en configuratiebestanden.«Object» vorm betekent een vorm die voortvloeit uit mechanische
transformatie of vertaling van een Bronvorm, inclusief maar
niet beperkt tot gecompileerde objectcode, gegenereerde documentatie,
en conversies naar andere mediatypes.«Werk» betekent het auteurswerk, hetzij in Bron- of
Objectvorm, beschikbaar onder de Licentie, zoals aangegeven door een
copyright notice die is opgenomen in of aan het werk is gehecht
(een voorbeeld is hieronder in de Bijlage gegeven).«Afgeleide Werken» betekent elk werk, hetzij in Bron- of Objectvorm
formulier, dat is gebaseerd op (of afgeleid van) het Werk en waarvoor de
redactionele herzieningen, annotaties, uitwerkingen of andere wijzigingen
een origineel auteursrechtelijk werk van auteurschap vertegenwoordigen. Voor de doelen
van deze Licentie omvatten Afgeleide Werken geen werken die gescheiden blijven
van, of slechts link (of bind per naam) aan de interfaces van,
het Werk en de Afgeleide Werken daarvan.«Bijdrage» betekent elk auteurswerk, inclusief
de originele versie van het Werk en alle wijzigingen of aanvullingen
op dat Werk of de Afgeleide Werken daarvan, dat opzettelijk
is ingediend bij de Licentieverlener voor opname in het Werk door de auteursrechthebbende
of door een individu of Juridische Entiteit die gemachtigd is om in te dienen namens
de auteursrechthebbende. Voor de doeleinden van deze definitie betekent «ingediend»
elke vorm van elektronische, mondelinge, of schriftelijke communicatie verzonden
aan de Licentieverlener of zijn vertegenwoordigers, inclusief maar niet beperkt tot
communicatie op elektronische mailinglijsten, versiebeheersystemen,
en probleemoplossingssystemen die worden beheerd door, of namens, de
Licentieverlener voor het doel van het bespreken en verbeteren van het Werk, maar
exclusief communicatie die duidelijk is gemarkeerd of anderszins
schriftelijk is aangeduid door de auteursrechthebbende als «Geen Bijdrage.»«Bijdrager» betekent de Licentieverlener en elke individuele of Juridische Entiteit
namens wie een Bijdrage door de Licentieverlener is ontvangen en
daarna binnen het Werk is opgenomen.Verlening van Auteursrechtenlicentie. Onderhevig aan de voorwaarden van
deze Licentie, verleent elke Bijdrager hierbij aan U een eeuwigdurende,
wereldwijde, niet-exclusieve, kosteloze, royaltyvrije, onherroepelijke
auteursrechtenlicentie om het Werk en dergelijke Afgeleide Werken te reproduceren, voor te bereiden, uit te voeren, sublicentiëren en te distribueren
in Bron- of Objectvorm.
Verlening van Octrooi Licentie. Onderhevig aan de voorwaarden van(tenzij zoals vermeld in deze sectie) octrooi licentie om te maken, te laten maken,
deze Licentie, verleent elke Bijdrager hierbij aan U een eeuwigdurende,
wereldwijde, niet-exclusieve, kosteloze, royaltyvrije, onherroepelijke
gebruiken, aanbieden te verkopen, verkopen, importeren en anderszins over te dragen het Werk,
waarbij deze licentie alleen van toepassing is op die octrooieclaims die door die Bijdrager kunnen worden gelicentieerd en die noodzakelijk worden geschonden door hun
Bijdrage(n) alleen of door combinatie van hun Bijdrage(n)
met het Werk waaraan dergelijke Bijdrage(n) zijn ingediend. Als U
octrooigeschillen begint tegen enige entiteit (inclusief een
tegeneis of tegenvordering in een rechtszaak) waarmee wordt gesteld dat het Werk
of een Bijdrage die binnen het Werk is opgenomen directe
of medeplichtige octrooiinbreuk vormt, dan zullen alle octrooilicenties
die aan U zijn verleend onder deze Licentie voor dat Werk beëindigen
op de datum waarop dergelijke rechtszaak wordt ingediend.
Hernieuwing. U mag kopieën van het
Werk of Afgeleide Werken daarvan reproduceren en distribueren in elk medium, met of zonderwijzigingen, en in Bron- of Objectvorm, op voorwaarde dat U
aan de volgende voorwaarden voldoet:
(a) U moet andere ontvangers van het Werk of
Afgeleide Werken een kopie van deze Licentie geven; en(b) U moet ervoor zorgen dat gewijzigde bestanden duidelijke meldingen bevatten
die aangeven dat U de bestanden hebt gewijzigd; en(c) U moet, in de Bronvorm van enige Afgeleide Werken
die U distribueert, alle auteursrechten-, octrooi-, handelsmerk- entoeschrijvingsmeldingen behouden uit de Bronvorm van het Werk,
uitgezonderd die meldingen die niet betrekking hebben op enige delen van
de Afgeleide Werken; en
(d) Als het Werk een «KONDIGEN» tekstbestand als onderdeel van zijn
distributie omvat, dan moeten alle Afgeleide Werken die U distribueerteen leesbare kopie van de toeschrijvingsmeldingen bevatten die zijn opgenomen
binnen dat KONDIGEN bestand, met uitzondering van die meldingen die niet
relevant zijn voor enige delen van de Afgeleide Werken, op ten minste één
van de volgende plaatsen: binnen een KONDIGEN tekstbestand dat wordt gedistribueerd
als onderdeel van de Afgeleide Werken; binnen de Bronvorm of
documentatie, als deze zijn verstrekt samen met de Afgeleide Werken; of,
binnen een weergave gegenereerd door de Afgeleide Werken, indien en
waarbij dergelijke derde-meldingen normaal verschijnen. De inhoud
binnen een display die door de Afgeleide Werken is gegenereerd, indien en
waar dergelijke derdepartij-mededelingen normaal worden weergegeven. De inhoud
van het NOTICE-bestand zijn alleen voor informatieve doeleinden en
wijzig de Licentie niet. U kunt uw eigen toeschrijvingen toevoegen
in Aflgeleide Werken die u verspreidt, samen met
of als een aanvulling op de NOTICE-tekst van het Werk, mits
deze aanvullende toeschrijvingsmeldingen niet kunnen worden opgevat
als een wijziging van de Licentie.U kunt uw eigen auteursrechtverklaring aan uw wijzigingen toevoegen en
kunt aanvullende of andere licentievoorwaarden en -voorwaarden bieden
voor gebruik, reproduceerbaarheid of distributie van uw wijzigingen, of
voor dergelijke Aflgeleide Werken als geheel, mits uw gebruik,
reproductie en distributie van het Werk anderszins voldoet aan
de voorwaarden die in deze Licentie zijn uiteengezet.Indiening van Bijdragen. Tenzij u expliciet anderszins verklaart,
wordt elke Bijdrage die opzettelijk voor opname in het Werk wordt ingediend
door u aan de Licentieverstrekker onderworpen aan de voorwaarden en
voorwaarde van deze Licentie, zonder enige aanvullende voorwaarden.
Niettegenstaande het bovenstaande, zal niets hierin de voorwaarden van
enig afzonderlijk licentiecontract dat u mogelijk met de Licentieverstrekker
heeft uitgevoerd met betrekking tot dergelijke Bijdragen supersederen of wijzigen.Merken. Deze Licentie verleent geen toestemming om de handels-
namen, merken, dienstmerken of productnamen van de Licentieverstrekker te gebruiken,
tenzij zoals vereist voor redelijk en gebruikelijk gebruik bij het beschrijven van de
herkomst van het Werk en het reproduceren van de inhoud van het NOTICE-bestand.Afwijzing van Garantie. Tenzij vereist door toepasselijke wetgeving of
schriftelijk overeengekomen, biedt de Licentieverstrekker het Werk (en elke
Bijdrager biedt zijn Bijdragen) op een «AS IS» BASIS,
ZONDER GARANTIES OF VOORWAARDEN VAN ENIGE SOORT, hetzij uitdrukkelijk of
impliciet, inclusief, maar niet beperkt tot, enige garanties of voorwaarden
van TITEL, NIET-INBREUK, VERHANDELBAARHEID of GESCHIKTHEID VOOR EEN
BEPERKTE DOEL. U bent uitsluitend verantwoordelijk voor het bepalen van de
geschiktheid van het gebruik of de herdistributie van het Werk en aanvaardt alle
risico's die verband houden met uw uitoefening van de bevoegdheden onder deze Licentie.Beperking van Aansprakelijkheid. In geen geval en onder geen enkele juridische theorie,
hetzij in onrecht (inclusief nalatigheid), contract of anderszins,
tenzij vereist door toepasselijke wetgeving (zoals opzettelijke en grof
nalatige handelingen) of schriftelijk overeengekomen, zal enige Bijdrager
aansprakelijk zijn voor schade aan u, inclusief enige directe, indirecte, speciale,
incidentele of gevolgschade van welke aard dan ook die voortvloeit uit deze
Licentie of het gebruik of het onvermogen om het Werk te gebruiken
(inclusief maar niet beperkt tot schade door verlies van goodwill,
werkn stopzetting, computerfalen of -storing, of schade of verliezen van enige andere commerciële aard), zelfs als die Bijdrager
is geïnformeerd over de mogelijkheid van dergelijke schade.
Aanvaarding van Garantie of Aanvullende Aansprakelijkheid. Bij het herdistribuerenvan het Werk of Aflgeleide Werken, kunt u ervoor kiezen om aan te bieden,
en een vergoeding te vragen voor, de aanvaarding van ondersteuning, garantie, schadeloosstelling,
of andere aansprakelijkheidsverplichtingen en/of rechten die consistent zijn met deze
Licentie. Echter, bij het aanvaarden van dergelijke verplichtingen, kunt u alleen
acteren namens uzelf en op uw eigen verantwoordelijkheid, niet namens
enige andere Bijdrager, en alleen als u ermee instemt om schadeloos te stellen,
te verdedigen en elke Bijdrager onschadelijk te houden voor enige aansprakelijkheid
die is ontstaan door, of vorderingen die tegen, dergelijke Bijdrager zijn ingediend op grond van
uw aanvaarding van enige dergelijke garantie of aanvullende aansprakelijkheid.
EINDE VAN VOORWAARDEN EN VOORWAARDENBIJLAGE: Hoe u de Apache Licentie op uw werk toepast.
Om de Apache Licentie op uw werk toe te passen, voegt u de volgende
standaardmelding toe, met de velden tussen haakjes «[]»
vervangen door uw eigen identificerende informatie. (Vergeet niet om
de haakjes niet op te nemen!) De tekst moet worden ingesloten in de passende
commentaar syntaxis voor het bestandsformaat. We raden ook aan dat een
bestands- of klassennaam en een beschrijving van het doel worden opgenomen op dezelfde
«gedrukte pagina» als de auteursrechtverklaring voor een gemakkelijker
identificatie binnen archieven van derden.
Copyright [jjjj] [naam van de auteursrechthouder]Copyright [yyyy] [naam van de auteursrechthebbende]
Gelicenseerd onder de Apache-licentie, versie 2.0 (de «Licentie»);
je mag dit bestand niet gebruiken, behalve in overeenstemming met de Licentie.
Je kunt een kopie van de Licentie verkrijgen opTenzij vereist door toepasselijke wetgeving of schriftelijk overeengekomen, wordt software
die onder de Licentie wordt gedistribueerd, gedistribueerd op een «AS IS» BASIS,
ZONDER GARANTIES OF VOORWAARDEN VAN ENIG SOORT, hetzij expliciet of impliciet.
Zie de Licentie voor de specifieke taal die de rechten en
beperkingen onder de Licentie regelt.
Licentie = overeenkomst
Een vrije licentie, hoewel deze vrij is, staat geen absolute vrijheid toe en we hebben al voorbeelden van beperkingen gegeven. Kies een licentie met inachtneming van zowel je eigen belangen als die van de gebruiker, omdat open source software precies daarop is gericht. De gebruiker van het project moet de licentie beschouwen als een soort overeenkomst tussen hem en de rechthebbende, dus voordat je enige actie onderneemt met de broncode, bestudeer zorgvuldig de beperkingen opgelegd door de licentie van het project.
We hopen dat we wat licht hebben geworpen op het onderwerp licenties en, ondanks de complexiteit van de kwestie, dit geen obstakel mag zijn op je pad in Open Source. Ontwikkel je project en vergeet de rechten, zowel die van jou als van anderen, niet.
Nuttige links
Tot slot enkele nuttige bronnen die ons hebben geholpen bij het zoeken naar informatie over bestaande licenties en het kiezen van de meest geschikte voor onze doelen:
- Super nuttig van
Bron: habr.com
