Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Moj softver, moj izbor


09 September 2012

Moj softver, moj izbor

Choice Prošle nedelje pisali smo o povlačenju vlade Novog Zelanda; u poslednjem trenutku obrisala je kontroverznu odredbu u svom novom Predlogu zakona za patente uz obrazloženje da "kompjuterski program nije pronalazak prikladan za patentiranje." Zamenili su je drugom kontroverznom izjavom u kojoj se navodi da “kompjuterski program nije izum”, ali “to se odnosi samo na kompjuterski program kao takav”. (vidite NZ Government Backtracks – to Europe – on Software Patents.)

Osnovna ideja koja stoji iza ove promene je da se uveze oko 30 godina star zakonski sistem Evrope i Velike Britanije u kome se objašnjava šta je kompjuterski program “kao takav” u očekivanju da će se time, između ostalog, omogućiti patentiranje pronalazaka koji se implementiraju uz pomoć ugrađenih softverskih sistema.

Činjenica je da neki ljudi nisu zadovoljni ovim "razvodnjavanjem" predloga o isključivanju kompjuterskog programa. Konkretno, grupa koja sebe naziva No Software Patents in NZ postavila je site no.softwarepatents.org.nz sa zahtevom da se formulacija “kao takav” zameni klauzulom u kojoj se navodi da isključenje kompjuterskog programa “ne sprečava patentiranje izuma koji koristi ugrađeni kompjuterski program.”

Po našem mišljenju, bila bi to loša ideja iz najmanje dva razloga. Prvo, ne postoji određena definicija 'ugrađenog računarskog programa', što ostavlja veliki prostor za nedefinisanost. Svaki podnosilac zahteva za patent, čija je prijava odbijena po ovom osnovu, mogao bi da krene na sud naoružan argumentima i dokazima eksperata koji tvrde da se određeni izum odnosi (ili može odnositi) na ugrađeni kompjuterski program. Čak i da sada imamo jasnu definiciju, malo je verovatno - na osnovu iskustva iz prošlosti - da bi preživela test vremena.

Drugo, dok je novozelandska debata, izgleda, postala čudno opsednuta ugrađenim softverima kontrolera za kućne aparate, kao što su mašine za pranje veša, ovo nisu jedine vrste softvera čije odobravanje zaštite softvera donosi direktnu korist.

Vremenom smo uočili da oni koji se protive patentiranju softvera imaju veoma ograničen pogled na ulogu softvera u čitavom nizu naučnih i inženjerskih primena. Primedbe na patente zajedničkih web tehnologija, rasprostranjenih mogućnosti operativnih sistema, komponenti široko primenjivanih potrošačkih i programerskih aplikacija, kao što su programi za obradu teksta, web pretraživači i prevodioci, potpuno su razumljive. Ali, tipičan odgovor na te primedbe - poziv na zabranu svih softverskih patenata, ili skoro svih s malim brojem izuzetaka, nema nikakvog smisla.

ŠTA JE UGRAĐENI SOFTVER?

Nismo sigurni šta Wikipedia kaže o ugrađenom softveru u svom članku ali trenutno je to samo delić - i to ne baš dobar. Počinje tvrdnjom:

Ugrađeni softver je računarski program koji igra vaznu ulogu u elektronici koja je njime opremljena.

Glavna uloga ugrađenog softvera nije informaciona tehnologija (tj. ne radi se o informacijama i tehnologijama koje pružaju informacione usluge), već interakcija sa fizičkim svetom. Pre svega, napisan je za mašine koje nisu računari.

Pretpostavljamo da to treba da znači kako ugrađeni softver nije napisan za kompjutere opšte namene.

Tekst o ’ugrađenim sistemima’ mnogo je bolji:

Ugrađeni sistem je računarski sistem namenjen specifičnim kontrolnim funkcijama u okviru većeg sistema, često sa računarskim ograničenjima u realnom vremenu. Ugrađen je kao deo kompletnog uređaja, često obuhvata hardver i mehaničke delove. Nasuprot tome, računar opšte namene, kao što je personalni računar (PC), dizajniran je da bude fleksibilan i da zadovolji širok spektar potreba krajnjih korisnika. Ugrađeni sistemi kontrolišu mnoge uređaje koji su danas u opštoj upotrebi.

Međutim, mnoge raznovrsne primene ugrađenih sistema, navedenih u članku, obuhvataju:
  1. telefonske centrale u komunikacionim mrežama, kao i mobilne telefone krajnjih korisnika;
  2. elemente računarskog umrežavanja, uključujući rutere i mrežne mostove;
  3. robu široke potrošnje kao što su: personalni digitalni asistenti (PDA), MP3, konzole za video-igrice, digitalne kamere, DVD, GPS prijemnici i štampači;
  4. kućne aparate, uključujući mikrotalasne rerne, mašine za pranje veša i mašine za pranje sudova;
  5. primene u saobraćaju, uključujući avione i auto-sisteme;
  6. medicinsku opremu i sisteme za snimanje.
Nekoliko uređaja sa navedene liste smatrali bi se kontroverznim pre desetak godina, ali sada se već postavlja pitanje mogu li se oni smatrati “ugrađenim sistemima”. Među spornim uređajima su mobilni telefoni, personalni digitalni asistenti, MP3 (iPod zasigurno ne predstavlja samo “ugrađeni sistem”) i konzole za video igrice.

Sada je teško odrediti ugrađeni sistem prema korisničkom interfejsu:

Ugrađeni sistemi kreću se u rasponu od onih koji uopšte nemaju korisnički interfejs - posvećenih samo jednom zadatku - do složenih grafičkih korisničkih interfejsa koji podsećaju na savremene računarske desktop operativne sisteme. Jednostavni ugrađeni uređaji koriste tastere, LED diode, grafički ili LCD (npr. popularni HD44780 LCD) sa jednostavnim sistemom menija.

Sve je teže uočiti ugrađeni sistem na osnovu osnovnog profila hardvera:

Duga, ali ne potpuna lista uobičajenih arhitektura [procesora] obuhvata: 65816, 65C02, 68HC08, 68HC11, 68k, 78K0R/78K0, 8051, ARM, AVR, AVR32, Blackfin, C167, Coldfire, COP8, Cortus APS3, eZ8, eZ80, FR-V, H8, HT48, M16C, M32C, MIPS, MSP430, PIC, PowerPC, R8C, RL78, SHARC, SPARC, ST6, SuperH, TLCS-47, TLCS-870, TLCS-900, TriCore, V850, x86, XE8000, Z80, AsAP i druge.

Među navedenim procesorima naći ćete i neke koji se nalaze u tabletima, pametnim telefonima, u notebook i desktop računarima, kao i u širokom spektru računarskih uređaja za opšte i specijalne namene.

Možete pokušati da raspravljate govoreći da uređaj na kome možete igrati Angry Birds ima previše opštu namenu da bismo ga kvalifikovali kao “ugrađeni sistem”. Ali, taj argument verovatno ne bi dugo opstao, što dokazuje i ovaj YouTube video koji prikazuje kućne aparate koji rade na Android platformi!

Ne samo da više ne postoji jasna linija razgraničenja između ugrađenih sistema i računara za opštu namenu, već je najveći deo te promene nastupio u vremenskom periodu kraćem od deset godina, a mi možemo samo da nagađamo šta se može desiti u narednih 10, 20 ili 30 godina. Možda ćemo videti sve veći spektar namenskih uređaja ugrađenih u ljudsko telo (pejsmejkeri, bioničke uši i ostali medicinski implanti), ali samo je pitanje vremena kada će ljudi postati visoko-integrisani sa svojim uređajima za opšte namene.

Očigledno je da bi parlament koji usvoji zakon sa tako neodređenim i privremenim terminom kakav je “ugrađeni softver” morao biti prilično nepromišljen.

NIJE REČ SAMO O “UGRAĐENOM SOFTVERU”

Nije jedini problem to što ugrađeni softver nije dobro definisan. Ima i drugih vrsta softvera, uključujući i aplikacije koje se pokreću na kompjuterima opšte namene za koje se tvrdi da zaslužuju patentnu zaštitu.

Još u oktobru prošle godine pisali smo o odluci Velike Britanije u vezi sa primenom kompjuterskih pronalazaka koje su razvili Halliburton Energy Services Inc (pogledajte Computer-Aided Design Method Held Patentable in UK).  Dotični pronalazak bio je potpuno primenjen u softveru. Nije direktno kontrolisao ništa što radi u “fizičkom svetu”. Mogao je biti (najverovatnije i jeste) aplikacijski program koji radi u kompjuteru opšte namene, kao što je desktop radna stanica ili PC.

Drugim rečima, bez obzira na to koje karakteristike “ugrađenih sistema” iz navedenih primera izaberete, pronalazak Halliburton-a ne bi se kvalifikovao za tu kategoriju.

Ipak, rekli bismo (i Vrhovni sud Velike Britanije se složio) da pomenuti pronalazak predstavlja vrstu izuma koja zaslužuje zaštitu patentata. Sud je to opisao ovako:

Metod primene kompjutera za dizajniranje burgija uključuje simulaciju performansi zasnovanu na proračunima trodimenzionalne mreže za svaki element sečenja, za formaciju zemljišta i upotreba tih proračuna za određivanje sila koje deluju na svaki segment mreže elementa koji se buši, a zatim i za određivanje sila i pritisaka koji deluju na svaki element sečenja.

Bio je to pronalazak razvijen posebno za sektor rudarstva. Omogućio je dizajniranje burgija efikasno prilagođenih za sečenje specifičnih stena. Njegov rezultat nije stvarna burgija, već dizajn burgije - tj. datoteka sa podacima koji se mogu iskoristiti za pravljenje burgije.

Imamo iskustva sa kompjuterskim dizajnom i sistemima za inženjering (CAD/CAE), kao dokazuje i ovaj patent.  Naš izum je bio metod poboljšanja preciznosti sa kojim se očekivana greška u performansama sistema prenosa optičkog vlakna može proceniti kombinacijom Monte Carlo simulacije i tehnika analitike. Poznato je da su postojeće metode precenjivale performanse, što znači da su stvarni instalirani sistemi morali biti konzervativno osmišljeni da bi omogućili dodatnu marginu greške. Bolja tehnika može da smanji nagađanje i potencijalno uštedi milione dolara uloženih u primenu sistema koji je komplikovaniji od neophodnog.

Kada pročitate patent - pod pretpostavkom da razumete matematiku - sve izgleda veoma jednostavno. Međutim, razvoj teorije, algoritama i stvarne primene do tačke kad se može uspešno implementirati na komercijalni proizvod trajao je oko šest meseci, sve ukupno, a u procesu je učestvovao čitav tim, ne samo programera, već i doktora matematičkih nauka i inženjera za optičke kablove.

Pošto smo proizveli nešto što je moglo dati razumne rezultate - ili, ako u tome ne uspe, bar će pružiti podatke o greškama - bez obzira na to da li će krajnji korisnici to odbaciti, morali smo da objavimo osnovne algoritme u svojim priručnicima! Zašto? Zato što inženjeri za komunikaciju nisu voljni da poveruju rezultatima proračuna zasnovanim na “tajnim” algoritmima. Dakle, bez zaštite patenata, ništa ne bi sprečilo konkurente da jednostavno iskopiraju rezultate istraživanja i razvoja iz naše dokumentacije.

Naš softver radi na desktop računarima i Unix (Solaris ili Linux) serverima. To je bio aplikacijski softver i nikakvim maštovitim izvrtanjem nije mogao biti opisan kao “ugrađeni”. Takođe, predstavljao je nešto što daleko prevazilazi iskustva većine onih koji se zalažu za anti-softverske kampanje.

CAD/CAE aplikacije nisu jedini softver koji ima ove vrste razvojnih troškova i zahteva za smislenu IP zaštitu. Ne bismo želeli da predupređujemo potrebe sadašnjih i budućih programera u širokom spektru delovanja tako što ćemo stvarati izuzetke. Međutim, iz iskustva u Velikoj Britaniji, znamo da dozvola za patentiranje izuma primenjenih u računarstvu, sve dok nisu za kompjuterske programe kao takve, omogućava patentiranje tehnoloških izuma.

ZAKLJUČAK

Kad se sve uzme u obzir, ako posao može biti uspešniji razvojem i uvođenjem novog proizvoda na tržište, ako može biti održiv na duži rok, ako može da raste, opslužuje i širi svoje tržište, ako može da uvede nova radna mesta i obezbedi ekonomsku korist tako što će dobiti patentnu zaštitu za svoje ključne nove tehnologije, onda ga treba dozvoliti i podsticati. Ne treba praviti razliku da li se ta tehnologija primenjuje na softver u potpunosti ili samo delimično. Proizvoljna isključenja poriču zaštitu intelektualne svojine čitave industrije koja je drugima na raspolaganju.

Niko nikoga ne primorava da patentira pronalaske koji se primenjuju u računarstvu. Niko se ne zalaže za patente tamo gde su, očigledno, neekonomični. Podjednako je lako izbeći tuženje kao i izbeći izlazak na tržište i ne zaraditi novac ili uzimati tržišni udeo od aktuelnog učesnika na tržištu.

Negiranje patentne zaštite čitavom tehnološkom sektoru uskraćuje poslovanju tog sektora izbor dostupan gotovo svim ostalim inovatorima. To ne treba da se radi bez zaista dobrog razloga. U komercijalnom svetu ima mnogo programera i inženjera koji bi voleli da vide leđa abolicionistima. Patenti nisu dobri za svaki posao, ali u slučajevima kad zaštita patenata ima smisla i dodaje vrednost preduzeću, programeri treba da uzviknu: “Moj softver, moj izbor!” U ovom kontekstu, aktivisti za ukidanje softverskih patenata bore se za ukidanje izbora.

Rasprava o softverskim patentima neće se uskoro završiti. Ipak, najviše razočarava činjenica da je u proteklim dekadama načinjen tako mali napredak u pogledu razumevanja i razmatranja kompleksnosti problema softvera i patenata otkako su odobreni prvi patenti za izume u računarstvu. Zar je moguće da se naša najistančanija argumentacija svodi na veštačku distinkciju između “ugrađenog softvera” i “svih ostalih softvera”? Nadajmo se da nije.

Published (Last edited): 29-04-2013 , source: http://blog.patentology.com.au/2012/09/my-software-my-choice.html