Dacă cineva este la fel de confuz în privința licențelor software ca mine, iată cum le văd acum. Licențele software controlează ce pot face oamenii cu codul dvs. Licența MIT permite oamenilor să facă orice. Să presupunem că construiți o bibliotecă de analiză JSON cu licență MIT. Un startup vă poate lua codul, îl poate modifica și îl poate vinde ca parte a serviciului API plătit fără a vă da nimic înapoi. Trebuie doar să păstreze notificarea de copyright în comentariile codului. React folosește MIT, așa că Facebook ar fi putut să-l facă proprietar, dar au ales să-l păstreze deschis. Aceasta este licența "fă ce vrei". GPL forțează partajarea. Imaginați-vă că creați un cadru web sub GPL. Dacă cineva vă modifică framework-ul pentru a adăuga noi caracteristici, trebuie să lanseze acele modificări și ca GPL. Nu pot vinde o versiune proprietară. WordPress folosește GPL, deci toate temele și pluginurile WordPress trebuie să fie și GPL. Dacă construiești un CMS comercial pe WordPress, întregul tău CMS devine GPL. Acest lucru menține totul open source. Apache 2.0 gestionează mai bine brevetele. Scrii o bibliotecă de învățare automată și cineva contribuie cu un algoritm. Mai târziu, încearcă să dea în judecată utilizatorii pentru încălcarea brevetului pe acel algoritm. Cu licența Apache, își pierd automat drepturile de a utiliza biblioteca dvs. Este protecție împotriva trolilor de brevete. Kubernetes folosește Apache 2.0 deoarece companiile de cloud își fac griji cu privire la problemele de brevete. BSD este practic MIT cu cuvinte diferite. Creați o bibliotecă de rețea sub BSD. Aceleași reguli ca și MIT, oamenii pot face ce vor. FreeBSD folosește acest lucru, motiv pentru care Apple ar putea lua codul BSD și l-ar putea pune în macOS fără a elibera codul sursă macOS. Majoritatea dezvoltatorilor folosesc MIT doar acum pentru că este mai clar. LGPL este GPL pentru biblioteci. Construiți o bibliotecă de generare PDF sub LGPL. Companiile vă pot folosi biblioteca în software-ul lor proprietar fără a-și face întreaga aplicație LGPL. Dar dacă modifică codul bibliotecii în sine, acele modificări trebuie să fie LGPL. VLC media player folosește LGPL, astfel încât alte aplicații pot include redarea video fără a deveni GPL. Proprietar înseamnă că controlezi totul. Construiești un motor de baze de date și îl păstrezi proprietar. Companiile vă plătesc taxe de licență pentru a-l folosi. Nu pot vedea codul sursă, nu îl pot modifica, nu îl pot redistribui. Oracle Database funcționează în acest fel. Câștigi bani din licențiere, dar limitezi cine le poate folosi. Licențierea duală oferă opțiuni. Eliberați o bază de date atât sub licență GPL, cât și sub licență comercială. Proiectele open source folosesc versiunea GPL gratuit. Companiile care nu doresc restricții GPL plătesc pentru licența comercială. MySQL face asta. Startup-urile folosesc MySQL gratuit, companiile mari cumpără adesea licențe comerciale. Domeniul public renunță la toate drepturile. Creați o funcție hash și o puneți în domeniul public. Oricine poate face orice cu el, fără restricții, fără atribuire. SQLite face acest lucru. Agențiile guvernamentale îl iubesc pentru că nu există niciun risc legal. Să construiești o bibliotecă pe care vrei să o folosească toată lumea? Alegeți MIT. Vrei să te asiguri că îmbunătățirile revin în comunitate? Utilizați GPL. Vă faceți griji cu privire la brevetele în software-ul de întreprindere? Mergeți cu Apache. Construirea unei afaceri în jurul codului tău? Rămâneți proprietar. Doriți libertate maximă pentru utilizatori? Încercați domeniul public. Cheia este să vă potriviți obiectivele cu restricțiile de licență. Nu copiați doar ceea ce fac alte proiecte fără să înțelegeți de ce au ales acea licență.
22,32K