January 15, 2025

Atvirojo kodo licencijos: kas, kas ir kodėl

Dauguma atvirojo kodo projektų žymiai labiau riboja savo prekių ženklus nei jų kodas.  „OpenBSD“ „Puffy“, „Linux“ „Tux“ ir FSF „Meditating Gnu“ yra vieni iš nedaugelio FOSS logotipų, kuriuos galima lengvai ir teisėtai pertaisyti ir pakartotinai naudoti paprastiems iliustraciniams tikslams.
Padidinti / Dauguma atvirojo kodo projektų žymiai labiau riboja savo prekių ženklus nei jų kodas. „OpenBSD“ „Puffy“, „Linux“ „Tux“ ir FSF „Meditating Gnu“ yra vieni iš nedaugelio FOSS logotipų, kuriuos galima lengvai ir teisėtai pertaisyti ir pakartotinai naudoti paprastiems iliustraciniams tikslams.

Daugelis žmonių jau yra girdėję apie atvirojo kodo programinę įrangą ir netgi gana gerai supranta, kas tai yra. Jos pačios šviesuoliai be paliovos ginčijasi, kaip tai vadinti – stovyklos ginčijasi dėl visko, pradedant „Free“, „Libre“, „Open Source“ ir visais įmanomais aukščiau išvardytais deriniais, tačiau kiekvienas ekspertas sutaria, kad tai nėra atvirasis šaltinis (ar bet kaip) ji neturi aiškiai priskirtos licencijos.

Negalite tiesiog viešai išpilti krūvos šaltinio kodų be licencijos ir sakyti „viskas – ten yra, bet kas gali jį gauti“. Dėl autorių teisių įstatymo veikimo daugumoje pasaulio šalių laisvai prieinamas kodas be aiškiai deklaruotos licencijos yra autoriaus autorių teisės, visos teisės saugomos. Tai reiškia, kad tiesiog nesaugu naudoti nelicencijuotą kodą, paskelbtą ar ne – niekas netrukdo autoriui sekti paskui tave ir kreiptis į teismą dėl honoraro, jei pradėsi jį naudoti.

Vienintelis būdas iš tikrųjų padaryti kodą atvirą ir laisvai prieinamą – pridėti prie jo licenciją. Geriausia, jei norite komentaro su gerai žinomos licencijos pavadinimu ir versija kiekvieno failo antraštėje ir visos licencijos kopijos, esančios jūsų projekto šakniniame aplanke, pavadintame LICENSE arba LICENSE.TXT. Tai, žinoma, kelia klausimą, kurią licenciją naudoti – ir kodėl?

Yra keli bendri licencijų tipai, kuriuos apimsime kiekviename atskirame skyriuje kartu su vienu ar keliais svarbiausiais šio tipo licencijų pavyzdžiais.

Numatytasis licencijavimas – nuosavybės teise, visos teisės saugomos

Daugumoje jurisdikcijų bet kurį kodą ar turinį autorius saugo automatiškai, o visos teisės saugomos, nebent nurodyta kitaip. Nors yra gera forma deklaruoti autorių ir autorių teisių datą bet kurio kodo ar dokumento antraštėje, to nepadarius, autoriaus teisės negalioja.

Autorius, kuris pateikia turinį ar kodą savo svetainėje, „Github“ saugykloje ir pan. – be nurodytos licencijos arba su aiškia autorių teisių deklaracija, išlaiko ir šio kodo naudojimo, ir platinimo teises, nors tai žiūrėti yra labai paprasta. parsisiųsti. Jei tą kodą vykdote savo kompiuteryje ar kompiuteriuose, pažeidžiate autoriaus naudojimo teises ir jie gali pareikšti civilinį ieškinį jums už jų autorių teisių pažeidimą, nes jie niekada jums nesuteikė šios teisės.

Panašiai, jei nukopijuosite tą kodą ir atiduosite draugui, paskelbsite jį kitoje svetainėje, parduosite ar kitaip padarysite prieinamą bet kur kitur, kur autorius iš pradžių paskelbė, jūs pažeidėte autoriaus platinimo teises ir jie stovi pareikšti jums civilinį ieškinį.

Atkreipkite dėmesį, kad autorius, turintis nuosavybės teises į kodų bazę, gali atskirai suteikti licenciją asmenims ar organizacijoms naudoti tą kodą. Techniškai jūs niekada „neperkate“ programinės įrangos, net jei ji yra dėžutėje fizinėje parduotuvėje. Tai, ką jūs iš tikrųjų perkate, yra licencija naudoti programinę įrangą – į kurią gali būti įtraukta fizinė laikmena, kurioje yra kodo kopija.

Pačių užaugintos licencijos

Trumpa mūsų komentaro apie namuose išaugintą licencijavimą versija yra paprasta: tiesiog nedarykite to.

Pasaulyje jau yra pakankamai gerai suprantamų, OSI patvirtintų atvirojo kodo licencijų, kurias beveik kiekvienas asmuo ar projektas turėtų sugebėti rasti tinkamą. Vietoj to, kad parašytumėte savo licenciją, potencialūs jūsų projekto, turinio ar kodo vartotojai turės daryti tą patį, ko autorius nenorėjo – perskaityti ir suprasti naują licenciją nuo nulio.

Naujoji licencija anksčiau nebus išbandyta teisme, kuri buvo daugelis (nors ir ne visos) OSI patvirtintų atvirojo kodo licencijų. Dar svarbiau, kad jūsų nauja licencija nebus plačiai suprantama.

Kai asmuo ar įmonė nori naudoti projektą, licencijuotą pagal, pavyzdžiui, GPL v3, Apache 2.0 arba CC0 (daugiau apie šias licencijas vėliau), palyginti lengva išsiaiškinti, ar nagrinėjama licencija suteikia pakankamai teisių būdais, kad būtų tinkami tam tikslui. Prašyti kompetentingo intelektinės nuosavybės teisininko patarimo yra pigu ir lengva, nes tas kompetentingas intelektinės nuosavybės teisininkas jau turėtų būti susipažinęs su šiomis licencijomis, su jais susijusia teismų praktika ir pan.

Priešingai, jei jūsų projektui suteikta „Joe Open Source License v1.01“ licencija, niekas nežino, ką tai reiškia. Teisinės konsultacijos dėl projekto pagal tą licenciją bus daug brangesnės ir nepaprastos, nes intelektinės nuosavybės teisininkui licencijos tekstą reikėtų vertinti kaip visiškai naują, neįrodytą ir neišbandytą darbą. Naujojoje licencijoje gali būti neaiškus tekstas, netyčiniai nuostatų prieštaravimai arba ji gali būti kitaip neįgyvendinama dėl teisinių problemų, kurių autorius nesuprato.

Nepasirinkus OSI patvirtintos licencijos, projektas gali būti pripažintas negaliojančiu dėl tam tikrų teisių ar dotacijų. Pavyzdžiui, tiek „Google“, tiek „IBM“ siūlo nemokamą savo patentų portfelio dalių naudojimą atvirojo kodo projektams – o jūsų projektas, kad ir koks „nemokamas“ jūsų manymu, gali būti netinkamas namuose išaugusiai licencijai. (IBM konkrečiai įvardija OSI licencijos patvirtinimą kaip dotacijos sąlygą.)

OSI patvirtintos licencijos

Atvirojo kodo iniciatyva tvarko patvirtintų atvirojo kodo licencijų, kurios atitinka OSI „atvirojo kodo“ apibrėžimą, sąrašą. Pačios OSI žodžiais, šios licencijos „leidžia laisvai naudoti, modifikuoti ir dalytis programine įranga“. Tarp šių licencijų yra daug sutapimų, kurių daugelio tikriausiai niekada neturėjo būti – žr. Aukščiau pateiktas „namuose išaugintos licencijos“, tačiau tam tikru momentu kiekvienas iš jų įgijo pakankamai traukos, kad galėtų atlikti OSI licencijos patvirtinimo procesą.

Šį licencijų sąrašą suskirstysime į tris kategorijas ir pateiksime keletą žymesnių kiekvienos jų pavyzdžių. Daugumai autorių nereikia perskaityti ir suprasti viso OSI sąrašo – paprastai nėra pakankamai skirtumų tarp įprastų ir nedažnų bendro licencijos tipo variantų, kad būtų verta nukrypti nuo dažniausiai naudojamų ir gerai suprantamų versijų.

Tvirtos „copyleft“ licencijos

„Copyleft“ licencija yra licencija, suteikianti leidimą laisvai naudoti, modifikuoti ir perskirstyti aprėpiamą intelektinę nuosavybę, tačiau tik tuo atveju, jei originali licencija lieka nepažeista – tiek pradiniam projektui, tiek bet kokiems pirminio projekto pakeitimams, kuriuos gali atlikti kiekvienas. Šio tipo licencija – kartais atmestinai ar baimingai vadinama „virusine“ – yra pridedama prie tokių garsių projektų kaip „Linux“ branduolys, „GNU C Compiler“ ir „WordPress“ turinio valdymo sistema.

„Copyleft“ licencija gali būti „stipri“ arba „silpna“ – stipri „Copyleft“ licencija apima ir patį projektą, ir bet kurį kodą, susiejantį su bet kuriuo aprėpto projekto kodu. Silpna „copyleft“ licencija taikoma tik pačiam pradiniam projektui ir leidžia ne „copyleft“ licencijuotam kodui – net nuosavam kodui – susieti su silpno „copyleft“ licencijuoto projekto funkcijomis nepažeidžiant jo licencijos.

Kai kurios iš populiariausių stiprių „copyleft“ licencijų yra:

  • GPLv2—GNU bendroji viešoji licencija leidžia nemokamai naudoti, keisti ir platinti padengtą kodą, tačiau originali licencija turi likti nepažeista ir apima tiek pirminį projektą, tiek visus pakeitimus. GPLv2 nereikia priskirti ar suteikti patentų, tačiau septintame skyriuje draudžiama platinti GPLv2 licencijuotą kodą, jei patentai ar kitos priežastys padarytų perskirstytą kodą nenaudojamą gavėjui. GPL taip pat reikalauja, kad visi, platinantys kompiliuotas projekto versijas, pateiktų originalų šaltinio kodą, pateikdami šaltinį kartu su paskirstytu objekto kodu arba siūlydami jį paprašius.
  • GPLv3—GNU bendrosios viešosios licencijos trečioji versija dažniausiai yra panaši į GPLv2. Tačiau patentai tvarkomi skirtingai – GPLv2 uždraudė perskirstymą pagal GPLv2, jei tai padarius gali reikėti autorinių atlyginimų už patentus, apimančius šį darbą. „GPLv3“ žengia žingsnį toliau ir aiškiai suteikia nemokamas naudojimo teises visiems tokiems patentams, kurie priklauso arba ateityje priklauso bet kuriam projekto dalyviui. GPLv3 taip pat aiškiai suteikia gavėjams teisę nutraukti bet kokį DRM (skaitmeninių teisių valdymo) kodą, įtrauktą į projektą, neleidžiant jiems būti apkaltintiems dėl Skaitmeninio tūkstantmečio autorių teisių įstatymo ar panašių „klastojimo“ įstatymų pažeidimų.
  • AGPL– „Affero GNU General Public License“ iš tikrųjų yra GPLv3 su viena reikšminga papildoma sąlyga – be GPL laisvių siūlymo tiems, kurie gauna AGPL licencijuotos programinės įrangos kopijas, ji siūlo tas pačias laisves vartotojams, kurie bendrauja su AGPL licencijuota licencija. programinė įranga tinkle. Tai neleidžia asmeniui ar įmonei atlikti reikšmingų vertingų projekto, skirto plačiam tinklo naudojimui, modifikacijų ir atsisakyti laisvai prieiti prie tų pakeitimų.

Mes suteiksime šiek tiek daugiau rašalo AGPL už aukščiau nurodyto sąrašo, nes šiek tiek sunkiau paaiškinti jo poveikį tiems, kurie dar nėra gerai susipažinę su „copyleft“. Norėdami geriau suprasti jo poveikį, apžvelgsime vieną realų AGPL licencijuotą projektą ir fiktyvų scenarijų, kuriame dalyvaus didelė įmonė, kuri galbūt norės jį priimti.

„Nextcloud“ žiniatinklio failų bendrinimo rinkinys yra AGPL licencijuotas projektas. Kadangi jis licencijuotas pagal GPL variantą, bet kuris asmuo ar įmonė gali laisvai jį atsisiųsti, įdiegti ir naudoti sau arba siūlyti kitiems paslaugas, įskaitant mokamas paslaugas. Įsivaizduokime hipotetinę įmonę – mes paskambinsime įmonei „PB LLC“ ir jų produktui „Plopbox“ – kuri nusprendžia sukurti didelę komercinę svetainę, siūlančią mokamą prieigą prie valdomų, priglobtų „Nextcloud“ egzempliorių.

Pritaikydamas „Plopbox“ skalę milijonams vartotojų, „PB LLC“ iš esmės keičia kodą. Pakeistas kodas sunaudoja žymiai mažiau serverio išteklių ir prideda keletą funkcijų, kurias „Plopbox“ vartotojai laiko pakankamai vertingomis, kad „Plopbox“ galėtų iš esmės atskirti nuo vanilinių „Nextcloud“ diegimų. Jei „Nextcloud“ – atvirojo kodo projektas „PB LLC“, naudojamas „Plopbox“ paslaugai sukurti – būtų licencijuotas pagal standartinį GPL, šie pakeitimai galėtų likti nuosavybės teise ir PB LLC nereikėtų jų pateikti niekam.

Taip yra todėl, kad standartiniai GPL apribojimai prasideda tik perskirstant, o „PB LLC“ nepaskirstė modifikuotos „Nextcloud“ versijos. Kadangi „PB LLC“ įdiegė „Nextcloud“ tik savo serveriuose, ji neprivalo niekam automatiškai arba paprašius pateikti „Nextcloud“ kopijas – tiek originalias, tiek modifikuotas.

Tačiau „Nextcloud“ yra ne licencijuota pagal bet kurią standartinę GPL versiją – ji licencijuota pagal Affero GPL ir „Affero GPL“ suteikia visas teises, susijusias su GPL, tinklo vartotojams, kuriems taikomas projektas, o ne tik paskirstyto kodo gavėjams. Taigi iš „PB LLC“ iš tikrųjų bus reikalaujama, kad jų mastelis ir naujų funkcijų modifikacijos būtų prieinamos šaltinio kodo forma (ir objekto kodo forma, jei taikoma) visiems, kurie naudojo projektą (pvz., Atidarydami „Plopbox“ paskyrą) ir paprašė kopija.

Silpnos „copyleft“ licencijos

Silpna „copyleft“ licencija iš esmės panaši į stiprią „copyleft“ licenciją, tačiau ji neišplečia savo „virusinės“ apsaugos per jungties ribas. Pačios silpnos „copyleft“ bibliotekos (ar kito projekto) modifikacijos turi išsaugoti originalią licenciją, tačiau bet kuris kodas, esantis už šio projekto ribų – net visiškai nuosavybės teise priklausantis kodas – gali tiesiogiai susieti su silpno „copyleft“ licencijuoto projekto funkcijomis.

Silpnų „copyleft“ licencijų yra palyginti nedaug. Dažniausiai susiduriama:

  • LGPL– Mažosios GNU bendrosios viešosios licencijos. Kartais jis vis dar vadinamas originaliu pavadinimu „GNU„ Library “General Public License“, nes jis dažniausiai naudojamas bendrose bibliotekose. Suderinamas naudoti su GPL licencijuotais projektais.
  • MPL 2.0— „Mozilla“ viešoji licencija. MPL 2.0 yra suderinamas naudoti su GPL licencijuotais projektais; ankstesnių versijų nebuvo.
  • CDDL v1.0—Bendra kūrimo ir platinimo licencija, kurios originalą sukūrė „Sun Microsystems“. CDDL garsiai laikomas nesuderinamu su GPL, nors tai …

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

Previous post Kas yra antocianinai ir kodėl violetiniai maisto produktai yra tokie sveiki?
Next post Ką Alexas Jonesas pasakė prieš Kapitolio riaušes