亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件源代碼非公知性司法鑒定方法探析

        2018-07-30 06:08:26劉玉琴
        中國(guó)司法鑒定 2018年4期
        關(guān)鍵詞:知性源代碼鑒定人

        劉玉琴,桂 婕

        (1.北京印刷學(xué)院 綠色印刷包裝產(chǎn)業(yè)技術(shù)研究院,北京102600;2.工業(yè)和信息化部軟件與集成電路促進(jìn)中心知識(shí)產(chǎn)權(quán)司法鑒定所,北京 100038;3.中國(guó)科學(xué)技術(shù)信息研究所,北京 100038)

        由于以主張著作權(quán)進(jìn)行軟件知識(shí)產(chǎn)權(quán)民事訴訟的時(shí)間周期較長(zhǎng),越來(lái)越多的軟件企業(yè)在知識(shí)產(chǎn)權(quán)遭到侵犯時(shí),采取以侵犯商業(yè)秘密為由的刑事訴訟,以此對(duì)侵權(quán)人形成心理威懾,達(dá)到快速阻止侵權(quán)的目的。在此過(guò)程中,作為商業(yè)秘密關(guān)鍵要素的軟件非公知性(不為公眾所知悉)成為訴訟的先決條件之一。在此背景下,軟件非公知性鑒定案件數(shù)量驟然增多,其中最主要的是針對(duì)軟件源代碼的非公知性鑒定。由于軟件技術(shù)復(fù)雜和鑒定人知識(shí)有限,使得軟件非公知性鑒定相對(duì)于同一性鑒定具有更大操作難度。本文從軟件源代碼非公知性鑒定的法律依據(jù)入手,分析影響源代碼非公知性的最主要的8項(xiàng)因素,進(jìn)而提出司法鑒定人進(jìn)行軟件源代碼非公知性鑒定的流程。同時(shí),論文探討了作為軟件算法或核心技術(shù)的源代碼非公知性鑒定思路。

        1 軟件源代碼非公知性鑒定的背景與法律依據(jù)

        非公知性鑒定源于商業(yè)秘密訴訟。《反不正當(dāng)競(jìng)爭(zhēng)法》《刑法》《關(guān)于禁止侵犯商業(yè)秘密行為的若干規(guī)定(修正)》中均提及商業(yè)秘密的概念。按照《反不正當(dāng)競(jìng)爭(zhēng)法》的規(guī)定,商業(yè)秘密是指不為公眾所知悉、能為權(quán)利人帶來(lái)經(jīng)濟(jì)利益、具有實(shí)用性并經(jīng)權(quán)利人采取保密措施的技術(shù)信息和經(jīng)營(yíng)信息。由此可以看出,構(gòu)成商業(yè)秘密的要件有:非公知性、價(jià)值性(經(jīng)濟(jì)價(jià)值和實(shí)用價(jià)值)、保密性。訴訟過(guò)程中價(jià)值性和保密性由法官判斷,非公知性的判斷則需要具有專業(yè)技術(shù)知識(shí)的司法鑒定人進(jìn)行判斷。軟件源代碼的技術(shù)特性顯著,非公知性的判斷自然成為司法鑒定的鑒定對(duì)象。

        目前,針對(duì)軟件源代碼的非公知性鑒定學(xué)術(shù)研究較少。相關(guān)學(xué)術(shù)研究一是集中在軟件知識(shí)產(chǎn)權(quán)司法鑒定的相關(guān)概念、原則、方法等理論層面的探討[1-4]。二是集中在針對(duì)軟件產(chǎn)品同一性或相似性鑒定技術(shù)層面的研究[5-8]。而在司法鑒定實(shí)踐中,很難從正面直接判斷一個(gè)技術(shù)信息具有非公知性,鑒定實(shí)務(wù)中多是采用排除法進(jìn)行鑒定。

        對(duì)于有關(guān)技術(shù)信息的非公知性判斷,我國(guó)《最高人民法院關(guān)于審理不正當(dāng)競(jìng)爭(zhēng)民事案件應(yīng)用法律若干問(wèn)題的解釋》第九條規(guī)定:“有關(guān)信息不為其所屬領(lǐng)域的相關(guān)人員普遍知悉和容易獲得,應(yīng)當(dāng)認(rèn)定為反不正當(dāng)競(jìng)爭(zhēng)法第十條第三款規(guī)定的 ‘不為公眾所知悉’。具有下列情形之一的,可以認(rèn)定有關(guān)信息不構(gòu)成不為公眾所知悉:(1)該信息為其所屬技術(shù)或者經(jīng)濟(jì)領(lǐng)域的人的一般常識(shí)或者行業(yè)慣例;(2)該信息僅涉及產(chǎn)品的尺寸、結(jié)構(gòu)、材料、部件的簡(jiǎn)單組合等內(nèi)容,進(jìn)入市場(chǎng)后相關(guān)公眾通過(guò)觀察產(chǎn)品即可直接獲得;(3)該信息已經(jīng)在公開(kāi)出版物或者其他媒體上公開(kāi)披露;(4)該信息已通過(guò)公開(kāi)的報(bào)告會(huì)、展覽等方式公開(kāi);(5)該信息從其他公開(kāi)渠道可以獲得;(6)該信息無(wú)須付出一定的代價(jià)而容易獲得?!?/p>

        鑒定實(shí)務(wù)中多通過(guò)對(duì)上面列舉情形進(jìn)行一一排除,最終給出鑒定意見(jiàn)。為此,本文結(jié)合軟件源代碼的具體特征,對(duì)上面列出的情形進(jìn)行進(jìn)一步細(xì)化,分析影響源代碼非公知性的主要因素,提出應(yīng)對(duì)措施,建立鑒定思路。

        2 軟件源代碼非公知性鑒定的方法探析

        2.1 影響源代碼非公知性的技術(shù)因素分析

        在建立源代碼非公知性鑒定思路之前,筆者首先結(jié)合軟件源代碼的技術(shù)特征分析總結(jié)影響源代碼非公知性的技術(shù)因素,具體歸納為以下8項(xiàng)主要因素。

        2.1.1 通過(guò)反編譯可以獲得的源代碼

        一些高級(jí)計(jì)算機(jī)語(yǔ)言編寫(xiě)的軟件程序,在沒(méi)有對(duì)目標(biāo)程序進(jìn)行加密或混淆技術(shù)處理情況下,很容易通過(guò)目標(biāo)程序反編譯得到其對(duì)應(yīng)的源代碼,而且反編譯得到的源代碼與生成目標(biāo)程序的原始源代碼相似程度較高、可讀性較強(qiáng),是影響源代碼非公知性的一個(gè)重要因素。目前,常見(jiàn)的軟件源代碼非公性鑒定中,由C、C++、VB等語(yǔ)言編寫(xiě)的軟件程序不容易被反編譯;由JAVA、.NET平臺(tái)下的編程語(yǔ)言(如C#VB.NETC++.NETF#.NET)編寫(xiě)的軟件程序容易被反編譯;由Delphi設(shè)計(jì)的軟件程序中窗體代碼容易被反編譯,而邏輯代碼不容易被反編譯。

        在對(duì)源代碼進(jìn)行非公知性鑒定時(shí),如果能夠通過(guò)反編譯得到源代碼,一般認(rèn)為其具有公知性。但有兩種情況除外,一是軟件銷售時(shí)對(duì)目標(biāo)程序采用了加密或混淆的技術(shù)方式阻止反編譯的實(shí)施,二是無(wú)法獲得目標(biāo)代碼,即無(wú)法獲得反編譯的對(duì)象。如,在軟件銷售時(shí)與客戶簽訂保密協(xié)議限制客戶向非授權(quán)用戶進(jìn)行軟件目標(biāo)程序的復(fù)制,從而使其他非授權(quán)用戶很難獲得目標(biāo)程序,也就難以獲得反編譯的對(duì)象;又如,目標(biāo)代碼存在的方式比較復(fù)雜,無(wú)法通過(guò)簡(jiǎn)單的方法從銷售的產(chǎn)品中獲取目標(biāo)代碼,也就難以獲得反編譯的對(duì)象。

        2.1.2 B/S架構(gòu)下瀏覽器可獲得的源代碼

        隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,B/S(Browser/Server,瀏覽器/服務(wù)器)架構(gòu)的軟件程序已經(jīng)成為主要的軟件應(yīng)用模式。在這種架構(gòu)下,用戶工作界面通過(guò)瀏覽器來(lái)實(shí)現(xiàn),主要業(yè)務(wù)邏輯都在服務(wù)器端實(shí)現(xiàn),極少部分業(yè)務(wù)邏輯在瀏覽器端實(shí)現(xiàn)。對(duì)于源代碼來(lái)說(shuō),一部分在服務(wù)器端經(jīng)過(guò)編譯以后成為目標(biāo)碼,在服務(wù)器端運(yùn)行;一部分沒(méi)有經(jīng)過(guò)編譯的腳本,由客戶端瀏覽器運(yùn)行。比如,用C#或Java設(shè)計(jì)的B/S系統(tǒng),服務(wù)器端運(yùn)行C#或Java目標(biāo)程序,而用于進(jìn)行頁(yè)面顯示控制或簡(jiǎn)單業(yè)務(wù)邏輯實(shí)現(xiàn)的JAVASCRIPT腳本、CSS樣式單、HTML頁(yè)面、圖片等都是由客戶端的瀏覽器來(lái)運(yùn)行和顯示的。對(duì)于客戶端來(lái)說(shuō),這些腳本、樣式單、網(wǎng)頁(yè)和圖片是可獲得的。如果基于B/S架構(gòu)的程序面向公眾用戶,那么運(yùn)行于瀏覽器端的各種源代碼具有公知性。

        在司法鑒定中,根據(jù)程序開(kāi)發(fā)和運(yùn)行環(huán)境判斷程序是否為B/S架構(gòu),再結(jié)合程序面向的用戶,判斷源代碼是否具有非公知性。

        2.1.3 自動(dòng)生成的源代碼

        計(jì)算機(jī)自動(dòng)生成的源代碼,是指非程序編寫(xiě)人員直接編寫(xiě)的源代碼,而是采用一些輔助的軟件工具得到的源代碼。其非公知性不能簡(jiǎn)單地通過(guò)代碼本身去判斷,需要結(jié)合代碼自動(dòng)生成的條件綜合考慮。典型的自動(dòng)生成的源代碼包括集成開(kāi)發(fā)環(huán)境(Integrated Development Environment,IDE)自動(dòng)生成的窗體代碼,基于數(shù)據(jù)庫(kù)結(jié)構(gòu)的代碼生成器自動(dòng)生成的數(shù)據(jù)庫(kù)操作源代碼,基于UML統(tǒng)一建模語(yǔ)言生成的源代碼,以及通過(guò)語(yǔ)言轉(zhuǎn)化工具轉(zhuǎn)化的其他編程語(yǔ)言源代碼。

        IDE自動(dòng)生成的窗體源代碼。比如,采用.NET平臺(tái)下的編程語(yǔ)言、Delphi語(yǔ)言、VB6.0語(yǔ)言進(jìn)行窗體程序的開(kāi)發(fā),這類程序的窗體布局代碼,大多是程序設(shè)計(jì)人員將設(shè)計(jì)好的控件“拖”到窗體后由集成開(kāi)發(fā)環(huán)境自動(dòng)生成。除非特別復(fù)雜的控件布局,其他程序設(shè)計(jì)人員是可以通過(guò)觀察程序運(yùn)行效果對(duì)其界面進(jìn)行模仿,得到相同或相似窗體代碼。這類窗體代碼除與業(yè)務(wù)功能源代碼混合外,在司法鑒定實(shí)踐中不宜鑒定為具有非公知性。

        基于數(shù)據(jù)庫(kù)結(jié)構(gòu)的代碼生成器自動(dòng)生成的數(shù)據(jù)庫(kù)操作源代碼。目前,Java和C#語(yǔ)言的代碼生成器較多,其中一些代碼生成器根據(jù)數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)自動(dòng)生成數(shù)據(jù)庫(kù)操作相關(guān)的源代碼。應(yīng)用比較普遍的代碼生成器包括動(dòng)軟代碼生成器[9]、CodeSmith[10]、MyGeneration[11]等。比如,動(dòng)軟代碼生成器根據(jù)數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)生成數(shù)據(jù)層、業(yè)務(wù)層C#源代碼。對(duì)于這類源代碼的非公知性鑒定,本質(zhì)上是由生成這些源代碼的輸入條件-數(shù)據(jù)庫(kù)結(jié)構(gòu)-決定的。因此,司法鑒定過(guò)程中這類源代碼的非公知性,本質(zhì)上是由數(shù)據(jù)庫(kù)結(jié)構(gòu)的非公知性決定的。

        基于UML統(tǒng)一建模語(yǔ)言生成的源代碼。在面向?qū)ο髴?yīng)用程序開(kāi)發(fā)不斷發(fā)展的時(shí)代,UML不僅支持面向?qū)ο蟮姆治龊驮O(shè)計(jì),而且可以支持從需求分析到系統(tǒng)實(shí)現(xiàn)的軟件開(kāi)發(fā)的全過(guò)程,它代表了面向?qū)ο蟮能浖_(kāi)發(fā)技術(shù)的發(fā)展方向。因此,學(xué)術(shù)研究和開(kāi)發(fā)實(shí)踐中,利用UML自動(dòng)生成源代碼的代碼生成工具被設(shè)計(jì)開(kāi)發(fā)出來(lái),用于軟件的設(shè)計(jì)。這類代碼的非公知性同樣由產(chǎn)生這些代碼的UML決定。

        語(yǔ)言轉(zhuǎn)化工具用來(lái)對(duì)不同編程語(yǔ)言的源代碼進(jìn)行轉(zhuǎn)化,以便增強(qiáng)源代碼的重復(fù)利用能力。典型的有Java轉(zhuǎn)C#工具,.Net平臺(tái)下各種語(yǔ)言相互轉(zhuǎn)化工具。對(duì)于通過(guò)轉(zhuǎn)化工具生成的源代碼非公知性鑒定,要考慮轉(zhuǎn)化前原始源代碼的非公知性。

        除此之外,還有一些基于特定的開(kāi)發(fā)工具和開(kāi)發(fā)平臺(tái)設(shè)計(jì)的軟件系統(tǒng),其源代碼也存在自動(dòng)生成的情況。無(wú)論哪一種情況自動(dòng)生成的代碼,對(duì)其進(jìn)行非公知鑒定時(shí)都要綜合這些代碼生成的條件進(jìn)行判斷,而不能僅僅從源代碼本身給出鑒定意見(jiàn)。

        對(duì)于源代碼是否為自動(dòng)生成的代碼,需要鑒定人根據(jù)經(jīng)驗(yàn)來(lái)判斷。一般情況下,自動(dòng)生成的源代碼在變量、函數(shù)、類、文件的命名上遵循相同的規(guī)則,源代碼的格式安排,空行、空格、注釋的使用規(guī)范等具有高度的一致性。

        2.1.4 來(lái)自開(kāi)源軟件的源代碼

        開(kāi)源軟件(Open Source Software,簡(jiǎn)稱 OSS),即公開(kāi)源代碼的軟件,具備可以免費(fèi)使用和公布源代碼的主要特征[12]。由于其開(kāi)放源代碼,使得全球無(wú)數(shù)程序員和用戶可以不斷復(fù)制、修改、再發(fā)布開(kāi)源軟件源代碼。大量企業(yè)為了節(jié)省人力成本、時(shí)間成本往往會(huì)在其設(shè)計(jì)開(kāi)發(fā)的軟件中或多或少的使用開(kāi)源軟件源代碼,甚至一些軟件就是在開(kāi)源軟件的基礎(chǔ)上進(jìn)行修改得到的。因此,開(kāi)源軟件源代碼是影響源代碼非公知性的重要因素之一。

        司法鑒定實(shí)務(wù)中對(duì)于這類源代碼應(yīng)認(rèn)為不具有非公知性。然而,由于開(kāi)源社區(qū)分散、開(kāi)源軟件數(shù)量眾多,而鑒定人知識(shí)有限,使得鑒定中如何判斷源代碼為來(lái)自開(kāi)源軟件的源代碼變得十分困難。就作者的鑒定實(shí)踐來(lái)說(shuō),可以從以下方面輔助做出判斷結(jié)果。

        首先,通過(guò)源代碼的“協(xié)議聲明”判斷源代碼來(lái)自于開(kāi)源軟件。一般情況下,開(kāi)源軟件的源代碼文件頭都會(huì)有開(kāi)源軟件遵循的協(xié)議聲明,如果是簡(jiǎn)單、機(jī)械的引用這些代碼,司法鑒定人員是可以通過(guò)協(xié)議聲明辨識(shí)其來(lái)源和版權(quán)情況,而這種情況在作者參與的司法鑒定案件中是出現(xiàn)頻率最高的。

        其次,利用商業(yè)或非商業(yè)開(kāi)源源代碼搜索引擎系統(tǒng)。如果程序開(kāi)發(fā)人員在使用開(kāi)源軟件時(shí)將相關(guān)聲明信息刪除,或者僅僅使用了開(kāi)源代碼中一個(gè)片段,這時(shí)司法鑒定人員就很難發(fā)現(xiàn)了。目前,存在一些商業(yè)和非商業(yè)的開(kāi)源源代碼搜索引擎系統(tǒng),這些搜索引擎系統(tǒng)收錄了海量的開(kāi)源代碼,并提取開(kāi)源代碼技術(shù)特征。商業(yè)類搜索引擎系統(tǒng)的使用價(jià)格往往較高,一般根據(jù)被鑒定代碼的代碼量多少來(lái)收費(fèi),如Black Duck Software[13]。非商業(yè)類的開(kāi)源代碼搜 索 引 擎 系 統(tǒng) 主 要 有 Krugle[14],Ohlohe[15],Docjar[16],Google Codes[17],CodeSoso[18]等。商業(yè)類與非商業(yè)類源代碼搜索引擎系統(tǒng)的區(qū)別主要在于:商業(yè)類系統(tǒng)根據(jù)其獨(dú)特算法自動(dòng)提取被比對(duì)代碼的技術(shù)特征進(jìn)行批量比對(duì),非商業(yè)類的搜索系統(tǒng)則要由搜索人員自己提取關(guān)鍵代碼到系統(tǒng)中進(jìn)行搜索。同時(shí),也要注意到由于開(kāi)源數(shù)據(jù)庫(kù)的收錄范圍有限,鑒定人不能直接給出被鑒定源代碼不具有非公知性的意見(jiàn),還要結(jié)合第三種方式進(jìn)行綜合判斷。

        最后,鑒定人對(duì)被鑒定代碼整體進(jìn)行閱讀理解,發(fā)現(xiàn)源代碼編寫(xiě)風(fēng)格與整體風(fēng)格具有差異的部分,就差異部分的代碼,分析其功能,在主要的開(kāi)源社區(qū)和搜索引擎中查找與之具有類似功能的開(kāi)源項(xiàng)目。如果被鑒定源代碼通過(guò)上面第一、第三種方法的檢測(cè),在司法鑒定實(shí)踐中一般認(rèn)為其為非開(kāi)源軟件源代碼。

        2.1.5 第三方源代碼

        第三方源代碼是指程序設(shè)計(jì)人員由于使用了特定的軟硬件平臺(tái),從平臺(tái)服務(wù)商獲得的與平臺(tái)開(kāi)發(fā)相關(guān)的、能夠節(jié)省開(kāi)發(fā)周期的源代碼,這種源代碼既可以是免費(fèi)的,也可以是通過(guò)硬件采購(gòu),與硬件搭配獲得的。如應(yīng)用微軟.Net平臺(tái)進(jìn)行軟件開(kāi)發(fā)的程序員,經(jīng)常在自己開(kāi)發(fā)的項(xiàng)目中使用微軟企業(yè)庫(kù)的免費(fèi)源代碼。采購(gòu)了Broadcom公司硬件設(shè)備時(shí),經(jīng)常用到由其提供的與設(shè)備操作相關(guān)的源代碼。對(duì)于這類源代碼本領(lǐng)域內(nèi)的程序設(shè)計(jì)人員容易通過(guò)開(kāi)發(fā)經(jīng)驗(yàn)識(shí)別出來(lái),而且這類源代碼基本都有版權(quán)聲明信息,部分源代碼會(huì)在服務(wù)商提供的硬件使用說(shuō)明書(shū)中有所體現(xiàn)。與開(kāi)源軟件源代碼相似,來(lái)源于第三方的源代碼也是影響源代碼非公知性的因素之一,對(duì)于非公知性鑒定來(lái)說(shuō),兩者沒(méi)有本質(zhì)區(qū)別,只是在軟件使用范圍、條件、知識(shí)產(chǎn)權(quán)保護(hù)形式上有所區(qū)別。因此,在司法鑒定實(shí)踐中,兩者的鑒定思路相同。

        2.1.6 網(wǎng)絡(luò)搜索或教科書(shū)中的源代碼

        一些軟件開(kāi)發(fā)人員在網(wǎng)絡(luò)論壇中以問(wèn)答的形式對(duì)完成某一特定功能的源代碼實(shí)現(xiàn)進(jìn)行提問(wèn)和回答,將源代碼放到網(wǎng)絡(luò)論壇中。這種源代碼一般都是比較短小的,大部分通過(guò)搜索引擎可以檢索得到。另外,程序設(shè)計(jì)相關(guān)教科書(shū)中的一些源代碼示例,特別是算法實(shí)現(xiàn)的源代碼示例,也會(huì)在現(xiàn)實(shí)的軟件程序中出現(xiàn)。這兩種源代碼都比較短,而且是解決程序設(shè)計(jì)當(dāng)中一些通用的技術(shù)問(wèn)題。由于兩種類型的源代碼是大眾非常容易獲取的,直接影響源代碼的非公知性。司法鑒定中,鑒定人在閱讀源代碼時(shí),根據(jù)經(jīng)驗(yàn),選擇解決共性技術(shù)問(wèn)題的源代碼,并在搜索引擎中進(jìn)行搜索,盡量發(fā)現(xiàn)這類源代碼。如Pudn[19],Oreilly[20]均有針對(duì)計(jì)算機(jī)書(shū)籍中的源代碼搜索功能。

        2.1.7 業(yè)界通用的源代碼

        存在這樣一類源代碼,它完成的功能是某一領(lǐng)域內(nèi)比較通用的功能。比如,管理信息系統(tǒng)中常用的用戶登錄驗(yàn)證,角色管理,權(quán)限管理。這些功能具有非常的普遍性,很多程序設(shè)計(jì)人員的設(shè)計(jì)思路和代碼實(shí)現(xiàn)基本一致,而且這類代碼經(jīng)常在程序員之間、企業(yè)之間傳遞,有些已經(jīng)成為業(yè)界通用的源代碼,一般不具有非公知性。當(dāng)然,有些企業(yè)從保護(hù)知識(shí)產(chǎn)權(quán)、促進(jìn)創(chuàng)新角度,設(shè)計(jì)出不同于大眾的源代碼,則應(yīng)劃入具有非公知性的范疇。鑒定實(shí)務(wù)中鑒定人要結(jié)合具體情況具體分析。

        2.1.8 表達(dá)唯一的源代碼

        這里所說(shuō)的表達(dá)唯一,是指使用某一計(jì)算機(jī)語(yǔ)言編寫(xiě)、完成特定功能的源代碼,其代碼編寫(xiě)形式有限,如采用C++或C#獲取計(jì)算機(jī)硬件信息的代碼。這種代碼由于表達(dá)形式有限,不同程序設(shè)計(jì)人員編寫(xiě)出相同源代碼的幾率比較大。因此,直接影響了源代碼的非公知性。

        司法鑒定中,在判斷源代碼唯一性上,需要注意兩個(gè)問(wèn)題,一是表達(dá)“唯一”,并不是真正的一種表達(dá);二是,以函數(shù)為劃分單元,判斷源代碼是否表達(dá)唯一,不應(yīng)孤立的判斷某一行代碼是否為表達(dá)唯一的源代碼。

        2.2 源代碼非公知性鑒定的適用流程

        上述影響源代碼非公知性因素的第3.1.1、3.1.2、3.1.3條可歸結(jié)為“該信息無(wú)須付出一定的代價(jià)而容易獲得”,第 3.1.4、3.1.5、3.1.6條可歸結(jié)為“該信息從其他公開(kāi)渠道可以獲得”,第3.1.7、3.1.8條可歸結(jié)為“該信息為其所屬技術(shù)或者經(jīng)濟(jì)領(lǐng)域的人的一般常識(shí)或者行業(yè)慣例”。在鑒定過(guò)程中,通過(guò)對(duì)這些因素的綜合分析,判斷源代碼的非公知性。同時(shí),可以通過(guò)建立規(guī)范化的鑒定流程,來(lái)降低鑒定人的工作強(qiáng)度,加快鑒定的實(shí)施?;谝陨?項(xiàng)主要因素的分析,本文設(shè)計(jì)從簡(jiǎn)單到復(fù)雜的軟件源代碼非公知性鑒定流程(圖1)。

        2.2.1 判斷源代碼是否容易獲得

        在不閱讀源代碼功能含義條件下,理解源代碼所應(yīng)用的技術(shù)特征,源代碼編譯后的目標(biāo)碼運(yùn)行環(huán)境特征,依次逐步深入判斷源代碼是否為B/S架構(gòu)軟件瀏覽器(客戶端)可獲得的源代碼、反編譯可獲得的源代碼、自動(dòng)生成的源代碼。如果三種情況均不滿足,轉(zhuǎn)而判斷源代碼是否為常識(shí)和行業(yè)慣例。

        如果源代碼滿足上述中“為B/S架構(gòu)軟件瀏覽器(客戶端)可獲得的源代碼”或“為自動(dòng)生成的源代碼”或“為反編譯可獲得的源代碼,并且容易獲得目標(biāo)代碼”,繼續(xù)看源代碼的使用情況,即源代碼編譯的目標(biāo)碼構(gòu)成的軟件系統(tǒng)在銷售給客戶時(shí),是否有限制客戶向非授權(quán)用戶進(jìn)行泄露軟件相關(guān)信息的保密協(xié)議。若沒(méi)有保密協(xié)議,說(shuō)明源代碼容易獲取,具有公知性。若存在保密協(xié)議,轉(zhuǎn)而判斷源代碼是否為常識(shí)和行業(yè)慣例。如果滿足“為反編譯可獲得的源代碼,但目標(biāo)代碼不易獲取”,直接判斷源代碼是否為常識(shí)和行業(yè)慣例。

        2.2.2 判斷源代碼是否為常識(shí)和行業(yè)慣例

        在不做檢索的條件下,閱讀代碼功能含義,根據(jù)鑒定人知識(shí)和經(jīng)驗(yàn),依次判斷源代碼是否表達(dá)唯一、是否業(yè)界通用。滿足兩個(gè)條件中的任一條件,源代碼具有公知性;否則,轉(zhuǎn)而判斷源代碼是否公開(kāi)。

        2.2.3判斷源代碼是否公開(kāi)

        鑒定人的知識(shí)是有限的,在判斷源代碼是否公開(kāi)問(wèn)題上,鑒定人以了解技術(shù)進(jìn)展,豐富知識(shí)為目的,進(jìn)行基本的信息檢索,是十分必要的。因此,鑒定人在理解源代碼含義條件下,應(yīng)充分利用搜索引擎、開(kāi)源社區(qū)等網(wǎng)絡(luò)資源,結(jié)合自己的知識(shí)和經(jīng)驗(yàn)積累判斷源代碼是否公開(kāi)。如果源代碼經(jīng)過(guò)這一步的層層驗(yàn)證,司法鑒定實(shí)務(wù)中一般認(rèn)為源代碼具有非公知性。

        2.3 作為特征算法或核心(專有)技術(shù)的源代碼非公知性鑒定

        以上影響源代碼非公知性的因素分析和鑒定流程,適用于大部分的源代碼非公知性鑒定。但在司法鑒定實(shí)踐中往往會(huì)出現(xiàn)這樣的情況:作為軟件某個(gè)特征算法或核心(專有)技術(shù)的部分源代碼具有公知性,另一部分則不具有公知性;而源于委托方的鑒定事項(xiàng)則是針對(duì)算法或核心技術(shù)涉及的整體源代碼。針對(duì)這種情況,鑒定實(shí)務(wù)中應(yīng)從兩個(gè)視角考慮,一是局部視角,二是全局視角。局部視角不考慮代碼之間的調(diào)用關(guān)系,組織結(jié)構(gòu),依據(jù)圖1的鑒定流程,針對(duì)各個(gè)部分的源代碼分別給出非公知性的鑒定意見(jiàn)。全局視角考慮代碼之間的邏輯調(diào)用關(guān)系,將這種邏輯調(diào)用關(guān)系作為源代碼非公知性判斷依據(jù)之一,從整體上給出鑒定意見(jiàn)。

        圖1 軟件源代碼非公知性鑒定流程

        一般來(lái)說(shuō),在考慮源代碼之間的邏輯調(diào)用關(guān)系,組織結(jié)構(gòu)時(shí),首先通過(guò)對(duì)源代碼的閱讀,梳理出源代碼邏輯關(guān)系魚(yú)骨圖(圖2)。任何算法或關(guān)鍵技術(shù)的源代碼都可以歸結(jié)為代碼文件、類和函數(shù)的表現(xiàn)形式。算法和關(guān)鍵技術(shù)的實(shí)現(xiàn)按照一條主線進(jìn)行,同時(shí),不斷的調(diào)用各個(gè)代碼文件、類和函數(shù),構(gòu)成支線。如果算法或核心技術(shù)主線上的源代碼具有非公知性,那么整體上可以給出代碼非公知性的意見(jiàn)。

        圖2 源代碼調(diào)用關(guān)系魚(yú)骨圖

        3 案例應(yīng)用

        3.1 簡(jiǎn)要案情

        2011年4 月,深圳邁某公司向深圳市中級(jí)人民法院起訴理某公司,就其相關(guān)產(chǎn)品涉嫌使用邁某公司的有關(guān)技術(shù)提出法律訴訟,包括心電監(jiān)護(hù)儀嵌入式軟件商業(yè)秘密。為審理該案,由法院委托、雙方共同選擇和認(rèn)可的司法鑒定機(jī)構(gòu)對(duì)雙方心電監(jiān)護(hù)儀嵌入式軟件進(jìn)行源代碼非公知性、同一性鑒定,目標(biāo)代碼同一性鑒定。

        3.2 司法鑒定

        該案涉及軟件源代碼非公知性、同一性鑒定,目標(biāo)代碼同一性鑒定,源代碼與目標(biāo)代碼的同一性鑒定。其中源代碼的非公知性鑒定具有典型意義:一方面,邁某公司主張的具有非公知性的源代碼是其監(jiān)護(hù)儀的核心源代碼,而非全部源代碼;另一方面,通過(guò)鑒定發(fā)現(xiàn)核心源代碼中的部分代碼可以在網(wǎng)絡(luò)中檢索得到,即源代碼部分公開(kāi)。該案鑒定采用論文3.2的鑒定策略,對(duì)源代碼的非公知性進(jìn)行逐一分析,鑒定結(jié)論分別從源代碼局部和整體兩個(gè)角度進(jìn)行。針對(duì)各個(gè)部分的源代碼分別給出非公知性的鑒定意見(jiàn)。同時(shí),考慮到代碼的整體邏輯調(diào)用關(guān)系,各部分代碼的選取和組合蘊(yùn)含創(chuàng)造性勞動(dòng),并非簡(jiǎn)單羅列、堆砌而形成,可以構(gòu)造出類似3.3的代碼結(jié)構(gòu)關(guān)系圖,給出了整體源代碼的非公知性鑒定意見(jiàn)。

        3.3 法院判決

        深圳市中院一審判決邁某公司勝訴,理某公司向廣東省高院提起上訴,廣東省高院就理某公司不服該一審判決提起的上訴進(jìn)行二審,2016年10月二審裁定理某公司侵權(quán)成立。

        4 結(jié)語(yǔ)

        以源代碼非公知性鑒定為支撐的軟件商業(yè)秘密維權(quán)案件迅速增加,在看到這種方式對(duì)知識(shí)產(chǎn)權(quán)保護(hù)起到積極作用的同時(shí),也應(yīng)注意到其對(duì)促進(jìn)市場(chǎng)競(jìng)爭(zhēng)、技術(shù)進(jìn)步、防止知識(shí)產(chǎn)權(quán)濫用上的弊端。無(wú)論是對(duì)訴訟的控訴方,還是被訴方,源代碼非公知性對(duì)于整個(gè)訴訟起到了至關(guān)重要的作用,一旦訴訟成功,對(duì)被訟方的處罰力度較大。因此,軟件源代碼非公知性鑒定對(duì)鑒定人的技術(shù)能力、鑒定經(jīng)驗(yàn)和職業(yè)道德都提出了極高的要求。

        猜你喜歡
        知性源代碼鑒定人
        人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
        基于TXL的源代碼插樁技術(shù)研究
        荀子知性思想初探
        鑒定人可否參加開(kāi)庭?
        基于語(yǔ)法和語(yǔ)義結(jié)合的源代碼精確搜索方法
        江蘇:對(duì)虛假鑒定“零容忍”
        知性優(yōu)雅
        揭秘龍湖產(chǎn)品“源代碼”
        鑒定人出庭經(jīng)驗(yàn)談
        人間(2015年22期)2016-01-04 12:47:30
        露也露的知性優(yōu)雅
        Coco薇(2015年7期)2015-08-13 22:27:01
        一区二区三区岛国av毛片| 九九99久久精品国产| 亚洲日韩精品国产一区二区三区| 日韩国产欧美成人一区二区影院| 在线视频免费自拍亚洲| 中文字幕久久人妻av| 成人偷拍自拍视频在线观看| 国产色在线 | 亚洲| 国产人成午夜免电影观看| 亚洲嫩模一区二区三区视频| 国产情侣亚洲自拍第一页| 国产免费a∨片在线软件| 少妇下蹲露大唇无遮挡| 亚洲国产福利精品一区二区| 青草青草伊人精品视频| 国产成av人在线观看| 精品卡一卡二卡3卡高清乱码| 一区二区传媒有限公司| 日本a在线免费观看| 中文字幕日本在线乱码| 永久亚洲成a人片777777| 精品人妻无码一区二区色欲产成人| 久久精品国产亚洲AV高清y w| 蜜桃网站免费在线观看视频| 麻豆精品国产精华液好用吗| 一区二区国产在线观看| 日韩精品成人一区二区三区久久久 | 黄色av亚洲在线观看| 久久久久人妻一区精品色欧美| 国产精品区一区二区三在线播放 | 手机看片福利日韩国产| 中文字幕有码久久高清| 亚洲熟妇av一区| 看全色黄大色大片免费久久| 五月婷婷影视| 国产三级国产精品国产专播| 国产亚洲精品美女久久久| 最新国产三级| 69搡老女人老妇女老熟妇 | 国产伦一区二区三区色一情| 日本中国内射bbxx|