Iparjogvédelmi és Szerzői Jogi Szemle, 2005 (110. évfolyam, 1-6. szám)
2005 / 3. szám - Dudás Ágnes: A szoftver szerzői jogi védelme – II. rész
A szoftver szerzői jogi védelme - II. rész 13 munkaköri kötelességként is — a kód többszörözésére vagy (vissza)fordítására egy speciális információhoz való hozzájutás érdekében. Ezen információ kizárólagosan azon célt szolgálhatja, hogy a visszafejtett szoftvert más szoftverekkel együtt tudja működtetni a felhasználó. A központi fogalom tehát az „interoperabilitás” megteremtése. A reverse engineering Azon eljárást, amelynek keretében a tárgykódból különféle, a továbblépéshez szükséges információkat nyernek, reverse engineeringnek nevezzük. Ennek egyik eszköze a dekompiláció, ami a tárgykódnak egy visszafordítóprogram segítségével forráskódba visszafordítását jelenti. Amiévén, hogy rengeteg fordítóprogram (kompiláló program) létezik - amennyiben a visszafordításhoz nem jó dekompiláló programot (azaz nem az eredeti kódolásnak megfelelőt) használunk, a kívánt információk helyett egy értelmetlen és értelmezhetetlen karaktersorhoz jutunk. Ezért általában, [ha a fordítóprogram „ujjlenyomata” (fingerprint) alapján nem képes a fordítást végző azonosítani a programot] akkor egy alap programozási nyelvre, assemblybe fordítja.23 Ezen lehetőség bármiféle tárgykód esetében fennáll, ám azzal a kockázattal, hogy a szerző kommentársorait nem nyerjük vissza, és az assembly csak szakember számára olvasható programnyelv. A dekompilált sorokat aztán az esetleges változtatásokat követően természetesen lehet rekompilálni, amely eljárást követően újra tárgykódban lévő programhoz jutunk. A de- és rekompiláció lényegi elemei tehát egyrészt a fordítás, másrészt pedig egy speciális többszörözés. Ezen eljáráshoz való hozzájárulás tehát a szerzőknek általában nem is áll érdekükben. Érthető tehát, hogy a szoftverirányelv elfogadásakor ezen pontok körül alakult ki a legnagyobb vita. Különböző előfeltételek együttállása esetében lehet egyáltalán szó a fenti eljárások jogszerű alkalmazásáról. A revese engineering más módszerei még például a „dumpolás”, a disk editor, a debuggoló programok.24 Az információhoz való alternatív hozzájutás hiánya Amennyiben a megkívánt információkhoz szabad hozzájutást biztosít a szerző, a programot nem kell felfejteni. Ahogy erre a szabad szoftverek esetében példát találunk, hiszen kötelező jelleggel megadják a kódot magát, vagy elérhetővé teszik az interneten. Ezzel kapcsolatos kérdésként merül fel, hogy milyen tágan értelmezhető az a kitétel, hogy a megkívánt információt „könnyedén megismerhető”-nek tekintjük. Ide soroljuk a régebben nyilvánosságra hozott, ám kis kutatással fellelhető információkat. Azonban a könnyen hozzáférhetőség mindig egyedi mérlegelést megkívánó fogalom. Ellenpéldaként viszont ide tartozhat, ha az információt további ellenszolgáltatásért cserébe kínálják fel. Ugyancsak kérdés, hogy kinek az érdekében áll az információhoz jutás biztosítása, elvárható-e a felhasználótól, 23 -Érdekességként megjegyzendő, hogy az első disassembler körülbelül 1950-ből származik. Bernd Lietz: Technische Aspekte des Reverse Engineering. CR 1991, 9. sz. p. 565-566. hogy a fejlesztő felkeresésével időt töltsön annak érdekében, hogy a dekompiláció ne minősüljön joggal való visszaélésnek? A német kommentár álláspontja szerint rövid határidő mellett a fejlesztő felkeresése és felszólítása az adat szolgáltatására jogos elvárás.25 Az információk célhoz kötött volta Alapvető feltétel tehát, hogy a megszerzett információk ténylegesen a programok együttműködtetésének lehetőségét biztosítsák. Minden más céllal történő visszafejtés engedélyköteles. Ugyanúgy nem szabad ötletek megszerzése céljából dekompilálni, mint ahogy jogsértés bizonyítása sem megengedett26 ezen a módon. (Amennyiben bíróság rendeli el a szakértő általi dekompilációt, az persze más eset, ám a bíróság jogosult a sokkal egyszerűbb utat is választani, kérni a forráskód kiadását.) Sőt a felhasználó arra sem jogosult, hogy a szoftver hibáját ezúton bizonyítsa, hiszen - bár az is nemes cél - mégsem felel meg az irányelv és a törvény szövegének, amely szerint egyértelműen csak „önállóan megalkotott szoftver más szoftverekkel való együttes működtetéséhez szükséges információ megszerzése érdekében” járhat el. A szabályozáson látszik, hogy alku eredménye, hiszen a visszafejtés nem használható sem a felhasználó érdekeit közvetlenül szolgáló testre szabás céljából, sőt még kutatási célokból sem. Érdekes azonban, hogy a kompatibilissé tétel abban az esetben engedélyezett, ha egy konkurens programmal akarják együttműködésre bírni.27 Ugyancsak speciális eset a hardverrel való együttműködés, együttműködtetés, hiszen a szöveg szó szerint csak a szoftverekhez való illesztést engedi. A mai modem hardverelemek lehetővé teszik a szoftverek hardveres implementálását, azaz szoftverfeladatok hardverben történő ellátását. Ez pedig indokolttá tenné a dekompilálás engedélyezését ebben az esetben is. Hiszen ennek elmaradása a piac megosztásához28 vezethetne, ami versenyjogi aggályokat vetne fel. A szoftvergyártók általában ellátják terméküket interfész-specifikációval, mely esetenként azonban nem teljes körű, így a visszafejtés elkerülhetetlen. Ám az abból nyert információk (akár az interfészalkotó kódja is) a visszafejtő rendelkezésére állnak. Ezek közül azonban a szabályozás alapelvének megfelelően elsődlegesen a specifikációt kell kiegészíteni és azt használni, nem pedig a konkrét kódot átemelni. A személyi kör A dekompilálás három személyt érinthet. A felhasználási szerződésben jogosítottat vagy a szoftver felhasználására jogosult más személyt (pl.: munkaviszony alapján eljárót), illetve ezek megbízottját, aki semmiféle közvetlen viszonyban nem áll a szerzővel. Ezen személy eljárási jogosultságát elég polgári jogi jogviszonnyal igazolni. A személyi Grützmacher, Rn. 15 Drew, GRUR, 1993, p. 781-785 Grützmacher, Rn. 10 p. 746. Egyes hardverelemek csak bizonyos szoftvcrcsoportokkal futnának együtt, ami termék-összekapcsolódásokhoz vezetne.