Thursday, November 28, 2013

Arvutid ja paragrahvid II: tarkvara- ja sisulitsentsid

Mille jaoks on tarkvaralitsentsi vaja? Litsents paneb paika tarkvara kasutamise, jagamise, kopeerimise ning muutmise korra, vastates küsimustele stiilis „Kas võib? Kui palju? Kui kallilt?” Aga nagu kõige muugagi siin ilmas, on tarkvara- ja sisulitsentse palju erinevaid – GNU General Public License (GPL), Apache License, Microsoft Public License jne. Kokkuvõtlikult on litsents kasutusluba, mis kaitseb ning kohustab nii lõppkasutajat kui ka tarkvara tootjat.

GPL litsentsi kasutavatest tarkvaradest on kõige tuntum arvatavasti Linux. Põhilise „vaba tarkvara” litsentsina tuntud GPL lubab tarkvara kopeerida, muuta ning (kohustuslikult) kaasa tulnud lähtekoodi täiustada. Copyleft põhimõttele kohaselt tähendas ning tähendab praegugi see litsentsi valik Linuxi edukat levimist ning kasvamist, olles alternatiiv nt litsentside laviini all peidus olevale Microsoftile.

Linuxi kernelil põhineb ka peamiselt mobiilides kasutusel olev Androidi operatsioonisüsteem, mida Google levitab Apache License’i all. Linuxi kerneli muutused on aga GPL 2. versiooni all. Kuigi Android on open-source, on Google’il käsi natuke rohkem mängus – kõik Google nimega rakendused on kinnise koodiga. Varem olid vaid Google’i online-teenused – Gmail, Maps, Talk ja Youtube – kinnise koodiga, kui Android ei omanud suurt osa mobiilsete operatsioonisüsteemide turust. Nüüd aga hinnatakse, et iga kord, kui Google annab rakendusele uue nime või paneb Google Play Store’i uue rakenduse müüki, on tegu suletud koodiga versiooniga, jättes kõrvale Android Open Source Project variandi. Lihtne on suruda avatud lähtekoodi turult välja, kui keskendad kogu arenduse suletud lähtekoodiga variandile. Muidugi võrreldes AOSP varianti ning Google’i suletud koodi varianti, on Google’i rakendusel rohkem võimalusi ning taga on kõvem arendustöö – nt Google Play Music, Google Hangouts jne. Kogukonna hinnangul ongi Apache License valitud Google’i poolt, sest see lubaks võtta ettevõtetel avatud koodiga projektide jupikesi ning neid modifitseerida, kuid samas ei ole kohustust neid uusi koodijuppe „tagastada” avatud lähtekoodi kogukonnale.

Java programmeerimiskeel on ka alates 2007. aastast GNU General Public License’i all levitatav (kui välja arvata osa koodist, mille copyrighti Sun ei omanud). Eelnevalt oli litsentsiga seonduvaid probleeme Sunil ja Microsoftil. Probleem seisnes selles, et Microsoft lisas Javale omapoolseid lisasid ning rakendusi, mis küll on litsentsiga kooskõlas, kuid kahjuks need lisad polnud Suni Javaga ühilduvad. Java „trademark” ongi, et kõik Java rakendused on omavahel ühilduvad. Microsofti tegevus aga oli ilmselgelt sellega vastuolus. Lahenduseks mingi 1997. aastal kohtusse ning 2001. aastal kuulutati Sun võitjaks. Microsoft pidi maksma Sunile 20 miljonit dollarit, samuti ei ole enam Windowsil Javat kohe kaasas.

Litsentsi valik paneb tihti paika projekti arenemise. Lisaks lähtekoodi avamisest tingitud laiemale arendustööle või siis turuosa säilitamisele läbi kinnise koodi „endalehoidmise” võib litsentsi valik mõjutada ka kogukonna suhtumist ettevõttesse ning projekti endasse.

Allikad:

No comments:

Post a Comment