Atviras kodas Lietuvai

Stop the Hollyweb! No DRM in HTML5.

Istorija moko vertinti savo laisvę, nes gali ją prarasti. Neįkyrėkite su savo politika, atsako nenorintys mokytis.
Richard Stallman

Kodėl verta atnaujinti iki GPLv3

Ričardas Stalmanas

Baigta rengti 3-ioji GNU Bendrosios Viešosios Licencijos versija, įgalinanti atnaujinti laisvosios programinės įrangos paketus naudojančius 2-ąją GPL versiją. Šiame straipsnyje bus aiškinama, kodėl yra svarbu atnaujinti šią licenciją.

Visų pirma būtina pastebėti, kad atnaujinimas yra pasirinkimas, o ne priverstinis. 2-oji GPL versija ir toliau išlieka galiojančia licencija ir nebus katastrofa, jeigu kai kurios programos tebenaudos GPLv2, kai tuo tarpu kitos pradės naudoti GPLv3. Šios dvi licencijos yra tarpusavyje nesuderinamos, tačiau tai nėra rimta problema.

Kai sakome, kad GPLv2 ir GPLv3 yra tarpusavyje nesuderinamos, tai reiškia, kad nėra teisinių galimybių vienoje programoje kartu naudoti kodą naudojantį GPLv2 ir kodą naudojantį GPLv3. Taip yra todėl, kad GPLv2 ir GPLv3 yra „copyleft“ licencijos: kiekviena jų sako „jeigu įtraukiate kodą naudojantį šią licenciją į didesnę programą, ši didesnė programa taip pat turi naudoti šią licenciją“. Todėl jos niekaip negali būti suderinamos. Galėjome į GPLv3 įtraukti suderinamumo su GPLv2 punktą, tačiau tai neduotų naudos, nes GPLv2 taip pat reikėtų panašaus punkto.

Laimei, licencijų nesuderinamumo klausimas yra opus tik tada, kai norite susieti, sujungti arba maišyti dviejų skirtingų programų kodą vienoje programoje. GPLv3 ir GPLv2 programų turėjimas operacinėje sistemoje nesukelia jokių problemų. Pavyzdžiui, TeX licencija ir Apache licencija yra nesuderinamos su GPLv2, tačiau tai nedraudžia mums naudoti TeX ir Apache toje pačioje sistemoje kartu su Linux, Bash ir GCC. Taip yra todėl, kad tai yra atskiros programos. Analogiškai, jeigu Bash ir GCC pradės naudoti GPLv3, o Linux ir toliau naudos GPLv2, čia nebus jokio licencijų konflikto.

Nekils jokių problemų, jeigu ir toliau naudosite programai GPLv2. Tačiau pakeisti licenciją naudinga dėl GPLv3 išsprendžiamų problemų.

Vienas labai svarbus pavojus, kurį pašalins GPLv3, – tai tivoizacija. Tivoizacija reiškia, kad kompiuteriuose (vadinamais „prietaisais“) yra GPL licenciją naudojanti programinė įranga, kurios negalite modifikuoti, nes šie prietaisai aptikę modifikuotą programinę įrangą tiesiog išsijungia. Įprastas tivoizacijos naudojimo motyvas yra toks, kad ta programinė įranga turi ypatybių, kurios, gamintojo manymu, daugeliui žmonių nepatiks. Šių kompiuterių gamintojai pasinaudoja laisvosios programinės įrangos suteikiama laisve, tačiau neleidžia tuo pačiu pasinaudoti jums.

Kai kurie teigia, kad laisvos rinkos konkurencijos tarp prietaisų turėtų pakakti tam, kad grėsmingų ypatybių lygis būtų mažas. Galbūt vien tik konkurencija galėtų padėti išvengti savavališkų, beprasmiškų piktavališkų ypatybių, tokių kaip „Turi išsijungti kiekvieną antradienį tarp 13 ir 17 valandos“, tačiau net jeigu ir taip, šeimininkų pasirinkimas nėra laisvė. Laisvė reiškia, kad tai jūs patys valdote, ką daro jūsų programinė įranga, o ne tą, kad galite tiktai maldauti arba grasinti kam nors nusprendžiančiam už jus.

Kalbant apie kritišką Skaitmeninių Apribojimų Valdymo (angl. Digital Restrictions Management) sritį – grėsmingos ypatybės yra sukurtos apriboti jūsų duomenų naudojimą savo pačių kompiuteryje – konkurencija negelbsti, kadangi tiesioginė konkurencija yra uždrausta. Pagal Digital Millennium Copyright Act ir panašius įstatymus, JAV ir daugumoje kitų šalių, yra nelegalu platinti DVD leistuvus, nebent jie atitinkamai suvaržo naudotoją pagal oficialiąsias DVD konspiracijos taisykles (jos tinklalapis yra http://www.dvdcca.org, tačiau, atrodo, taisyklės ten nepateiktos). Visuomenė negali tiesiog atsisakyti DRM pirkdami ne-DRM leistuvus, kadangi tokių paprasčiausiai nėra. Nesvarbu iš kiek gaminių galite rinktis, jie visi turi vienodus skaitmeninius antrankius.

GPLv3 užtikrina, kad galite laisvai nusiimti šiuos antrankius. Ji neuždraudžia DRM ar bet kokių kitų ypatybių. Ji neriboja jokių funkcijų, kurias galite įtraukti į programą arba iš jos pašalinti. Iš tikrųjų ji užtikrina jūsų laisvę pašalinti nepageidaujamas ypatybes lygiai taip pat kaip jūsų kopijos platintojas turėjo laisvę jas pridėti. Tivoizacija – tai jų priemonė atimti iš jūsų šią laisvę; apsaugodama šią laisvę, GPLv3 draudžia tivoizaciją.

Tivoizacijos draudimas taikomas bet kokiam produktui, kuris bus naudojamas, netgi jeigu tik atsitiktinai, vartotojų. GPLv3 toleruoja tivoizaciją tik tiems produktams, kurie yra išskirtinai skirti verslui ir organizacijoms.

Kita grėsmė, prieš kurią atsilaiko GPLv3, yra tokie patentų sandėriai, kaip Novell-Microsoft sandėris. Microsoft taip nori panaudoti tūkstančius savo patentų, kad GNU/Linux naudotojai mokėtų Microsoft už jiems suteiktą privilegiją naudoti laisvąją programinę įrangą, ir sudarė šį sandėrį tam, kad pabandytų tą pasiekti. Šis sandėris Novell klientams siūlo gan ribotą apsaugą nuo Microsoft patentų.

Microsoft šiame Novell-Microsoft sandėryje padarė kelias klaidas, o GPLv3 yra taip sukurta, kad panaudotų jas prieš pačią Microsoft, išplėsdama šią ribotą apsaugą nuo patentų visai bendruomenei. Tam, kad būtų galima tuo pasinaudoti, programos turi naudoti GPLv3.

Microsoft teisininkai nėra kvaili, ir kitą kartą jiems gali pasisekti išvengti šių klaidų. Todėl GPLv3 sako, kad jie neturės „kito karto“. Išleidus programą su 3-iąją GPL versija ši ją apsaugo nuo būsimų Microsoft bandymų priversti perplatintojus rinkti iš programos naudotojų autorinius honorarus Microsoft.

GPLv3 taip pat suteikia aiškią naudotojų apsaugą nuo patentų nuo programos bendraautorių ir perplatintojų. Tuo tarpu su GPLv2, naudotojai priklauso nuo numanomos (aiškiai neapibrėžtos – vert. past.) patentų licencijos, kad užsitikrintų, kad įmonė suteikusi jiems kopiją neiškels jiems, arba asmenims kuriems šie perplatina kopijas, bylos dėl patentų pažeidimo.

Aiški patentų licencija GPLv3 nenueina taip toli, kaip mes galėjome norėti. Geriausia būtų, kad mes galėtume priversti visus perplatinančius GPL licencijuotą kodą atsisakyti visų programinės įrangos patentų, kartu su visais neperplatinančiais GPL licencijuoto kodo. Programinės įrangos patentai yra ydinga ir absurdiška sistema, sukelianti programinės įrangos kūrėjams pavojų būti patrauktiems į teismą įmonių, apie kurias jie nėra niekada girdėję, arba visų tos srities megakorporacijų. Didelės programos paprastai apjungia tūkstančius idėjų, todėl nenuostabu, kad jose kartais įgyvendinamos idėjos apsaugotos šimtais patentų. Megakorporacijos surenka tūkstančius patentų ir naudoja šiuos patentus grasindamos mažesniems programuotojams. Patentai jau trukdo laisvosios programinės įrangos kūrimą.

Vienintelis būdas padaryti programinės įrangos kūrimą saugiu – tai panaikinti programinės įrangos patentus, ir mes tikimės vieną dieną tą pasiekti. Tačiau to neįmanoma padaryti programinės įrangos licencijos pagalba. Bet kokia programa, laisva ar ne, gali būti nužudyta programinės įrangos patento, kuris priklauso visiškai nesusijusiam asmeniui, ir programos licencija negali to sustabdyti. Programinės įrangos kūrimą apsaugoti nuo patentų gali tik teismo sprendimai arba patentų įstatymo pakeitimai. Jeigu būtume bandę tą padaryti GPLv3, pastangos būtų nesėkmingos.

Todėl GPLv3 siekia maksimaliai sumažinti ir nukreipti šį pavojų. Ypač stengėmės apsaugoti laisvąją programinę įrangą nuo likimo baisesnio už mirtį: patentų pagalba būti padarytos nuosavybine. Aiški GPLv3 patentų licencija užtikrina, kad įmonės, naudojančios GPL licenciją suteikti keturias laisves savo naudotojams, negalėtų apsigalvoti ir panaudoti savo patentų taip, kad kai kuriems naudotojams pasakytų „jūsų tame tarpe nėra“. Ji taip pat užkerta kelią slaptam jų bendradarbiavimui su kitais patentų turėtojais norint tą padaryti.

Tarp kitų GPLv3 privalumų yra geresnė internacionalizacija, švelnesnės licencijos pažeidimo sąlygos, BitTorrent palaikymas ir suderinamumas su Apache licencija. Apskritai paėmus, užtenkamai priežasčių atnaujinimui.

Vargu ar išleidus GPLv3 daugiau nebereiks pakeitimų. Jeigu atsiras naujų naudotojų laisvei kylančių grėsmių, turėsime sukurti 4-ąją GPL versiją. Svarbu užtikrinti, kad atėjus laikui programos be problemų galėtų pereiti prie GPLv4.

Vienas būdas tą padaryti yra išleisti programą licencijuotą „GPL 3-ąja versija arba bet kokia naujesne versija“. Kitas būdas, visi programos bendraautoriai turi nurodyti įgaliotinį, kuris galės nuspręsti dėl atnaujinimo iki būsimų GPL versijų. Trečias būdas, visi bendraautoriai turi priskirti savo autorines teises vienam paskirtam autorinių teisių turėtojui, kuris bus atsakingas už licencijos versijos atnaujinimą. Vienu būdu ar kitu, programos turi suteikti šį lankstumą ateičiai.