de Radu Raicea

Cum funcționează licențele open source și cum să le adăugați la proiectele dvs.

Gazduieste ti site ul static pe propriul domeniu prin intermediul paginilor Github
Credit de imagine: GitHub

Recent, au existat câteva știri interesante pentru dezvoltatorii din întreaga lume. Facebook a schimbat licența mai multor biblioteci pe care le dezvoltă. Au trecut de la Brevete BSD-3 + la o MIT.

Pare bine, dar ce înseamnă? Care sunt implicațiile diferitelor licențe open source?

Acest articol vă va oferi o înțelegere rapidă a licențelor populare. De asemenea, vă va învăța cum să le aplicați proiectelor dvs. open source pe GitHub.

Autoritatea

Cele mai populare licențe open source au un aspect important în comun. Inițiativă Open Source (OSI) le-a aprobat.

ad-banner

OSI s-a format în 1998 cu scopul de a promova software-ul open source. A creat Definiție sursă deschisă (OSD) pentru a defini ce înseamnă un software open source.

Așa se descriu ei înșiși:

Open Source Initiative (OSI) este o corporație non-profit cu scop global format pentru a educa și susține beneficiile open source și pentru a construi poduri între diferite circumscripții din comunitatea open source.

Licențele

Majoritatea licențelor open source includ următoarele declarații:

  1. Software-ul poate fi modificat, utilizat comercial și distribuit.
  2. Software-ul poate fi modificat și utilizat în privat.
  3. O licență și o notificare privind drepturile de autor trebuie să fie incluse în software.
  4. Autorii software-ului nu oferă nicio garanție cu software-ul și nu sunt responsabili pentru nimic.

Vom trece prin cele mai populare licențe, în ordine de la cele mai restrictive la cele mai permisive (din perspectiva unui utilizator).

Licență publică generală GNU, versiunea 3 (GPLv3)

GPLv3 este una dintre cele mai restrictive licențe. Oferă o protecție ridicată pentru autorul software-ului.

  • Codul sursă trebuie făcut public ori de câte ori se face o distribuție a software-ului.
  • Modificările software-ului trebuie publicate în cadrul aceeași licență.
  • Modificări aduse codului sursă trebuie documentat.
  • Dacă a fost utilizat material brevetat la crearea software-ului, acesta acordă dreptul utilizatorilor de a-l utiliza. Dacă utilizatorul dă în judecată pe cineva pentru utilizarea materialului brevetat, își pierde dreptul de a utiliza software-ul.

GPLv2 este, de asemenea, foarte popular. Principala diferență față de GPLv3 este clauza privind acordarea de brevete.

Această clauză a fost adăugată în versiunea 3 pentru a împiedica companiile taxarea utilizatorilor pentru utilizarea brevetelor lor.

Proiectele populare care utilizează GPLv3 sunt Bash și GIMP. Linux folosește GPLv2.

Ezequiel Foncubierta a subliniat ceva important pentru licențele GPL:

Licența codului dvs. sursă trebuie să fie compatibilă cu licența codului sursă deschisă la care vă conectați. De exemplu, dacă codul dvs. este proprietar, nu vi se va permite să utilizați o bibliotecă sub licența GPL. Aici oamenii tind să facă mai multe greșeli.

Licență Apache 2.0

Licență Apache 2.0 oferă mai multă flexibilitate utilizatorilor.

  • Codul sursă nu trebuie să fie public când se face o distribuție a software-ului.
  • Modificările software-ului pot fi lansate în orice licență.
  • Modificări aduse codului sursă trebuie sa să fie documentat.
  • Oferă aceeași protecție a utilizării brevetelor ca GPLv3.
  • Se interzice în mod explicit utilizarea denumirilor de mărci comerciale găsite în proiect.

Proiectele populare care folosesc Apache License 2.0 sunt Android, Apache, și Rapid.

Distribuție software Berkeley (BSD)

BSD are două versiuni principale: 2-clauză și 3-clauză. Ambele oferă mai multă flexibilitate utilizatorilor decât licența Apache 2.0.

  • Codul sursă nu trebuie să fie public când se face o distribuție a software-ului.
  • Modificările software-ului pot fi lansate în orice licență.
  • Modificări aduse codului sursă Mai nu să fie documentat.
  • Nu oferă o poziție explicită cu privire la utilizarea brevetelor.
  • Licența și notificarea drepturilor de autor trebuie să fie incluse în documentația versiune compilată a codului sursă (spre deosebire de numai în codul sursă).
  • Clauza BSD 3 prevede că numele autorului și al contribuitorilor nu pot fi utilizate pentru a promova produsele derivate din software fără permisiune.

Proiectele populare care utilizează licența BSD sunt Merge (3-clauză), Pure.css (3-clauză) și Santinelă (3-clauză).

Licență MIT

MIT este una dintre cele mai permisive licențe. Este, de asemenea, cel mai popular. Oferă o protecție foarte redusă pentru autorul software-ului.

  • Codul sursă nu trebuie să fie public când se face o distribuție a software-ului.
  • Modificările software-ului pot fi lansate în orice licență.
  • Modificări aduse codului sursă Mai nu să fie documentat.
  • Nu oferă o poziție explicită cu privire la utilizarea brevetelor.

Proiectele populare care utilizează MIT sunt Angular.js, jQuery, Șine, Bootstrap, si multe altele.

Facebook React.js avea o licență de brevete BSD-3 + până pe 25 septembrie. A combinat licența BSD-3 cu o clauză suplimentară privind utilizarea brevetelor.

Pe scurt, dacă dați în judecată Facebook sau oricare dintre filialele sale, pierdeți dreptul de a utiliza React (sau orice alt software sub aceeași licență).

React este acum licențiat de MIT. Acum poți da în judecată Facebook și încă folosești React. Ce ușurare!

Aplicarea unei licențe pentru proiectele dvs. open source

Licențierea proiectelor dvs. este ușoară. Trebuie să adăugați un LICENSE, LICENSE.txt sau LICENSE.md în directorul rădăcină al depozitului dvs.

GitHub îl face și mai ușor:

  1. Deschideți depozitul GitHub într-un browser.
  2. În directorul rădăcină, faceți clic pe Create new file.
  3. Denumiți fișierul „LICENȚĂ”.
  4. Click pe Choose a license template.
  5. Alegeți una dintre licențe (toate cele menționate în acest articol sunt acolo).
  6. Odată ales, faceți clic pe Review and submit.
  7. Commit fișierul.

În concluzie…

  • Una dintre cele mai restrictive licențe este GPL.
  • Una dintre cele mai permisive licențe este MIT.
  • Alte licențe populare sunt Licență Apache 2.0 și BSD.
  • Pentru a aplica o licență pentru proiectul dvs. GitHub, trebuie să creați un LICENSE fișier folosind șabloanele de licență GitHub.

Verifică-mi explicaţie despre modul în care am folosit Python pentru a găsi oameni interesanți de urmărit pe Medium!

Pentru mai multe actualizări, urmează-mă Stare de nervozitate.