Trenutnih dogajanj v svetu programske opreme ne moremo razumeti brez malce pogleda v preteklost. V sedemdesetih in osemdesetih letih zdaj že prejšnjega stoletja so se programske hiše varovale pred krajo s pomočjo poslovnih skrivnosti. Izvorno kodo programov so enostavno − skrivala. Računalniki so se uporabljali predvsem v poslovne namene in poslovna skrivnost ter zakoni o zaščiti avtorskih pravic so bili dovolj. O patentiranju kode takrat ni govoril nihče, saj je večina pravnikov menila, da programske opreme ni mogoče patentirati.

MEJNIKI

A stvari so se spreminjale. In to zelo hitro in na vzporednih tirih. En tir je bil povezovanje. V devetdesetih letih se je potreba po povezovanju računalnikov pokazala za nekaj, brez česar ne gre. S povezovanjem pa je vse več ljudi dobilo vpogled v izvorno kodo programa, saj podjetja več niso bila zmožna dovolj dobro varovati poslovnih skrivnosti. Drugi tir je bil napredek tehnologije, bolje rečeno orodij za programiranje. Pojavilo se je objektno programiranje, katerega pomembna lastnost je zmožnosti ponovne uporabe programskih objektov oziroma modulov. Programerji so izdelali modul, ki je izvajal določeno operacijo, ta modul pa je bilo mogoče uporabiti v več primerih s preprostim povezovanjem. Kot bi sestavljali lego kocke. In zakaj je to tako pomembno? Pred objektnim programiranjem smo poznali sekvenčno programiranje, kjer je bil program (zelo poenostavljeno), napisan tako, da se je koda izvajala zaporedno brez velikih preskokov. To pa je pomenilo, da je bila verjetnost, da bo kdo ukradel del kode, bistveno manjša kot pri objektnem programiranju, saj je bilo parametrov, ki bi omogočali vključitev tega dela kode v drug program, večinoma preveč. Zato se je, če se je, kradlo kar celotne programe. Pri objektnem programiranju je stvar drugačna. Modul je večinoma zaključena celota, ki jo je mogoče uporabiti v različnih primerih in kontekstih. In takšne gradnike je razmeroma enostavno ukrasti.

Prav zato so se v devetdesetih letih začele pojavljati zahteve po dovoljevanju patentiranja programske opreme. Zakoni o avtorski zaščiti namreč niso več dovolj, saj večinoma ščitijo celotne programe, ne pa njihovih delov oziroma osnovnih gradnikov. Zagovorniki patentiranja zato trdijo, da gre pri programski opremi za inovativne načine, kako rešiti določen problem znotraj programa, torej lahko program vsebuje na stotine takšnih rešitev, s tem pa na stotine patentov.

VELIKI SE ZGANEJO

Namigi o možnostih patentiranja programske opreme so obrodili »sadove«. Velika podjetja, kot na primer IBM, so hitro zagrabila to možnost. IBM-ova pravna služba je imela s patenti veliko izkušenj, saj so bili (in so še) eden vodilnih igralcev na področju strojne opreme, kjer so bile razmere več ali manj jasne. IBM je patentiral celo vrsto programskih rešitev, pa čeprav nikomur ni bilo jasno, kakšno korist bo, razen morda slave, takšno patentiranje sploh prineslo.

Programske hiše so bile v kopičenju patentov dokaj zadaj. Microsoft je na primer na to področje pošteno stopil šele v tem tisočletju. Leta 2000 so prijavili nekaj čez 1000 patentov, leta 2005 pa že okoli 4500. A številke ne povedo vsega. V letu 2000 je bilo od vloženih patentov odobrenih nekaj manj kot 500, leta 2005 pa okoli 800, torej niti petina.

A kot rečeno, patent ne pomeni ničesar, če za njim ne stoji mehanizem, ki bi omogočal da tisti, ki je patent prijavil, od tega kaj dobi. In tako so leta 2003 najvišji predstavniki Microsofta sedli skupaj in začeli razmišljati, kaj naj z vsemi temi patenti sploh naredijo. Po njihovem mnenju so imeli tri možnosti. Prva je bila, da pustijo vse skupaj pri miru in sčasoma patente brezplačno prepustijo skupnosti razvijalcev. Takšna rešitev se jim ni zdela pametna, saj so se bali, kaj bodo rekli delničarji. Druga možnost je bila, da se spustijo v tožbe in poskušajo preprečiti drugim podjetjem uporabo njihovih patentov. Tudi ta rešitev leta 2003 ni bila sprejemljiva, saj je Microsoft takrat na vse kriplje poskušal vzpostaviti povezave z drugimi podjetji znotraj informacijske tehnologije. Takratna tema je bila namreč interoperabilnost in s tožarjenjem bi si naredili medvedjo uslugo. Zato so se odločili za tretjo pot. Ta je pomenila, da bodo začeli prodajati dovoljenja za uporabo patentov, in to bodisi za denar ali za vzajemni dostop do patentov. Takšne pogodbe je Microsoftu uspelo skleniti s Sunom, Toshibo, SAP-om in Siemensom.

TRN V PETI − ODPRTA KODA

A kaj, ko je tu odprta koda. Ta še zdaleč ni nova stvar, a je vse bolj trn v peti tako Microsoftu kot tudi nekaterim drugim ponudnikom licenčne programske opreme. Dokler je šlo za skupine zanesenjakov, se licenčni ponudniki niso kaj prida obremenjevali. A zdaj Linux in druge odprtokodne zadeve krepko silijo tudi v poslovni svet in povsem naravno je, da se nasprotniki bojijo in da so ubrali različne taktike za uveljavljanje svojega načina dela. Ko so se zavedli, da odprta koda sili na njihovo področje, so jo najprej začeli zaničevati in govoriti, da gre za nekaj, kar je neuporabno, saj ni nobenega zagotovila, da bo stvar delovala in da jo bo mogoče vzdrževati na način, ki je uveljavljen v poslovnem svetu in ki bo ponujal dovolj veliko stopnjo zanesljivosti. A se je izkazalo, da takšna taktika ni dovolj dobra. Nato smo bili priča velikim in grandioznim študijam tako programskih hiš kot tudi velikih analitskih firm, ki naj bi dokazale, da so odprtokodni sistemi v bistvu dražji od licenčnih. A kljub velikim naporom tudi ta taktika ni obrodila ustreznih sadov, saj ni uspela zajeziti pohoda odprtokodnih rešitev. In tako so se zdaj ponudniki licenčnih rešitev odločili da posežejo po tretjem orožju – patentih.

Po Microsoftofi sodbi naj bi jedro operacijskega sistema Linux kršilo 42 patentov, grafični vmesnik 65, OpenOffice.org 45, programi za elektronsko pošto 15, preostalih 68 pa se nanaša na druge programe

KRŠITVE IN PROTINAPADI

Microsoft je tako sredi maja letos objavil, da so njihovi in zunanji strokovnjaki ugotovili, da prosta in odprtokodna srenja krši kar 235 njihovih patentov. Seznam vseh v času pisanja tega sestavka še ni bil na voljo, znana je le njihova kategorizacija. Jedro operacijskega sistema Linux naj bi kršilo 42 patentov, grafični vmesnik 65, OpenOffice.org 45, programi za elektronsko pošto 15, preostalih 68 pa se nanaša na druge programe.
Tudi če bi se s temi ugotovitvami strinjali, to pomeni bore malo. Glede na svojo politiko bi Microsoft moral od akterjev, ki uporabljajo kodo, ki si jo lastijo v Redmondu, dobiti licenčnino. A od koga? Odprtokodna skupnost ni eno podjetje, ampak skupnost posameznikov in manjših skupin. Ena rešitev je seveda v tožbi večjih izdelovalcev distribucij, na primer Red Hata ali Novella, ki programsko opremo dajejo brezplačno, prodajajo pa podporo za te izdelke. A težava je v tem, da je distributerjem prepovedano plačevati licenčnino, saj tako nalaga licenca GPL, ki se je mora držati sistem Linux. Tudi Linux namreč ni brez omejitev, saj je pri njem treba upoštevati pogoj, da je treba vsak programski patent licencirati tako, da ga lahko brezplačno uporablja vsak ali pa ga sploh ni potrebno licencirati.
Žogica je bila torej poslana na del igrišča, ki ga pokrivajo izdelovalci distribucij Linuxa. Bili so med dvema ognjema – na eni strani jim je Microsoft grozil s tožbami, na drugi pa so bili omejeni z GPL-om. To je Microsoft seveda vedel in k Red Hatu, ki je največji med ponudniki distribucij Linuxa, pristopil s taktiko korenčka in palice – če ne boste sodelovali, vas bomo tožili do onemoglosti, če pa boste z nami razrešili težave okoli patentov, boste rešili in še povečali ugled med svojimi strankami. Red Hat je v pogajanja moral pristati, saj se je bal, da bo Microsoft uresničil grožnjo s tožbami. A ne s tožbami Red Hata, saj je bil ta pokrit z licenco GPL, pač pa s tožbami velikih Red Hatovih strank, ki so bili uporabniki teh izdelkov.
Med pogajanji med Red Hatom in Microsoftom je tudi Novell izvedel, da se nekaj dogaja. In ker niso hoteli izviseti, so pristopili k Microsoftu z željo po skupnem iskanju poti za boljše sodelovanje med strežniki obeh hiš. Microsoft je v to sicer privolil, a s pogojem, da se tehnične zadeve rešijo šele takrat, ko bodo rešena vprašanja patentov.
Zasedali so vse poletje in novembra lani prišli na plan z zvito, kontroverzno in zapleteno pogodbo. Vedeli so, da če bi Novell plačal Microsoftu patentnino v zameno za zagotovilo, da Microsoft ne bo tožil Novell zaradi kršenja patentov, bi s tem kršili licenco GPL. Zato so spisali pogodbo, po kateri Microsoft in Novell ne bosta tožila strank drug drugega glede kršenja patentov. To pa je nekaj, česar GPL ne pokriva. Dogovorili so se tudi za pogoje – Novell bo do leta 2001 Microsoftu plačal določen odstotek svojega dohodka iz Linuxa ali najmanj 40 milijonov dolarjev. Microsoft bo na drugi strani plačal Novellu 240 milijonov dolarjev za »kupončke«, ki jih bodo lahko Microsoftove stranke zamenjale za Novellovo strežniško programsko opremo, poleg tega pa bo Microsoft plačal še 108 milijonov dolarjev za »izravnavo« v povezavi s patenti.
Seveda se je takoj pojavil dvom. Glede na zapisano bi namreč Microsoft plačal bistveno več kot Novell, čeprav je on tisti, ki javka zaradi kršenja patentov. A ni čisto tako. Ko je Microsoft napovedal zbiranje informacij o kršenju njihovih patentov, nasprotna stran seveda ni sedela križem rok. Tudi oni so se pripravljali na boj. In prav tu je iskati vzroke za takšno pogodbo. Novell je namreč v omrežnem svetu že zelo dolgo, bistveno dlje kot Microsoft. To pa pomeni, da imajo tudi oni kakšnega konja za patentno dirko. In to so jasno povedali tudi pri Microsoftu, saj so rekli, da je tistih 108 milijonov za izravnavo namenjeno prav temu – plačilu patentnine Novellu za njihove omrežne rešitve, ki bi jih Microsoft lahko kršil. In ker Microsoft proda več omrežnih rešitev, je povsem logično, da del dobička preda Novellu, kot bo Novell njim dal delež dobička od Linuxa.
Pogodba je za Novell očitno dobra, manj pa ja zadovoljen Red Hat, ki nima takšnega asa v rokavu. In seveda so tam zaskrbljeni, kaj bo. Zdaj krivijo Novell, da je Microsoftu omogočil moralno zmago. Po njihovem se zdaj lahko Microsoft hvali s tem, da je Novell priznal kršenje patentnih pravic.
A težava ni bila v priznavanju krivde. Odprtokodna srenja se je prestrašila, da bi vsi večji distributerji Linuxa popustili in sklenili pakt z Microsoftom. S tem bi svoje stranke obvarovali pred Microsoftovimi tožbami, a bi na suhem pustili male razvijalce, ki takšne pogodbe niso v stanju podpisati. Odprtokodna komuna pa ravno sloni na teh malih razvijalcih in veliko vprašanje je, kaj bi se zgodilo z odprto kodo čez pet let, če bi se to res zgodilo.
Da do tega ne bi prišlo, se je odprtokodna srenja domislila nadgradnje licence GPL, ki bi onemogočila sklepanje takšnih pogodb. Konec marca letos so zato izdali novo, popravljeno različico GPL. Njen najpomembnejši del je, da če Microsoft nadaljuje s prodajo kupončkov, ki jih je mogoče zamenjati za Novellov Linux, se mora s tem držati licence GPL, s pa tem ni več upravičen do tožb ne le več Novellovih strank, ampak vseh uporabnikov Linuxa. Microsoft seveda pravi, da to ni res, a tudi če imajo prav, bo GPL preprečil drugim distrbuterjem, da bi sklenili podobno pogodbo kot Novell.

KAOS

In zdaj smo pravzaprav v popolnem kaosu. Na eni strani imamo distributerje Linuxa, ki se morajo držati nove licence GPL, hkrati pa trepetati pred tožbami Microsofta, ki grozi z napadom na njihove stranke. Potem so tu tisti, ki se jim je zdela pogodba med Microsoftom in Novellom dobra (Credit Suisse, Deutsche Bank, Wal-Mart, Dell …) in so že kupili kupončke za Novellov Linux, hkrati pa se zavarovali pred Microsoftovimi tožbami. Tretji akter je Microsoft, ki je upal, da bo s pogodbo z Novellom nekako uveljavili model, s katerim bo zaščitil to, kar sodi, da je njegovo, a se je vse skupaj podrlo.
Kaj bo zdaj? Očitno bodo morali pravniki nazaj h koreninam in ugotoviti, ali je programsko opremo sploh mogoče patentirati, in če že, potem kako. Ali je algoritem mogoče patentirati? Ali je mogoče patentirati stavek? Je mogoče patentirati zaporedje not v skladbi? Je mogoče patentirati nekaj takšnega, kot je na primer Pitagorov izrek ali drugi Newtonov zakon? Mislim, da ne. Je pa res, da živimo v svobodnem svetu, kjer lahko, če tako želimo, kupcem zaračunamo marsikaj, če so ti pripravljeni to plačati. In če to res dovoljujemo, moramo to idejo nekako zaščititi. A kako? Zakoni o avtorski zaščiti po mnenju zagovornikov licenčne programske opreme niso dovolj. In ker jim ni padlo nič drugega na pamet, so hoteli svojo voljo uveljaviti prek patentov.

Zoran Banović