Naatan Nohiku litsensivalik (7. nädala)
Sissejuhatus
Meie tänane tegelane on Naatan Nohiku. Naatan on noor, ambitsioonikas, kuid väga paljutõotav tarkvaraarendaja, kellel on kogemusi IT-süsteemide ja infrastruktuuri haldamise alal. Ühel oma tavapärasel tööpäeval kontrollis ta rutiinselt seadmete olekut, sertifikaate ja muud sarnast, kasutades keerulisi programme tohutu hulga väljundandmetega. Seejärel otsustas ta kirjutada oma seadmete jälgimisprogrammi, mis hindaks automaatselt seisukorda ja kuvaks üldised tulemused mugavate graafikute kujul, jättes kõigi muutujate käsitsi jälgimise võimaluse pigem valikuks kui põhifunktsiooniks. Pärast paarikuulist arendust lõi ta sellise programmi ja pärast veel ühekuulist kasutamist mõistis ta, et sellist mugavat projekti tuleks laialdaselt levitada. Ta valis programmile nimeks "Nohiku Monitoring" ja seejärel oli aeg valida litsents. Pärast kolleegidega intervjueerimist ja veebis otsimist jäi talle valida kolm populaarset ja väga erinevat litsentsi: EULA, GNU GPL ja BSD.
EULA
EULA (kasutajaleping) viitab omandilisele litsentsile ja suletud lähtekoodile. Kasutaja ostab teenuse või õiguse programmi kasutada ning allkirjastab intellektuaalomandi omaniku ja kasutaja vahelise lepingu, mis sätestab programmi kasutamise reeglid. Tarkvara muutmine, levitamine ja/või kasutamine oma projektides on lepingu tingimuste kohaselt sageli keelatud. Naatani ja tema projekti jaoks on sellel litsentsil nii plussid kui ka miinused.
Sellise litsentsi kasutamise positiivsete aspektide hulka kuulub võimalus oma ideed monetiseerida, mis on noore spetsialisti jaoks suur pluss, kuna tänapäeva maailmas on kõigil vaja raha teenida. See litsents tagab ka selle, et keegi ei saa karistamatult tema arendusi varastada, näiteks armatuurlaudade loomise meetodeid või teenuse üldise tervise hindamise meetodeid, nende kasutamist ja neist kasu saamist, mis on tohutu pluss. Kuid sellel litsentsil on ka oma miinused: Naatan peab üksinda valima oma programmi turundus- ja reklaamistrateegia, testima seda vigade ja haavatavuste suhtes ning ise välja töötama modifikatsioone ja täiendusi. See on tema olukorras raske koorem, kuna ta on noor süsteemiadministraator keskmise palga ja töökoormusega ning selline projekt nõuab märkimisväärset aja- ja vaevainvesteeringut. Teine miinus on see, et Naatan peab litsentsi korrektseks ja täpseks koostamiseks otsima juriidilist abi, minimeerides lepingus lünki, ebatäpsusi ja otseseid haavatavusi.
GNU GPL
GNU Üldine Avalik Litsents on range copyleft-litsents, mis eeldab avatud lähtekoodi ja arendajate vabadust seda koodi muuta, oma töös kasutada jne, kuid ainult tingimusel, et kogu nende töö levitatakse ka selle litsentsi alusel. Sellel litsentsil on kolm versiooni: Lesser, Standard ja Affero. Erinevalt standardlitsentsist lubab Lesser litsents kasutada teeke patenteeritud programmides, samas kui Affero lisab nõude, et kui teek töötab serverites, peab ka aluskood olema nende serverite kasutajatele vabalt kättesaadav. Naatani puhul on Affero kõige sobivam variant, kuna see sulgeb SaaS-lünga, nõudes avatud lähtekoodi, kui programmi pakutakse võrguteenusena.
Standardse GPL 3.0 litsentsi kasutamine võiks tuua Naatanile kuulsust tarkvaraarendajana ja lihtsustada vigade, haavatavuste ja muu sellise testimist avatud lähtekoodiga kogukonna töö kaudu. Kogukonnal on ka juurdepääs tema programmi muudatustele ja täiustustele, kuna litsents muudab kõik arendused avatud lähtekoodiga.
Siiski on sellel litsentsil ka suur puudus: see muudab raha teenimise süsteemi keerulisemaks. Muidugi võiks selle idee edasiarendamiseks koguda annetusi või luua tasulise tehnilise toe mudeli, kuid see on pigem tore boonus kui tõeliselt märkimisväärne rahaline toetus arendusele. Teine suur puudus on Naatani lähtekoodi loata kasutamise võimalus teatud ettevõtete, üksikisikute või korporatsioonide poolt, kes muudavad koodi oma projektides kasutamiseks ilma autorit nimetamata või litsentsitingimusi järgimata.
BSD
Erinevalt eelmisest litsentsist ei ole BSD litsentsil ranget autoriõiguse kaitset, mistõttu on see populaarne valik nii äri- kui ka harrastusprojektide jaoks. See litsents jätab koodi omapäi; Arendajad võivad koodi kasutada nii, nagu soovivad, ja võivad seda kasutada nii avatud kui ka suletud lähtekoodiga projektides, ainsa nõudega omistada algne kood autorile. See jaguneb kahte tüüpi: bsd-2-klausel ja bsd-3-klausel. Need litsentsid on sarnased ja ainus erinevus seisneb selles, et versioon 3 lisab klausli, mis keelab koodi autori nime kasutamise toote reklaamimiseks ilma autori nimeta.Ilma otsese nõusolekuta. Kuigi arendaja nime kasutamine toote reklaamides on juba ELi õigusega reguleeritud, on Naatanil mõistlik valida kolmepunktiline litsents, et kaitsta end ekspluateerimise eest.
Naatani projekti positiivsete aspektide hulgas on see, et selline litsents võimaldab tal palju kiiremini tunnustust saavutada mitte ainult vabade arendajate, vaid ka ettevõtete seas, kuna see võimaldab ka tema koodi ärilist kasutamist.
Sellel piiramatul vabadusel on aga looja jaoks tõsiseid puudusi. Esiteks on ärilise ekspluateerimise probleem: suurettevõtted saavad Naatani koodi võtta, seda oluliselt parandada, need parandused tagasi võtta ja müüa oma tootena. Erinevalt GPL-ist ei ole nad kohustatud oma tööd algsele projektile tagastama. Naatan riskib sattuda olukorda, kus tema tööst teenitakse miljoneid, samal ajal kui ta ei saa kogukonnalt ei rahalist kasu ega tehnilist tuge. Teiseks on olemas killustumise oht: kui tema programmist tekib tugev suletud ettevõtte haru, võib algne avatud lähtekoodiga projekt kasutajate kaotuse tõttu lihtsalt hääbuda.
Kokkuvõte
Pärast nende kolme litsentsi plusside ja miinuste lühikest analüüsimist valiksin Naatani asemel BSD litsentsi, kuna vaatamata oma puudustele loodi programm algselt isiklikuks mugavuseks ega olnud mõeldud oma nime levitamiseks, kasumi teenimiseks ega millekski selliseks. Seetõttu langeb minu isiklik valik selle nimekirja kõige lubavama litsentsi juurde.
Allikad
https://www.icertis.com/contracting-basics/the-importance-of-the-end-user-license-agreement/
https://www.sirion.ai/library/contract-management/end-user-license-agreement-eula/
https://www.gnu.org/licenses/gpl-3.0.html
https://www.gnu.org/licenses/why-not-lgpl.html
https://www.gnu.org/licenses/why-affero-gpl.html
https://milvus.io/ai-quick-reference/what-is-the-bsd-license-and-how-is-it-used
https://opensource.org/license/bsd-2-clause
https://opensource.org/license/bsd-3-clause
Kommentaarid
Postita kommentaar