一、開源協(xié)議下的軟件源代碼類侵犯商業(yè)秘密罪案件
如果軟件代碼是開源的,那肯定不能主張為商業(yè)秘密,這個(gè)沒有爭(zhēng)議,但是如果這些代碼是在開源協(xié)議的基礎(chǔ)上做出來的衍生作品,這個(gè)時(shí)候還能不能主張為商業(yè)秘密呢?
我們來說一起無罪案件,某科技有限公司、法定代表人A和研發(fā)工程師B被指控侵犯商業(yè)秘密罪,A原本是被害企業(yè)的員工,在工作期間完成了系統(tǒng)軟件,這套軟件代碼設(shè)置了GPL的開源協(xié)議聲明,后來,被害企業(yè)又根據(jù)老代碼迭代了更新為2.0版本,部分程序源代碼是原封不動(dòng)照搬了老代碼,被害企業(yè)認(rèn)為A違約使用了自己的2.0版本的軟件代碼,為此,對(duì)A等人提起了刑事控告。這起案件,檢察院最終作出了全案不起訴的決定。因?yàn)楸缓ζ髽I(yè)沒有遵循開源協(xié)議,反而將代碼主張為商業(yè)秘密,最終被認(rèn)定衍生作品無秘密性,對(duì)其主張不予支持。
在涉及開源協(xié)議的侵犯商業(yè)秘密罪案件當(dāng)中,我們首先要了解的是涉及到哪種開源協(xié)議,開源協(xié)議的傳染性及要求是什么?另外,就是開源協(xié)議在我國(guó)的法律效力怎么樣。
一般每一個(gè)開源軟件都會(huì)附有一個(gè)許可證,許可證以格式文本形式的授權(quán)許可協(xié)議來體現(xiàn),許可證規(guī)定了軟件使用者的權(quán)利和義務(wù),使用者只有同意遵守這個(gè)許可證才能合法使用開源軟件,或者使用這個(gè)開源軟件,就視為同意接受許可證,目前公認(rèn)的許可證約有70種。不同的許可證依據(jù)不同許可協(xié)議條款,對(duì)使用者要求承擔(dān)的義務(wù)也不同,比如GPL許可證就對(duì)使用者的限制相對(duì)嚴(yán)格,如果將附有GPL許可證的開源軟件中的源代碼進(jìn)行了修改或衍生,對(duì)于修改代碼和衍生代碼,使用者也必須將其以GPL許可證的方式作為開源軟件發(fā)布,而不得將其作為閉源的商業(yè)軟件來發(fā)布或者銷售。
所以,在上面案件中,基于被害企業(yè)所主張的代碼是在GPL協(xié)議上所衍生的2.0版本,可以認(rèn)為這樣的代碼屬于輕易獲取,不具有秘密性。
二、軟件源代碼類侵犯商業(yè)秘密罪案件,如何看待非公知性
非公知性是判斷某個(gè)技術(shù)能否成為商業(yè)秘密的一個(gè)重要因素,在軟件代碼類侵犯商業(yè)秘密罪案件中,代碼可以分為源代碼、目標(biāo)代碼及可執(zhí)行代碼,在判斷代碼的非公知性問題上,目標(biāo)代碼和可執(zhí)行代碼的非公知性認(rèn)定會(huì)相對(duì)復(fù)雜,由于目標(biāo)代碼在軟件公開發(fā)售時(shí),用戶可以直接獲取的,這部分代碼通常被認(rèn)為已經(jīng)公開,不再具有非公知性。但是,目標(biāo)代碼的公開并不當(dāng)然導(dǎo)致源代碼喪失非公知性,我們應(yīng)當(dāng)根據(jù)反編譯的難易度來判斷相應(yīng)源代碼是否容易獲得,由于目標(biāo)代碼的非可讀性,以及編程語言的復(fù)雜性,反編譯工作基本不可能僅僅通過觀察來完成。
不同編程語言的反編譯難度不同,對(duì)于一些可還原度較高的編程語言,若事先沒有進(jìn)行加密或混淆技術(shù)處理,則很容易通過反編譯獲取對(duì)應(yīng)源代碼,這就會(huì)影響其非公知性認(rèn)定。所以,在軟件源代碼非公知性認(rèn)定中,需要考慮編程語言對(duì)反編譯難度的影響,以及權(quán)利人是否采取加密或混淆等保護(hù)措施。
在瀏覽器/服務(wù)器架構(gòu)下,對(duì)軟件源代碼非公知性的認(rèn)定也會(huì)產(chǎn)生顯著的影響。在這樣的架構(gòu)下,源代碼通常可以分為前端代碼和后端代碼,兩者的展現(xiàn)方式、所用技術(shù)和功能分工均有所不同,與用戶界面相關(guān)的“顯示類”源代碼,無需編譯直接通過瀏覽器端運(yùn)行,而涉及業(yè)務(wù)邏輯的“核心類”源代碼,則編譯成目標(biāo)代碼后在服務(wù)器端實(shí)現(xiàn)。在此類框架下,用戶可以在瀏覽器界面獲取"顯示類"源代碼,這部分運(yùn)行于瀏覽器端的源代碼已經(jīng)公開,不再具有非公知性,但服務(wù)器端的核心源代碼仍處于保密狀態(tài),并未喪失非公知性。所以,通常來說,運(yùn)行于瀏覽器端的各種源代碼具有公知性,但服務(wù)器端的核心源代碼仍處于保密狀態(tài),并未喪失非公知性。
![]()
三、軟件代碼類侵犯商業(yè)秘密罪案件,如何鑒定?
隨著開源軟件普及,以及第三方代碼被廣泛使用,在軟件代碼類的商業(yè)秘密鑒定中,如何正確處理這些非原創(chuàng)代碼,成為了一個(gè)非常重要的問題。
對(duì)于開源代碼的識(shí)別,司法鑒定通常通過這樣的方法:首先,通過源代碼的協(xié)議聲明判斷源代碼來自于開源軟件。一般情況下,開源軟件的源代碼文件頭都會(huì)有開源軟件遵循的協(xié)議聲明,如果是簡(jiǎn)單、機(jī)械地引用這些代碼,司法鑒定人員是可以通過協(xié)議聲明辨識(shí)他的來源和版權(quán)情況的。另外,我們可以利用商業(yè)或非商業(yè)開源源代碼的搜索引擎系統(tǒng)去分析。
但是,如果程序開發(fā)人員在使用開源軟件時(shí)將相關(guān)聲明信息予以刪除,或者僅僅使用了開源代碼當(dāng)中一個(gè)片段,這個(gè)時(shí)候,司法鑒定人員就很難發(fā)現(xiàn)了。所以,鑒定人在利用開源代碼進(jìn)行商業(yè)秘密鑒定的過程中,一定要對(duì)開源代碼的相關(guān)內(nèi)容進(jìn)行詳細(xì)閱讀和分析,特別對(duì)其中含有的信息特殊性進(jìn)行了解和觀察。
另一方面,開源許可的傳染性條款對(duì)閉源代碼的非公知性認(rèn)定也有影響。開源許可證的傳染性條款是指,基于該開源軟件創(chuàng)作的后續(xù)作品的部分或全部都應(yīng)當(dāng)同樣進(jìn)行開源。現(xiàn)在,經(jīng)常出現(xiàn)這樣的一種情況,部分用戶在修改開源代碼,或者與自寫的代碼相結(jié)合后,將它封裝成閉源軟件產(chǎn)品進(jìn)行發(fā)售,并且要將它主張為商業(yè)秘密。但是,按照傳染性條款的規(guī)定,開發(fā)者需要公開后期開發(fā)的源代碼,這部分商業(yè)秘密將隨著代碼的公開,就會(huì)喪失秘密性。
那么怎么樣去判斷后續(xù)開發(fā)出來的代碼有沒有被開源許可證所傳染呢?我們需要考察整體代碼對(duì)開源代碼的引用情況,對(duì)于有明顯實(shí)質(zhì)從屬特征的程序,例如母子程序,那母程序也必然會(huì)受子程序的傳染;對(duì)于沒有明顯實(shí)質(zhì)從屬特征的程序之間,應(yīng)判斷兩者是否相對(duì)獨(dú)立。如果是屬于未被傳染的源代碼,應(yīng)認(rèn)為其可以具備獨(dú)立的非公知性。另外,根據(jù)開源許可證的不同,對(duì)靜態(tài)鏈接與動(dòng)態(tài)鏈接是否能認(rèn)定為衍生作品,也會(huì)有所差異。
例如,GPL、AGPL許可證下則具有強(qiáng)傳染性,靜態(tài)鏈接及動(dòng)態(tài)鏈接均有可能被認(rèn)定為衍生作品;LGP、MPL、EPL許可證下則是弱傳染性,靜態(tài)鏈接通常被認(rèn)定為衍生作品,動(dòng)態(tài)鏈接可能不被認(rèn)定;MIT、BSD則屬于寬松型的許可證,具有較低的傳染性,通常不強(qiá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.