În acest articol, vom discuta puțin despre drepturile de autor, dar în principal despre alegerea unei licențe libere pentru cadrul RAD și pentru produsele open-source bazate pe acesta. Vom vorbi despre licența permisivă Apache 2.0, despre ce ne-a dus la aceasta și cu ce soluții ne-am confruntat în proces.
Procesul de alegere a licenței este destul de laborios și trebuie abordat cu o bună pregătire, iar dacă nu ești un fericit posedător de educație juridică, înaintea ta se deschide un câmp de informații neexplorate despre diverse licențe libere. Principalul lucru pe care trebuie să-l faci este să formulezi o serie de criterii restrictive. În discuție și reflecție, tu și echipa ta veți putea înțelege ce vrei să permiți utilizatorilor produsului tău și ce vrei să interzici. Când ai deja o descriere, trebuie să o suprapui licențelor existente și să identifici cea în care se potrivesc cele mai multe puncte. Sună, desigur, simplu, dar în realitate, de obicei, chiar și după discuții, rămân întrebări.

Primul - un link către , un site util pe care l-am folosit activ. Acordați o atenție deosebită la al licențelor pe 13 criterii principale. Fie ca limba engleză și răbdarea să fie cu voi.
Dilema alegerii
Să începem cu trăsăturile generale ale licențelor pentru . Software-ul liber presupune în mod exclusiv o licență liberă care nu limitează distribuția comercială și necomercială după modelul . În consecință, distribuind software-ul sub o licență liberă, nu poți restricționa complet transferul, distribuția și vânzarea acestuia de către terți și trebuie să te pregătești moral pentru acest lucru.
Licența liberă oferă utilizatorului dreptul de a participa la dezvoltarea inversă a software-ului sau de a-l modifica prin alte metode disponibile. Cele mai multe licențe nu permit redenumirea produsului sau efectuarea de manipulări asupra lui care să schimbe drepturile autorului sau/și proprietarului sistemului.
Întrebările principale care ne-au interesat despre licențele libere au fost:
- Modificările aduse software-ului trebuie să fie înregistrate și nu au nicio legătură cu titularul drepturilor sistemului?
- Numele software-ului derivat nu trebuie să coincidă cu numele software-ului titularului drepturilor?
- Se poate schimba licența pentru orice versiuni noi într-o alta, inclusiv una proprietară?
După ce am examinat cu atenție lista celor mai comune licențe, am selectat câteva pe care le-am analizat mai în detaliu. Licențele potențiale pentru au fost: GNU GPLv3, Apache 2.0, MIT și MPL. MIT Am exclus practic imediat, aceasta fiind o licență permisivă copyleft care permite utilizarea, modificarea și distribuția codului în aproape orice mod, iar noi nu ne-am dorit o astfel de variantă, voiam ca licența să reglementeze relațiile dintre deținătorul drepturilor de autor și utilizator. Majoritatea proiectelor mai mici de pe GitHub sunt publicate sub licența MIT sau diversele sale variante. Licența însăși este foarte scurtă, iar din interdicții singura cerință este menționarea autorului creatorului software-ului.
Următoarea a fost licența MPL 2.0. Recunosc că nu am ajuns imediat la ea, dar după ce am studiat-o mai atent, am exclus-o rapid, deoarece principalul său dezavantaj este că este aplicată nu pentru întregul proiect, ci pentru fișierele individuale. În plus, dacă utilizatorul modifică un fișier, nu poate schimba licența. De fapt, oricât de mult ai încerca să modifici un proiect Open Source, nu vei putea să-l monetizezi din cauza unei astfel de licențe. Acest lucru nu se aplică deținătorului drepturilor de autor.
O problemă similară persistă și în cazul licenței GNU GPLv3. Aceasta necesită ca fiecare fișier să rămână sub aceeași licență. GNU GPL este o licență copyleft care impune ca codurile sursă ale lucrărilor derivate să fie deschise și să rămână sub aceeași licență. Asta înseamnă: dacă modifici două linii de cod, vei fi obligat să-ți înregistrezi modificările și, la utilizarea sau distribuirea ulterioară, să păstrezi codul sub GNU GPL. În acest caz, acesta este un factor limiting pentru utilizatorul proiectului nostru, nu pentru noi. Dar schimbarea GPL-ului cu orice altă licență este interzisă, chiar și în interiorul versiunilor GPL. De exemplu, dacă schimbi LGPL (extensie peste GPL) cu GPL, atunci nu mai există întoarcere la LGPL. Și acest punct a fost decisiv în votul împotriva.
În general, alegerea noastră s-a înclinat inițial către GPL3 exactly for the reason of distributing modified code under the same license. We thought this would secure our product, but we saw fewer risks with Apache 2.0. According to the Free Software Foundation, GPLv3 is compatible with Apache License v2.0, meaning there is always the option to change the license from Apache License v2.0 to GPL v3.0.
Apache 2.0
— a balanced permissive license focusing on copyright. Here are the answers it provided to the questions we had. Are the modifications made to the software required to be documented and have no relation to the rights holder of the system? Yes, all modifications must be documented and we are not responsible for either the original code or the modified version. A file with changes must accompany the code in which these changes were made. Should the name of the derivative software match the name of the rights holder's software? No, derivative software should be released under a different name and trademark, but credit must be given to the rights holder. Is it allowed to change the license for any new versions to another one, including proprietary? Yes, it's possible to release under different licenses, Apache 2.0 does not restrict the use of any non-commercial and commercial licenses.
Additionally, when releasing new products based on open-source Apache 2.0 code or products with additional functionality, it is not necessary to use the same license. Below is an image outlining the terms and limitations of the Apache 2.0 license.

The license requires the preservation and mention of copyright and the license under which the software is released. The requirement is mandatory. copyright notice with the name of the rights holder and the license protects the original author's rights, as even if it is renamed, transferred, or sold under another license, the author's mark will still remain. For this purpose, a file can also be used NOTICE and attached either in the source code or in the project documentation.
We release all our products under the Apache 2.0 license as open access on GitHub, except , the source code of which was published under GPLv3 on GitHub in April of this year by the Far Eastern Center for Social Technologies. Currently, besides the actual și acesta sunt publicate made on the framework. We have already discussed on Habr about the și despre .
Detalii tehnice despre framework
IONDV. Framework – un framework open-source pe node.js pentru crearea de aplicații web de nivel înalt pe baza metadatelor, care nu necesită abilități de programare avansate.
Funcționalitatea aplicației se bazează pe un registru de date – modul Registrul. Acesta este modul cheie, destinat în mod direct lucrului cu datele pe baza structurilor de metadate – inclusiv pentru gestionarea proiectelor, programelor, evenimentelor etc. De asemenea, proiectul folosește modul portal pentru a afișa șabloane de date arbitrare – pe acesta fiind implementat front-end-ul registrului documentelor arhivate.
Pentru SGBD se folosește MongoDB – în care sunt stocate atât setările aplicației, cât și metadatele și datele propriu-zise.
Cum să aplici o licență proiectului tău?
Adăugați un fișier LICENSE cu textul licenței în depozitul proiectului vostru și voilà, proiectul este sub protecția Apache 2.0. Trebuie să specificați titularul dreptului, acesta fiind notificarea copyright. Acest lucru se poate face în codul sursă sau în fișierul NOTICE (fișier text, care enumeră toate bibliotecile licențiate sub licența Apache împreună cu numele creatorilor lor). Fișierul în sine se poate plasa fie în codul sursă, fie în documentația distribuită împreună cu lucrarea. La noi arată astfel:
Copyright © 2018 SRL «ION DV».
Licențiat sub Licența Apache, Versiunea 2.0
Textul licenței Apache 2.0
Licența Apache
Versiunea 2.0, Ianuarie 2004
TERMENII ȘI CONDIȚIILE PENTRU UTILIZARE, REPRODUCERE ȘI DISTRIBUȚIE
Definiții.
„Licența” se referă la termenii și condițiile pentru utilizare, reproducere,
și distribuție așa cum sunt definite în Secțiunile 1 până la 9 ale acestui document.„Licențiator” se referă la deținătorul dreptului de autor sau entitatea autorizată de
deținătorul dreptului de autor care acordă Licența.„Entitate legală” se referă la unirea entității active și a tuturor
celorlate entități care controlează, sunt controlate de sau se află sub control comun
cu acea entitate. În scopul acestei definiții,
„control” înseamnă (i) puterea, directă sau indirectă, de a cauza
direcția sau managementul acelei entități, fie prin contract sau
în alt mod, sau (ii) deținerea a cincizeci la sută (50%) sau mai mult din
acțiunile emise, sau (iii) deținerea benefică a acelei entități.„Tu” (sau „Al Tău”) se referă la o persoană individuală sau Entitate Legală
care exercită permisiunile acordate de această Licență.Forma „Sursă” se referă la forma preferată pentru a face modificări,
inclusiv, dar fără a se limita la codul sursă al software-ului, documentația
sursă și fișierele de configurare.Forma „Obiect” se referă la orice formă care rezultă dintr-o transformare
mecanică sau traducere a unei forme Sursă, inclusiv, dar
fără a se limita la codul obiect compilat, documentația generată,
și conversiile în alte tipuri de media.„Lucrare” se referă la opera de autor, fie în formă Sursă sau
Obiect, disponibilă sub Licență, așa cum este indicat printr-o
notificare a copyright-ului care este inclusă sau atașată lucrării
(un exemplu este furnizat în Aplicația de mai jos).„Lucrări derivate” se referă la orice lucrare, fie în formă Sursă sau Obiect
care se bazează pe (sau derivă din) Lucrare și pentru care
revizii editoriale, note, elaborări sau alte modificări
reprezintă, în ansamblu, o lucrare originală de autor. În scopul
această Licență, Lucrările Derivative nu vor include lucrări care rămân
separabile sau doar leagă (sau leagă prin nume) de interfețele
Lucrărilor și Lucrărilor Derivative ale acestora.«Contribuție» se referă la orice lucrare de autor, inclusiv
versiunea originală a Lucrării și orice modificări sau adăugiri
la acea Lucrare sau Lucrările Derivative ale acesteia, care este
în mod intenționat
trimisă Licențiatorului pentru a fi inclusă în Lucrare de proprietarul drepturilor de autor
sau de o persoană fizică sau Entitate Juridică autorizată să trimită în numele
proprietarului drepturilor de autor. În scopul acestei definiții, «trimis»
înseamnă orice formă de comunicare electronică, verbală sau scrisă trimisă
Licențiatorului sau reprezentanților săi, inclusiv, dar fără a se limita la
comunicări pe liste de corespondență electronică, sisteme de control al codului sursă,
și sisteme de urmărire a problemelor care sunt gestionate de, sau în numele,
Licențiatorului pentru scopul discutării și îmbunătățirii Lucrării, dar
excluzând comunicările care sunt marcate în mod evident sau în alt modindicate în scris de către proprietarul drepturilor de autor ca «Nu o Contribuție.»
«Contribuitor» se referă la Licențiator și orice persoană fizică sau Entitate Juridică
în numele căreia o Contribuție a fost primită de Licențiator șiulterior încorporată în Lucrare.
Acord de Licență de Drept de Autor. Sub rezerva termenilor și condițiilor
această Licență, fiecare Contribuitor vă acordă o licență de
drept de autor perpetuă, la nivel mondial, non-exclusivă, fără plată, fără redevențe,
irevocabilă pentru a reproduce, a pregăti Lucrări Derivative,
a expune public, a interpreta public, a sublicenția și a distribuiLucrarea și astfel de Lucrări Derivative în formă de Sursă sau Obiect.
Acord de Licență de Drept de Autor. Sub rezerva termenilor și condițiilor
această Licență, fiecare Contribuitor vă acordă o licență de
Acord de Licență pentru Brevete. Sub rezerva termenilor și condițiilor
(sub rezerva celor menționate în această secțiune) licență de brevet pentru a face, a avea făcut,
a utiliza, a oferi spre vânzare, a vinde, a importa și a transfera
lucrarea, unde această licență se aplică doar la acele revendicări de brevet licențiate
de către astfel de Contribuitori care sunt consecințe inevitabile ale contribuției lor
singure sau prin combinația contribuțiilor lor
cu Lucrarea la care aceste contribuții au fost trimise. Dacă dumneavoastră
initiați litigii legate de brevete împotriva oricărei entități (inclusiv
o cerere reconvențională sau contrecere în cadrul unui proces) care susține că Lucrarea
sau o Contribuție încorporată în Lucrare constituie o încălcare directă
sau contribuitivă a brevetului, atunci orice licențe de brevet
acordate dumneavoastră sub această Licență pentru acea Lucrare vor încetaîncepând cu data în care acest litigiu este intentat.
Redistribuirea. Puteți reproduce și distribui copii ale
Lucrării sau Lucrărilor Derivative ale acesteia în orice mediu, cu sau fără
modificări, și în formă de Sursă sau Obiect, cu condiția săîndepliniți următoarele condiții:
(a) Trebuie să oferiți oricăror alți destinatari ai Lucrării sauLucrărilor Derivative o copie a acestei Licențe; și
(b) Trebuie să faceți ca orice fișiere modificate să poarte Anunțuri proeminentecare să declare că ați modificat fișierele; și
(c) Trebuie să păstrați, în forma de Sursă a oricăror Lucrări Derivative
pe care le distribuiți, toate notele de drept de autor, brevete, mărci comerciale și
note de atribuție din forma Sursă a Lucrării,
excluzând acele note care nu se referă la nicio parte dinLucrările Derivative; și
(d) Dacă Lucrarea include un fișier text «NOTICE» ca parte a
distribuției sale, atunci orice Lucrări Derivative pe care le distribuiți trebuie
să includă o copie lizibilă a notelor de atribuție conținute
în cadrul acestui fișier NOTICE, excluzând acele note care nu se referă
la nicio parte din Lucrările Derivative, în cel puțin unul
dintre următoarele locuri: într-un fișier text NOTICE distribuit
ca parte a Lucrărilor Derivative; în forma de Sursă sau
documentație, dacă este furnizată împreună cu Lucrările Derivative; sau,
într-o afișare generată de Lucrările Derivative, dacă și
oriunde aceste note ale terților apar în mod normal. Conținutul
nu modificați Licența. Puteți adăuga creditul dumneavoastră
notificări în lucrările derivate pe care le distribuiți, împreună cu
sau ca un addendum la textul AVIZ din lucrare, cu condiția
ca aceste notificări suplimentare de credit să nu poată fi interpretate
ca modificând Licența.Puteți adăuga propria declarație de drept de autor la modificările dumneavoastră și
puteți oferi termeni și condiții de licențiere suplimentare sau diferite
pentru utilizarea, reproducerea sau distribuția modificărilor dumneavoastră, sau
pentru orice lucrări derivate ca un întreg, cu condiția ca utilizarea dumneavoastră,
reproducerea și distribuția lucrării să respecte în continuare
condițiile stipulate în această Licență.Trimiterea contribuțiilor. Cu excepția cazului în care declarați explicit altfel,
orice contribuție trimisă intenționat pentru includerea în lucrare
de către dumneavoastră către Licențiator va fi sub termenii și condițiile
această Licență, fără termeni sau condiții suplimentare.
Nu obstante cele de mai sus, nimic din prezent nu va înlocui sau modifica
termenii oricărui acord de licență separat pe care l-ați semnat
cu Licențiatorul referitor la aceste contribuții.Mărci comerciale. Această Licență nu acordă permisiunea de a folosi numele de comerț,
mărci comerciale, mărci de servicii sau nume de produse ale Licențiatorului,
exceptând cazurile în care este necesar pentru utilizări rezonabile și obișnuite în descrierea
originei lucrării și reproducerea conținutului fișierului AVIZ.Declinare de responsabilitate. Cu excepția cazului în care este cerut de legea aplicabilă sau
aprobat în scris, Licențiatorul furnizează lucrarea (și fiecare
contributor își oferă contribuțiile) pe o bază „CA ATARE”,
FĂRĂ GARANȚII SAU CONDIȚII DE NICIUN FEL, fie expres sau
implicite, inclusiv, fără limitare, orice garanții sau condiții
de TITLU, NEÎNCĂLCARE, COMERCIALITATE sau ADECVARE PENTRU O
ÎNTREBUINȚARE ANUME. Sunteți singurul responsabil pentru determinarea
adecvării utilizării sau redistribuirii lucrării și vă asumați orice
riscuri asociate cu exercitarea permisiunilor în baza acestei Licențe.Limitarea responsabilității. În niciun caz și sub nicio teorie legală,
fie în delict (inclusiv neglijență), contract sau altfel,
cu excepția cazului în care este cerut de legea aplicabilă (cum ar fi acte deliberate și grav neglijente)
sau convenit în scris, niciun contributor nu va fi
responsabil față de dumneavoastră pentru daune, inclusiv daune directe, indirecte, speciale,
incidentale sau consecvente de orice natură apărute ca urmare a
această Licență sau a utilizării sau incapacității de a utiliza
lucrarea (inclusiv, dar fără a se limita la daune pentru pierderea bunăvoinței,
oprirea muncii, eșecul sau malfuncția computerului sau orice și toate
alte daune comerciale sau pierderi), chiar dacă acest contributor
a fost informat de posibilitatea unor astfel de daune.Acceptarea garanției sau a responsabilității suplimentare. În timp ce redistribuiți
lucrarea sau lucrările derivate ale acesteia, puteți alege să oferiți,
și să percepeți o taxă pentru, acceptarea suportului, garanției, despăgubirii
sau altor obligații și/sau drepturi de responsabilitate care sunt conforme cu această
Licență. Cu toate acestea, în acceptarea acestor obligații, puteți acționa doar
în numele dumneavoastră și pe propria responsabilitate, nu în numele
altui contributor, și doar dacă conveniți să despăgubiți,
să apărați și să păstrați fiecare contributor neafectat pentru orice responsabilitate
suportată de, sau revendicări afirmate împotriva, acestui contributor din cauza
acceptării de către dumneavoastră a oricărei astfel de garanții sau responsabilități suplimentare.SFÂRȘITUL TERMENILOR ȘI CONDIȚIILOR
ANEXĂ: Cum să aplicați Licența Apache la lucrările dumneavoastră.
Pentru a aplica Licența Apache la lucrările dumneavoastră, atașați următoarea
notificare standard, cu câmpurile încrucișate prin paranteze «[]»
înlocuite cu informațiile dvs. de identificare. (Nu includeți
parantezele!) Textul ar trebui să fie închis în sintaxa adecvată
a comentariilor pentru formatul fișierului. Recomandăm de asemenea ca un
nume de fișier sau de clasă și o descriere a scopului să fie incluse pe
aceeași „pagina tipărită” ca și notificarea de drept de autor pentru o identificare mai ușoară
în arhivele terților.Drepturi de autor [yyyy] [numele deținătorului dreptului de autor]
Licențiat sub Licența Apache, Versiunea 2.0 (denumită „Licența”);
nu puteți utiliza acest fișier decât în conformitate cu Licența.
Puteți obține o copie a Licenței laCu excepția cazului în care este cerut de legea aplicabilă sau convenit în scris, software-ul
distribuit sub Licență este distribuit pe o bază «AȘA CUM ESTE»
FĂRĂ GARANȚII SAU CONDIȚII DE NICIO NATURĂ, fie expres sau implicit.
Vezi Licența pentru limbajul specific care reglementează permisiunile și
limitele prevăzute în Licență.
Licența = contract
Licența liberă, deși liberă, nu permite nici o libertate absolută și am dat deja exemple de restricții. Alegeți licența având în vedere atât interesele proprii, cât și ale utilizatorilor, deoarece software-ul deschis este destinat în special acestora. Utilizatorul proiectului ar trebui să perceapă licența ca un fel de contract între el și deținătorul drepturilor, așa că înainte de a efectua orice acțiune asupra codului sursă, studiază cu atenție restricțiile impuse de licența proiectului.
Sperăm că am aruncat puțin lumină asupra subiectului licențelor și, în ciuda complexității, acesta nu ar trebui să devină un obstacol pe drumul tău în Open Source. Dezvoltă-ți proiectul și nu uita de drepturile tale și ale altora.
Linkuri utile
În cele din urmă, iată câteva resurse utile care ne-au ajutat în căutarea informațiilor despre licențele existente și alegerea celei mai potrivite pentru obiectivele noastre:
- Super utilă de la
Sursa: habr.com
