Nädal 7: Copyleft litsentsid

Edasikandumisklausel (copyleft) vabade litsentside juures nõuab, et kõik litsentseeritud töö derivaadid, edasiarendused jne peavad kasutama sama litsentsi. Seega veidi irooniliselt lisandub juurde üks piirang, kuid piirangu eesmärk on piiranguvabaduse säilitamine.

Käesolevas artiklis vaatlen veidi lähemalt copyleft litsentside põhilisi kategooriaid ning toon iga kategooria kohta ka näiteks sinna kuuluva litsentsi ja seda kasutava teose.

Tugev copyleft

Kui sinu programm sisaldab koodi, mis on tugeva copyleftiga litsentsi all litsentseeritud, pead ka kogu enda tarkvara avaldama sama litsentsi all - kaasa arvatud lingitud teegid või muud programmi komponendid. [1]

Kuna tugeva copyleftiga litsentsid on nii laiahaardelised, kutsutakse neid mõnikord nakkavateks (infectious) - kui projekt mingilgi viisil kasutab sellise litsentsiga sisu, "nakatab" see litsents kogu projekti.
Mõndade hinnangul edendavad nakkavad litsentsitingimused vaba tarkvara kasvu, kuna toetavad kogukondlikku arendustööd, takistavad vaba tarkvara ja selle tuletiste lukustamist varaliste piirangute taha ning muudavad omandvara avavaraks. Selline "nakkusohtlikkus" võib aga olla liiga riskantne ja ebatäpne paljude (eriti firmade) jaoks, kes pigem valivad kasutamiseks midagi, millel on selgemini defineeritud ulatuse ja kindlamate kohustustega litsents. [2]

Üks tuntuim tugeva copyleftiga litsents on GNU General Public License v3. Seda kasutab näiteks 3D-arvutigraafika tarkvara Blender. Nagu võib taolise litsentsi puhul arvata, on Blenderi looja (kes on ka Blenderi BDFL) puhul tegemist tõsise avatud tarkvarasse uskujaga ning Blender on väga kogukonnakeskne.
Hoolimata litsentsist, mis annab väga vabad käed Blenderi kasutamise osas, on Blender olnud edukas. Blenderi populaarsus aina kasvab (eriti pärast mõne aasta tagust Blender 2.8 väljalaset) ning Blenderit toetavad mitmed tähtsad suurfirmad, keda viimase paari aasta jooksul on aina juurde lisandunud - näiteks juhtumisi just viimasel nädalal liitus toetajatega Apple, toetajate hulgas on aga muuhulgas ka Epic Games, Nvidia, Facebook, AMD, AWS, Unity, Microsoft, Intel, Adobe, Google jne. [3, 4, 5, 6] (Tasub mainida, et osaliselt just tänu kasutatavale litsentsile pole vaja karta, et keegi neist ostaks Blender ära ja lukustaks tarkvara maksumüüri taha.)

Samas aga ei tähenda see, et tugeva copyleftiga litsents pole Blenderi edu ja arengut üldse takistanud. Firmades pole Blender veel kaugeltki laialt levinud, mille üheks põhjuseks on pluginate probleem. Blenderi "nakkusohtliku" litsentsi tõttu peavad ka Blenderi API'd kasutavad pluginad kasutama sama litsentsi. See tähendab, et Blenderil puudub ühilduvus paljude selles valdkonnas oluliste tehnoloogiatega, kuna nende tootjad ei soovi oma lähtekoodi avalikustada. (Vist oleks ka võimalik välja töötada viis sellest probleemist mööda saada, kuid see nõuaks palju arendustööd ja pole leidunud sellest huvitatud arendajaid?)
Ilmselgelt viskavad sellised litsentsist tulenevad probleemid Blenderile kaikaid kodaratesse ja põhjustavad osades kasutajates pahameelt, kuid edu pole ainuke eesmärk ning ilmselgelt otsustas Blenderi looja Ton Roosendaal põhimõtete poolt.
Muidugi, põhimõtete ranguse, nende tähtsuse ja nende rakendamise üle leidub erinevaid arvamusi ning kaugeltki kõik ei pruugi valitud litsentsiga nõustuda - aga mis mõtet sellel mittenõustumisel on, kui litsentsi muuta ei saa niikuinii? Mina isiklikult austan seda põhimõttekindlust sügavalt, aga mõistan ka täiesti neid, kes litsentsivalikuga ei nõustu.
(Soovitan allikatest lugeda üht foorumiarutelu ja Ton'i enda sõnavõttu sel teemal.) [7, 8]

(Muidugi on mainimisväärne ka GPLv2 all litsentseeritud Linux'i tuum, kuid selle kohta olnuks mul oluliselt vähem öelda kui Blenderi kohta. [11] Samuti oleks see olnud ehk liiga tüüpiline valik.)

Väga tugev copyleft

Nädalateksti andmetel eristatakse ka väga tugevat copylefti. Selle kui eraldi liigituse kohta ma ise mingit infot ei suutnud leida, kuid mainin seda siin igaks juhuks siiski.
Nädalateksti andmetel kuulub väga tugeva copyleftiga litsentside alla Affero General Public License. Tõepoolest, AGPL'i litsents on rangema copyleftiga kui enamus muid litsentse, kaasa arvatud GPL - kuid mulle ei tundu erinevus piisavalt suur, et väärida selleks eraldi copyleft kategooria tekitamist. AGPL'il on GPL'iga võrreldes vaid üks lisatingimus: kui sa jooksutad muudetud AGPL programmi serveris ja lased kasutajatel sellega sel viisil suhelda, peab su server võimaldama neil ka selle muudetud versiooni lähtekood alla laadida.
Seega pole minu meelest tegemist mingi suure erinevusega põhimõtetes või tingimuste ranguses, vaid kaetakse lihtsalt üht tarkvara kasutusviisi, mida GPL arvesse ei võtnud. Mõlema litsentsi üldine idee aga tundub sama olevat ning ma ei ütleks, et üks on oluliselt "copyleftlikum" kui teine. [9]

Loogiliselt kalduvad AGPL'i kasutama serveripoolsete programmide arendajad. Üheks näiteks on mongoDB, mis nagu nimi vihjab, on andmebaasiprogramm. Kui sellise tarkvara puhul soovida kindlustada copyleft-põhimõtete järgimine, siis tavaliselt GPL'ist lihtsalt ei piisaks.
Nt võiks keegi oma serveris võtta kasutusele mongoDB, teha sellele hulgaliselt täiendusi ja kasutada seda oma serveripõhises rakenduses ning kuni ta seda muudetud versiooni ei proovi eraldi levitada, ei ole tal GPL'i puhul mingit kohustust tehtud muudatusi sisaldavat lähtekoodi avaldada. Küllap aga mongoDB loojatele oli oluline, et sellised täiendused läheksid kogu kogukonna hüvanguks, mistõttu valiti litsentsiks AGPL.
Tasub ka mainida, et see ei tähenda, et kõik mongoDB'd kasutavad rakendused peab avaldama sama litsentsi all. Kuigi rakendus "räägib" mongoDB andmebaasiga, loetakse seda eraldi loominguks. [10]

Nõrk copyleft

Nõrk copyright nõuab samuti muudatuste avalikustamist, kuid see nõue kehtib väiksemale koodihulgale. Näiteks Mozilla Public License 2.0 puhul, kui kasutaja hoiab MPL-litsentsiga koodi eraldi failides, võib ta ülejäänud failid avaldada mingi teise litsentsi all või jätta need omandvaraks. Teiseks näiteks on Lesser GPL litsents, mis kehtib peamiselt teekide kohta - iga muudatus teegile endale tuleb avaldada sama litsentsi all, aga teos, mis vaid kasutab teeki, pole litsentsivaliku osas piiratud. [1] LGPL'i kasutab nt 7-Zip. [16]
Nõrk copyleft on seega palju vähem "nakkusohtlik" kui tugev copyleft. Siiski aga võib sellegi kasutamine oma projektis osutuda küllalt nõudlikuks ning seetõttu võidakse otsustada ka nõrga copyleftiga tarkvara kasutamise vastu - kui su programm kasutab mitmeid erinevaid nõrga copyleftiga teeke, võib kõigi nende tingimustega arvestamine olla paras peavalu.

Käesolev artikkel keskendub peamiselt copyleft'i tarkvaralise külje peale, kuid sarnane idee eksisteerib ka muud sorti teoste jaoks mõeldud litsentsides. Näiteks Creative Commons'i ShareAlike litsentsid on sellised muu meedia jaoks mõeldud nõrga copyleftiga litsentsid. [12, 13, 14]
Taolist litsentsi kasutavad nt Rusty Quill'i podcastid. [15] Muide, kuna lähenemas on Halloween, soovitan väga kuulata nende õuduspodcasti The Magnus Archives.

Täielik või osaline copyleft

Leidsin veidi infot selle kohta, et eristatakse ka täielikku ja osalist copylefti.
Osaline copyleft tähendab, et mõni osa teosest ei kuulu copylefti piirangute alla, nt nende teatud osade muudetud versioone võib avaldada ka mingi teise litsentsi all või neile on mingi muu sarnane erand kehtestatud. [17]
Sellega aga mu leitud info ka piirdub. Näiteid taoliste litsentside kohta ma leida ei suutnud, kuid kuna tegemist on ülejäänud artiklis kasutatud liigitamise süsteemist erineva süsteemiga, peaks artiklis juba toodud näited kuuluma kas täieliku või osalise copylefti kategooria alla.

Allikad

  1. https://fossa.com/blog/all-about-copyleft-licenses/
  2. https://www.law.uh.edu/faculty/gvetter/documents/Vetter.InfectiousOSS.IncentivesOrResistance.Final.pdf
  3. https://www.blender.org/press/blender-by-the-numbers-2019/
  4. https://uxdesign.cc/is-blender-the-future-of-3d-modeling-and-vfx-f3b4ceb2cc9d
  5. https://www.blender.org/press/apple-joins-blender-development-fund/
  6. https://fund.blender.org/
  7. https://blenderartists.org/t/on-licensing-and-3rd-party-plugins/699361
  8. https://code.blender.org/2019/06/blender-is-free-software/
  9. https://www.gnu.org/licenses/why-affero-gpl.html
  10. https://www.mongodb.com/blog/post/the-agpl
  11. https://www.kernel.org/doc/html/v4.18/process/license-rules.html
  12. https://creativecommons.org/licenses/by-sa/4.0/
  13. https://creativecommons.org/licenses/by-nc-sa/4.0/
  14. https://opensource.stackexchange.com/questions/8795/creative-commons-sharealike-weak-or-strong-copyleft
  15. https://rustyquill.com/legals/
  16. https://www.7-zip.org/license.txt
  17. Welcome to the 'free' World: A Free Software Initiative - C. Arvind Kumar

Kommentaarid