作者:何國(guó)銘律師 (專于商標(biāo)犯罪與商業(yè)秘密犯罪案件控告及辯護(hù))
計(jì)算機(jī)軟件包括程序與文檔,計(jì)算機(jī)程序是指為了得到某種結(jié)果而可以由計(jì)算機(jī)等具有信息處理能力的裝置執(zhí)行的代碼化指令序列,或可被自動(dòng)轉(zhuǎn)換成代碼化指令序列的符號(hào)化指令序列或者符號(hào)化語(yǔ)句序列。文檔,是指用來(lái)描述程序的內(nèi)容、組成、設(shè)計(jì)、功能規(guī)格、開發(fā)情況、測(cè)試結(jié)果及使用方法的文字資料和圖表等,如程序設(shè)計(jì)說明書、流程圖、用戶手冊(cè)等。
計(jì)算機(jī)文檔與程序中的技術(shù)信息均能被認(rèn)定為商業(yè)秘密,但與文檔相比,計(jì)算機(jī)軟件編程中的源代碼與目標(biāo)代碼是常被進(jìn)行司法鑒定的主要檢材。
源代碼與目標(biāo)代碼是不一樣的概念,程序員在編程中所編寫出來(lái)的文本是源代碼,是按照某種特定語(yǔ)言的慣例和規(guī)則編寫的,對(duì)人類來(lái)說,這些代碼是可讀的,程序員能對(duì)源程序進(jìn)行交流,但計(jì)算機(jī)不能直接理解這種以英文或者其他人類語(yǔ)言編寫的指令。因此,只要將這些人類可讀的源代碼編譯成機(jī)器可執(zhí)行的代碼,才能在計(jì)算機(jī)運(yùn)行。這些被編譯后的代碼表現(xiàn)為一串二進(jìn)制數(shù)(由“0”和“1”組成)指令編碼,我們將之成為目標(biāo)代碼。盡管目標(biāo)代碼已經(jīng)是機(jī)器指令,但還不能獨(dú)立運(yùn)行,還需解決函數(shù)調(diào)用問題,將目標(biāo)代碼與庫(kù)函數(shù)(函數(shù)庫(kù)、動(dòng)態(tài)鏈接庫(kù))鏈接,才能形成完整的可執(zhí)行程序。
就計(jì)算機(jī)軟件程序而言,其可成為著作權(quán)和商業(yè)秘密的保護(hù)對(duì)象,但由于保護(hù)目的與法律規(guī)制的不同,軟件程序作為著作權(quán)保護(hù)與作為商業(yè)秘密保護(hù)存在差異。基于對(duì)軟件著作權(quán)的保護(hù)不延及開發(fā)軟件所用的思想、處理過程、操作方法或者數(shù)學(xué)概念等,故對(duì)軟件的鑒定主要是外在表達(dá)方式進(jìn)行鑒定,如對(duì)源代碼及目標(biāo)代碼進(jìn)行鑒定。而商業(yè)秘密所保護(hù)的計(jì)算機(jī)程序及文本中所蘊(yùn)含的技術(shù)信息秘密,其中也包括程序和文檔中開發(fā)軟件的“思想、處理過程、操作方法或者數(shù)學(xué)概念等,商業(yè)秘密可涵蓋的范圍要比著作權(quán)大,但以侵犯商業(yè)秘密案件處理,需進(jìn)行非公知性鑒定與同一性鑒定。
某一軟件獲得商業(yè)秘密保護(hù)的法定條件與其獲得著作權(quán)法保護(hù)的法定條件不同,有些案件即使能獲取著作權(quán)保護(hù),但不一定能以商業(yè)秘密來(lái)保護(hù)。軟件著作權(quán)之鑒定,重點(diǎn)在于權(quán)利軟件與侵權(quán)軟件之相似性鑒定,而商業(yè)秘密案中除判斷技術(shù)信息是否相同或?qū)嵸|(zhì)性相同外,還需在此之前進(jìn)行非公知鑒定。爾后司法人員結(jié)合涉案軟件是否具有價(jià)值性,權(quán)利人是否采用合理的保密措施等,辨析涉訴的技術(shù)信息是否能構(gòu)成商業(yè)秘密。一般而言,若是權(quán)利人曾向國(guó)家版權(quán)局進(jìn)行著作權(quán)登記,則以著作權(quán)尋求救濟(jì)會(huì)簡(jiǎn)單得多,以已登記的軟件源代碼作為樣本,與侵權(quán)產(chǎn)品使用的源代碼作相似性鑒定即可。
計(jì)算機(jī)軟件以商業(yè)秘密的形式獲取保護(hù)時(shí),其在非公知性鑒定與同一性鑒定中均有難點(diǎn)。“非公知性”鑒定,即鑒定權(quán)利人所主張的技術(shù)信息不為公眾所知悉。需判斷其是否符合非普遍知悉與非容易獲取的條件,如被追訴人所使用的源代碼是否為開源代碼,是否為公開、公用代碼,或是否為第三方代碼。在開發(fā)過程中,被追訴人是否使用反編譯的方式獲取權(quán)利人的源代碼,被追訴人是否使用反向工程。權(quán)利人主張的源代碼是否在公開的報(bào)告會(huì)、展覽等方式公開,或該代碼是否在專業(yè)的期刊雜志中發(fā)表,又是否僅從網(wǎng)站頁(yè)面上即可搜索獲知源代碼的。此公開信息,或無(wú)需付出一定的代價(jià)即可容易獲得的技術(shù)信息,不應(yīng)構(gòu)成商業(yè)秘密。
此外,在非公知性鑒定中,權(quán)利人需要對(duì)軟件的源代碼梳理,整理出其自主編寫的屬于秘點(diǎn)的技術(shù)信息,但現(xiàn)實(shí)中往往是軟件權(quán)人在開發(fā)軟件時(shí),一般會(huì)使用到開源代碼、第三方代碼與自主代碼,經(jīng)開源的公共代碼自然具有公知性,故應(yīng)排除在商業(yè)秘密的范疇。對(duì)使用了第三方代碼的,需權(quán)利人出示第三方代碼的授權(quán)文件,但常有權(quán)利人刪除和隱瞞相關(guān)引用的事實(shí)證據(jù),由此致使鑒定難度增大。
在同一性鑒定中,由于偵查人員無(wú)法查獲被追訴人所使用的完整源代碼,因此,鑒定人對(duì)被追訴人軟件的目標(biāo)代碼進(jìn)行反編譯,在得到匯編程序后,再進(jìn)行比對(duì)。此做法的難點(diǎn)在于軟件源代碼的反編譯是一個(gè)復(fù)雜的過程,由 C、C++、VB 等語(yǔ)言編寫的軟件程序不容易被反編譯;由JAVA、NET 平臺(tái)下的編程語(yǔ)言(如C#、VB. NET、C++. NET、F# NET)編寫的軟件程序容易被反編譯;由 Delphi設(shè)計(jì)的軟件程序中窗體代碼容易被反編譯,而邏輯執(zhí)行部分代碼不容易被反編譯。此外,代碼中通常是經(jīng)過多層加密,從目標(biāo)代碼到源代碼的反編譯的過程,不亞于反向工程,工作量是非常巨大。有人主張,在源代碼無(wú)法獲取的情況下,則可對(duì)目標(biāo)代碼進(jìn)行鑒定,將權(quán)利人編譯后的目標(biāo)程序與被告人目標(biāo)程序進(jìn)行比較。
此外,在進(jìn)行鑒定前,鑒定人員需做一些核對(duì)工作,鑒定人會(huì)將權(quán)利人所遞交的源代碼與其軟件產(chǎn)品中的目標(biāo)代碼進(jìn)行比較,以確認(rèn)所遞交的源代碼真實(shí)。具體操作為將源代碼通過編譯的方式獲取目標(biāo)代碼,再將編譯完成的目標(biāo)代碼與產(chǎn)品中的目標(biāo)代碼進(jìn)行比較。另,鑒定人也需對(duì)從被追訴人處查獲扣押的軟件源代碼與侵權(quán)產(chǎn)品的目標(biāo)代碼進(jìn)行比對(duì),其確定所查獲的源代碼是真實(shí)的,此舉之目的在于核實(shí)源代碼的真實(shí)性。實(shí)踐中,有些被追訴人會(huì)將侵權(quán)源代碼放置于較為隱蔽的地方,偵查機(jī)關(guān)難以查獲,或出于迷惑辦案人員,躲避偵查之動(dòng)機(jī),案發(fā)前偽造一份虛假的源代碼。因此,鑒定人在鑒定前,需要將該源代碼與目標(biāo)代碼進(jìn)行比較,以確定查獲的是真實(shí)的源代碼,而非偽造的源代碼。
鑒定機(jī)構(gòu)接受商業(yè)秘密鑒定委托后,會(huì)委托專業(yè)檢索機(jī)構(gòu)進(jìn)行技術(shù)查新,爾后鑒定人再補(bǔ)充檢索。常見的查新網(wǎng)站,除了谷歌、百度等搜索網(wǎng)站外,查新人員會(huì)通過開源軟件的方式查新,常見的源代碼搜索網(wǎng)站如Searchcode、Github及Krugle等都是主流的開源軟件網(wǎng)站。此外,檢索人員會(huì)通過軟件專利的方式進(jìn)行查新,查證權(quán)利人所主張的代碼是否已被他人申請(qǐng)專利。
鑒定人在作同一性鑒定中,使用的鑒定方式一般有以下四種。一是逐句對(duì)照法。這是一種傳統(tǒng)的參照文字作品的鑒定方案,即將軟件作品進(jìn)行逐字逐句的對(duì)照。二是“全部觀念及感覺”對(duì)照法。從整體感官出發(fā),判斷檢材與樣本的相似度,這種方法操作簡(jiǎn)單,但缺乏一個(gè)客觀的評(píng)判標(biāo)準(zhǔn),給予了鑒定人較多的主觀性與自由性。三是“結(jié)構(gòu)、順序與組織”方法,又稱SSO規(guī)則。結(jié)構(gòu)是一個(gè)程序中的各個(gè)組成部分,如指令、語(yǔ)句、程序段、子程序和數(shù)據(jù)結(jié)構(gòu)等;順序是讓計(jì)算機(jī)先執(zhí)行哪些結(jié)構(gòu),后執(zhí)行哪些結(jié)構(gòu)的前后次序,即程序中的處理流程;組織是指這些結(jié)構(gòu)之間、流程之間以及結(jié)構(gòu)和流程之間的相互關(guān)系(如層次嵌套關(guān)系、調(diào)用從屬關(guān)系、串行并行關(guān)系等)的總體安排。四是抽象—過濾—比較三步判斷法,又稱AFC規(guī)則。首先要對(duì)程序抽象為代碼、子程序、模塊等層次,然后再進(jìn)行逐級(jí)抽象,將屬于公共領(lǐng)域的表達(dá)部分過濾,將剩下的“表達(dá)”進(jìn)行比較。
結(jié)語(yǔ):計(jì)算機(jī)軟件應(yīng)用廣泛,在生產(chǎn)經(jīng)營(yíng)中起著十分重要的作用。近年來(lái),全球及我國(guó)計(jì)算機(jī)軟件行業(yè)高速發(fā)展,涉計(jì)算機(jī)軟件的知識(shí)產(chǎn)權(quán)犯罪案件逐年增加。在此類案件中,司法鑒定意見是重要的定罪量刑證據(jù),然而,因司法鑒定存在諸多不規(guī)范的情形,導(dǎo)致在認(rèn)定案件事實(shí)上陷入困境。對(duì)此,作為辯護(hù)律師,我們更應(yīng)了解計(jì)算機(jī)軟件司法鑒定的過程,以期尋找有效辯護(hù)要點(diǎn),依法合理辯護(hù),為當(dāng)事人爭(zhēng)取最大利益。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.