Naatan Nohiku dilemma: kas lüüa kood lukku, sundida jagama või anda tuimalt käest?
Sissejuhatus
Selle nädala ülesanne viskas meile ette ühe tüüpilise programmeerija dilemma. Kujutame ette venda nimega Naatan Nohik, kes on valmis koodinud mingi geniaalse tarkvara ja nüüd kratsib kukalt, et mis litsents sellele peale lükata. Juriidika on paras peavalu, aga laias laastus on tal laual kolm täiesti erinevat varianti, mis viivad tema projekti tuleviku väga erinevatesse suundadesse.
Klassikaline ärivara ehk EULA paneb kõik uksed kinni
See on see klassikaline vana kooli lähenemine. Naatan paneb oma koodi luku taha, keegi sisse ei näe ja juba eos on selge, et koodi muutmine ning edasiarendamine on teistel täielikult keelatud. Kasutajad peavad enne installimist mingi kilomeetripikkuse juriidilise loba peale nõustun nuppu klikkima. Selle suurim pluss on muidugi see, et nii saab kõige otsesemalt pappi teha. Sa müüd valmis toodet ja keegi ei saa su koodi tuimalt rotti lasta.
Aga miinuseid on ka sitaks. Esiteks ei tule kogukond sulle kunagi appi vigu parandama, sest nad ei näe koodi. Seda litsentsi tasub Naatanil kasutada siis, kui ta on teinud mingi väga spetsiifilise äritarkvara või tasulise arvutimängu, mille pealt ta tahab lihtsalt tuima näoga kasumit lüpsta ja täielikku kontrolli hoida.
GNU GPL on karm aga õiglane jagamine
Kui Naatan on pigem selline idealist ja tahab kommuuni ehitada, lükkab ta peale GNU GPL litsentsi. Siin on tegelikult peidus üks mega konks, millega paljud tavaliselt puusse panevad. Nimelt ei tähenda vaba tarkvara alati seda, et see on tasuta nänn, sest litsents ise hinda ei keela. Naatan võib vabalt oma asja eest raha küsida, aga kasutajate vabadused koodi osas peavad säilima.
Selle litsentsi suurim eelis ja eripära on tugev õiguste edasikandumine ehk copyleft. Igaüks võib Naatani koodi võtta ja edasi arendada, aga nad peavad oma uue versiooni täpselt sama GPL litsentsi all avalikuks tegema. See sunnib inimesi kogukonnale tagasi andma. Selle suurim miinus on aga see, et suured korporatsioonid kardavad seda litsentsi nagu tuld ja hoiavad eemale, sest nad ei taha oma kinnistesse toodetesse sellist viiruslikku koodi lasta.
BSD litsents on mega lebo
Kolmas variant on BSD litsents, mis on täiesti ilma copyleftita. See tähendab selgelt, et õigused edasi ei kandu. Naatan ütleb põhimõtteliselt seda, et võtke mu kood, muutke seda, tehke see kinniseks ja müüge maha, mul on täiesti suva. Sa pead lihtsalt mu nime kuskile faili nurka jätma.
Selle eelis on meeletu levik. Kuna mingeid piiranguid pole, siis suurfirmad jumaldavad sellist koodi ja see võib jõuda miljonitesse seadmetesse. Suurim puudus on aga see, et mingi suurkorporatsioon võib Naatani koodi võtta, teenida sellega miljoneid ja Naatan ei näe sellest sentigi ega saa isegi veaparandusi kogukonnale tagasi. BSD sobib siis, kui Naatanil on kontrollist suht poogen ja ta tahab lihtsalt, et tema lahendus saaks mingiks ülemaailmseks standardiks.
Kokkuvõte
Kokkuvõttes on Naatani valik puhas maailmavaate ja ärimudeli küsimus. Kui ta tahab toote müügiga rikkaks saada ja konkurente eemal hoida, on EULA ainus loogiline tee. Kui ta aga usub vabatarkvarasse, peab ta valima, kas ta tahab GPL abiga koodi vabadust jõuga kaitsta või annab BSD abil kogu kontrolli käest ja laseb asjal lihtsalt oma elu elada.
Mina isiklikult ütleks, et kogu see valik sõltub ikkagi täielikult sellest, millega täpsemalt tegu on. Mingit ühte universaalset "õiget" litsentsi ei eksisteeri. Kui koodid valmis mingi suure arvutimängu, lükkad ilmselt EULA peale ja kasseerid pappi. Kui teed aga mingi laheda koodijupi, mida teised arendajad võiksid oma asjades kasutada, siis valid GPL-i või BSD vahel. Kõik taandub lihtsalt sellele, mis on selle konkreetse projekti lõppeesmärk.
Comments
Post a Comment