E-ITSPEA 7: Arvutid ja paragrahvid IIː litsentsid ja autoriõigus
Sellel nädalal on meil blogis natuke teistmoodi ülesanne. Olukord, mille põhjal on vaja kirjutada selle nädala blogipostitus, on järgmine:
Naatan Nohiku hüpoteetilisel tarkvaraprojektil on valida kolme litsentsi vahel. Nendeks on: ärivaraline litsents (EULA; suletud lähtekood), GNU GPL (tugev copyleft) ja BSD litsents (ilma copyleftita).
Käesolevas postituses toon lühidalt välja nende kolme litsentsi eelised ja puudused ning analüüsin, millist litsentsi võiks eelistada erinevates olukordades.
Ilmselt on see tekst veidi igavam ja kuivem kui teised (meenutab referaati), kuna ma ei leia, et antud ülesande puhul on oluline minu arvamus. Loeb Naatan Nohiku enda soov, miks ja milleks millist litsentsi kasutada, mitte see, et “see on kõige parem, kasuta seda”.
EULA; suletud lähtekood
EULA (inglise keeles: End User License Agreement) on kasutajate ja tarkvaraloojate vaheline leping. Tüüpiliselt kasutatakse seda ühekordse tarkvara müügi või tasuliste teenuste puhul. Näitena võib tuua Adobe tarkvara (nt Photoshop) või Microsoft Windowsi, mille kasutamiseks peab nõustuma just nende seatud tingimustega.
Lõppkasutaja litsentsilepingu peamine eesmärk on defineerida kasutaja õigused ning arendaja kontroll oma tarkvara kasutamise üle. Eesmärk on kaitsta tarkvara tootjate intellektuaalset omandit ja õigusi, sh autoriõigusi (ehk mitte kasutajate omi). Kasutajad peavad tarkvara kasutamiseks aktsepteerima just need tingimused, mis on arendaja poolt kehtestatud [1].
EULA ei ole sama, mis ostutõend ega garantii. EULA kaudu saab kehtestada kasutuspiiranguid, näiteks piirata tarkvara kasutamist kindla arvu seadmetega.
Eelised:
- Võimaldab arendajal säilitada täieliku kontrolli tarkvara üle
- Lihtsam monetiseerida (nt litsentsitasud, tellimused)
- Võimaldab kaitsta ärisaladusi ja tehnoloogilisi lahendusi
Puudused:
- Kasutajad ei saa tarkvara kohandada ega parandada
- Ei sobi, kui eesmärgiks on kogukonna panus
- Võib tekitada sõltuvuse tootjast (vendor lock-in)
EULA ehk ärivaraline litsents sobib kasutamiseks olukordades, kus eesmärk on teenida oma loodud tarkvara pealt kasumit ning hoida kontroll tehnoloogia üle enda käes.
See sobib eelkõige juhtudel, kus soovitakse hoida lähtekoodi salajas (unikaalsus, ärisaladus, konkurentsieelis), piirata kopeerimist ja levitamist ning otsustada, milleks ja kuidas tarkvara kasutatakse vastavalt kehtestatud tingimustele.
KASUTATUD MATERJAL
- https://legarithm.io/blog/eula-license-agreement/
- https://www.termsfeed.com/blog/5-reasons-your-software-needs-eula/
- https://complydog.com/blog/eula-full-form-complete-guide-end-user-license-agreements
GNU GPL (tugev copyleft)
Vastupidiselt eelmisele on GNU GPL (GNU General Public License) avatud lähtekoodiga litsents, mille eesmärk on tagada vabadus tarkvara kasutada, sh seda jagada ja muuta kõiki programmi versioone ja seda kõigile selle kasutajatele [1].
Samas on oluline ära märkida, et selle litsentsi puhul on programmi levitamisel (nii tasuliselt kui ka tasuta) kohustus kasutada sama litsentsi. See tähendab, et olukorras, kus oled muutnud seda programmi või jagad seda, tuleb tagada samad õigused, mis olid algselt, sh ligipääs lähtekoodile. Näitena võib tuua Linuxi kerneli, GNU tööriistad, GIMP-i, WordPressi, Blenderi jm.
Eelised:
- Tagab, et tarkvara jääb alati vabaks ja avatuks ka uute versioonide puhul
- Kõik muudatused on avalikud ja arusaadavalt märgistatud
- Julgustab kogukonna koostööd ja panustamist
- Suurendab läbipaistvust ja turvalisust*
Puudused:
- Ei sobi ärilistele projektidele, mis soovivad koodi hoida ärisaladusena
- Kõik muudatused tuleb samuti avalikustada ja need peavad olema selgelt märgistatud
- Võib piirata koostööd ettevõtetega
- Tarkvaral puudub garantii
GNU GPL litsents sobib arendajatele ja projektidele, kes soovivad tagada, et tarkvara ja selle tuletised jääksid alati vabaks ja avatud lähtekoodiga ning et kasutajate vabadusi ei saaks piirata. Näiteks juhul, kui ei soovita, et keegi muudaks koodi suletud ja tasuliseks versiooniks.
Ehk GNU GPL (tugev copyleft) litsents sobib hästi olukordadesse, kus eesmärk on teadmiste jagamine, kogukonna kaasamine või koostöö teiste arendajatega.
*Üheks eeliseks võiks lugeda avatud lähtekoodi puhul seda, et vead ja nõrkused leitakse üldjuhul kiiremini ülesse kuna inimeste arv, kes projektiga tegelevad on suurem sh ka nende taust.
KASUTATUD MATERJAL
- https://www.gnu.org/licenses/gpl-3.0.en.html
- https://softwareengineering.stackexchange.com/questions/7720/what-are-the-pros-and-cons-of-the-gpl
BSD litsents (ilma _copyleft_ita)
BSD ja MIT litsentsid on kõige paindlikumad levitamise ja kasutamise suhtes. Erinevalt GPL-ist ei sisalda BSD litsents copyleft nõuet. See tähendab, et tarkvara võib vabalt kasutada, muuta ja levitada ka ilma kohustuseta avalikustada muudetud lähtekoodi. Näitena võib tuua FreeBSD, OpenSSH ning Apple’i macOS-i (osaliselt BSD-l põhinev Darwin, mille Apple on osaliselt sulgenud).
Kindlasti tasub välja tuua, et näiteks kolme klausliga BSD litsents keelab selgesõnaliselt algse autori nime kasutamise reklaamimise eesmärgil, mis annab autorile suurema kontrolli oma nime ja maine kasutamise üle ka pärast tarkvara edasiarendamist[2].
Eelised:
- Väga paindlik ja lubav olenevalt variandist
- Võimaldab kasutada koodi ka ärilistes projektides, kus vb soovitakse edasiarendused sulgeda
- Soodustab laialdast kasutust
Puudused:
- Ei taga, et kood jääb avatuks
- Teised võivad võtta koodi ja muuta selle suletuks
- Vähem kontrolli arendaja poolt
BSD litsents sobib olukordadesse, kus arendaja ei pea oluliseks ranget kontrolli selle üle, kuidas tema tarkvara edasi kasutatakse, sh seda, kas kood/tarkvara jääb avatuks ja kas seda kasutatakse tulu teenimise eesmärgil mõnes teises projektis. Kindlasti tuleks aga selle valiku puhul vaadata üle kõik põhilised 4 BSD litsentsi varianti.
KASUTATUD MATERJAL
- https://www.pingcap.com/article/bsd-license-pros-cons-projects-open-source-insights/
- https://opensource.org/license/bsd-3-clause
- https://opensource.org/licenses?ls=BSD
Kokkuvõte
Kokkuvõttes sõltub sobiva litsentsi valik projekti eesmärgist, mitte sellest, et üks oleks teisest parem (ilma konteksti tundmata). Ehk ei ole olemas universaalset parimat, mis sobiks igasse projekti.
Kui prioriteediks on kasum ja kontroll, on sobivaim EULA. Kui eesmärk on tarkvara vabadus ja kogukonna panus, sobib GNU GPL. Kui aga soovitakse maksimaalset paindlikkust ja laialdast kasutust (sh hiljem võib-olla mõne suure firma projektis leida kasutust), on parim valik mõni BSD või MIT litsents.
Kommentaarid
Postita kommentaar