作者;何國銘律師 (專于商標(biāo)犯罪與商業(yè)秘密犯罪案件控告及辯護(hù))
在我們之前所撰寫的文章中已經(jīng)對(duì)軟件代碼類的侵犯商業(yè)秘密案件中的司法鑒定問題作了些探討。最近,有不少案件當(dāng)事人家屬找到我們,意向委托我們辦理相關(guān)案件,并對(duì)涉軟件代碼的商業(yè)秘密鑒定作了很多咨詢?;诖?,我們與鑒定專家交流,并結(jié)合自身的辦案經(jīng)驗(yàn),在此再作些探討。
關(guān)于判斷代碼的非公知性,被害人在梳理秘點(diǎn)時(shí),需要注意前端的一些模塊結(jié)構(gòu)、功能方案等往往并不能主張為商業(yè)秘密,但實(shí)現(xiàn)功能模塊、操作流程的后端代碼有被認(rèn)定為商業(yè)秘密的可能。原因在于用戶在使用過程中,通過直接觀察就能夠得知某些軟件的操作流程和功能模塊及其實(shí)現(xiàn)的步驟,這屬于使用公開,這些技術(shù)內(nèi)容是公開可見的,對(duì)此是不能納入技術(shù)秘密的范疇當(dāng)中,而只有哪些用戶無法在前端通過直接觀察得知的、僅能從后臺(tái)代碼層面通過一定手段獲得的具體實(shí)現(xiàn)路徑和方式才有可能不為公眾所知悉,進(jìn)而構(gòu)成技術(shù)秘密。
容易被公眾所獲得的代碼也并不在商業(yè)秘密的范疇當(dāng)中,那么如何判斷源代碼是否為“容易獲得”?在此,我們提供幾個(gè)常見的要點(diǎn)。一是判斷該代碼是否可以直接從客戶端、瀏覽器中能獲得,例如部分軟件、瀏覽器端通常由CSS、JavaScript、html來實(shí)現(xiàn)的,這些軟件的部分源代碼是可以被用戶獲取的。二是判斷該代碼是否可以通過反編譯的方式來獲得。軟件設(shè)計(jì)者沒有對(duì)目標(biāo)程序使用混淆技術(shù),或者沒有對(duì)該目標(biāo)代碼進(jìn)行加密,假定業(yè)內(nèi)同行使用某些高級(jí)語言編寫的軟件,就能夠通過反編譯的方式反向獲得可讀性強(qiáng)、相似性高的源代碼,一般來說,這些代碼也是不能主張為商業(yè)秘密。三是判斷這些代碼是否為開源代碼。四是判斷該代碼是否為第三方提供的源代碼。五是判斷該代碼是否為自動(dòng)生成的代碼。自動(dòng)生成的源代碼指的是程序員采用一些輔助的軟件工具得到的源代碼,而非直接編寫形成的源代碼,對(duì)于自動(dòng)生成的代碼也不應(yīng)認(rèn)定其具有秘密性。
關(guān)于如何判斷被害人所主張的,且已被鑒定具有秘密性的代碼,與被告人所使用的代碼相同或?qū)嵸|(zhì)相同?這涉及到同一性鑒定。在計(jì)算機(jī)軟件代碼類的商業(yè)秘密案件中,代碼的兩種表現(xiàn)形式,分別是源代碼與目標(biāo)代碼。對(duì)代碼進(jìn)行鑒定,也主要是圍著這兩種表現(xiàn)形式的代碼進(jìn)行。部分案件能搜查扣押到源代碼,以源代碼為檢材及樣本進(jìn)行鑒定,部分案件只能獲取到目標(biāo)代碼,則只能簡(jiǎn)單比對(duì)目標(biāo)代碼后,再將目標(biāo)代碼反編譯為源代碼進(jìn)行鑒定。
為了控告被告人構(gòu)成侵犯商業(yè)秘密罪,被害人向辦案機(jī)關(guān)遞交帶有源代碼的載體。對(duì)于該載體,在辦理案件過程中,需要對(duì)之進(jìn)行“鑒真”。通過編譯的方式,將源代碼編譯成目標(biāo)代碼,與被害人產(chǎn)品中的目標(biāo)代碼進(jìn)行比較,確定被害人所提交的源代碼是真實(shí)的源代碼,是與案件相關(guān)的源代碼。假定被害人所提交的源代碼無法編譯,或者說是編譯后的目標(biāo)代碼與自身涉案產(chǎn)品之目標(biāo)代碼是不統(tǒng)一的,則難以證實(shí)其是權(quán)利人,亦無法證實(shí)其提交的源代碼是與案件相關(guān)的真實(shí)源代碼。
同理,對(duì)于被告人一方的源代碼,我們也需要“鑒真”。無論是公安機(jī)關(guān)扣押到的源代碼載體,還是被告人自愿遞交的源代碼載體,我們都需要注意一個(gè)細(xì)節(jié),部分被告人的反偵查意識(shí)很強(qiáng),為了避免擔(dān)責(zé),在案發(fā)前其就已偽造出一份假的源代碼。毋容置疑,以該源代碼為檢材進(jìn)行鑒定,自然是難以論證出相同或?qū)嵸|(zhì)相同的結(jié)論的。故,當(dāng)不能獲取到被告人的真實(shí)源代碼的情況下,則應(yīng)將被告人的目標(biāo)代碼進(jìn)行反編譯為源代碼,再進(jìn)行同一性鑒定。此外,在提取代碼的過程中,可能涉及到加密、解密的問題。有些軟件工程師為了保護(hù)其編寫的程序代碼,會(huì)對(duì)涉訴的代碼進(jìn)行加密,為了獲取到涉訴的代碼,在鑒定前,需要先對(duì)涉訴的代碼進(jìn)行解密。
當(dāng)獲取到被害人與被告人之涉訴軟件的目標(biāo)代碼后,可以就目標(biāo)代碼是否相同進(jìn)行簡(jiǎn)單鑒定,假定目標(biāo)代碼相同,源代碼基本上也相同,但基于雙方可能使用不同的匯編語言,故目標(biāo)代碼不同,不一定意味著源代碼不同,此時(shí)則需要將被告人涉訴軟件的目標(biāo)代碼反編譯為源代碼。在這里有一個(gè)要點(diǎn)就是反編譯后,得到的代碼可上百萬行,如何確定涉訴源代碼的具體位置?可以對(duì)代碼安裝的目錄以及文件進(jìn)行簡(jiǎn)單的比對(duì),目的是為了確定秘點(diǎn)所處的文件夾,與涉訴代碼所處的文件夾,但代碼安裝所使用的文件僅僅是幫助用于對(duì)比鑒定文件的輔助手段,這是形式上的比對(duì),并不會(huì)影響軟件代碼的實(shí)質(zhì)內(nèi)容。最后,才是實(shí)質(zhì)意義上的比對(duì),即對(duì)代碼本身的比對(duì),此時(shí)的軟件商業(yè)秘密鑒定則比較雙方的源程序。
在同一性鑒定過程中,除了上述問題,還有一點(diǎn)非常值得注意,即涉訴的軟件版本。若被害人對(duì)涉訴軟件進(jìn)行軟件著作權(quán)登記的,則其多以該版本作為載體送檢,但問題在于軟件的不斷更新與升級(jí),其更新的頻率很高、幅度很大,其更新速度遠(yuǎn)遠(yuǎn)超過其他技術(shù),被害人或被告人涉訴軟件更新得越頻發(fā),鑒定相同的概率則越低。甚至是,被害人所遞交的軟件版本是被告人離職后才形成的,那么這里面就會(huì)涉及到被告人接觸到涉訴軟件代碼的可能性,及被害人的保密措施是否對(duì)被告人有效的問題了。
結(jié)語:軟件代碼的司法鑒定,對(duì)能否認(rèn)定構(gòu)成商業(yè)秘密,以及侵犯商業(yè)秘密罪能否成立,都起到非常關(guān)鍵的作用。對(duì)此,我們需多與鑒定人溝通,多了解鑒定的方法與流程,為我們辦理涉軟件代碼類商業(yè)秘密案件提供必要的知識(shí)儲(chǔ)備。
特別聲明:以上內(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.