高 凡
(中南大學 法學院,湖南 長沙 410000)
軟件反向工程,是對現有的軟件目標代碼進行分解,利用反匯編、反編譯技術回溯源代碼,進而分析軟件的原理、流程、算法、結構等的軟件開發方法。作為與正向工程相對的重要軟件開發方法,其具有正向工程所不能達到的多項功能,例如開發兼容性軟件、測試軟件質量、檢查惡意軟件、司法取證等[1]。
我國關于技術措施的規定主要來源于《世界知識產權組織著作權條約》(簡稱WCT)和《世界知識產權組織表演和錄像制品條約》(簡稱WPPT)。我國現行《著作權法》并未對技術措施的定義加以明確規定,但《信息網絡傳播權保護條例》(1)“第二十六條”規定了該條例中技術措施的定義。
2014年6月,國務院法制辦公布的《中華人民共和國著作權法(修訂草案送審稿)》(2)〔以下簡稱送審稿(2014)〕中規定:“本法所稱的技術保護措施,是指權利人為防止、限制其作品、表演、錄音制品或者廣播電視節目被復制、瀏覽、欣賞、運行、改編或者通過網絡傳播而采取的有效技術、裝置或者部件。”這與《信息網絡傳播權保護條例》的定義基本相似。2020年4月30日全國人大常委會公布了《中華人民共和國著作權法(修正案草案)》(3)〔以下簡稱草案(2020)〕,不僅將所有的“技術保護措施”替換為“技術措施”,而且刪除了規定技術保護措施定義的條款。筆者認為,之所以在草案中仍未對技術措施下定義,主要原因是學理上和司法實踐中對于何為應受著作權法保護的技術措施這一問題還存在爭議,即使上述定義被采納亦無法消除,有待進一步明確之后再做立法規定。正如王遷教授在其文“‘技術措施’概念四辯”中對技術措施與純粹技術性手段、權利管理信息、數字權利管理系統之間的關系辨析,以及對實施技術措施的著作權人與被許可人的訴權差異的探討[2]。
雖然技術措施的定義還存在一定爭議,但已經明確的是技術措施與軟件反向工程有著密切的聯系。一方面,技術措施用以保護著作權人的作品,防止他人未經許可對作品進行軟件反向工程;另一方面,要實施軟件反向工程就必須避開作品設置的技術措施,二者看似矛盾,實質上是著作權人和反向工程實施者之間的利益博弈。因此,要平衡兩者之間的利益,就要處理好軟件反向工程與技術措施之間的關系。
對技術措施的著作權法保護,一般采取反規避(anti-circumvention)立法的方式,即通過禁止規避技術措施的行為來達到保護效果,禁止越全面則保護水平越高。同時,為反規避規則設置例外或限制也是衡量著作權保護水平是否合理的重要因素[3]。
世界知識產權組織的WCT(4)和WPPT(5)兩大條約中規定,版權人可以設置有效的技術措施來保護作品,并且禁止非法用戶在未授權的情況下規避。同時,公約也規定各國可以對版權人享有的著作權作出一定限制和例外。由于公約只進行原則性制度安排,其對軟件反向工程規避技術措施的情況并未作詳細規定。美國的《數字千年版權法》(6)(簡稱DMCA)第1201節第(f)項規定,在為了獲取計算機軟件兼容性信息而進行軟件反向工程時,可以規避技術措施。但是,必須明確該條款的實施條件有二:一是開發者合法地取得了使用該計算機程序的權利;二是其目的是單純識別或分析程序的組成,以便達到與其他程序箱兼容,同時,該行為還要以DMCA所允許的程度為限。歐洲國家對版權保護水平普遍較高,《信息社會版權指令》(7)對直接或間接規避技術措施的行為一律禁止,但也設置了技術措施的限制和例外,沒有提及軟件反向工程。與該指令并行的《計算機程序指令》(8)規定軟件反向工程不得用于生產規避技術措施的軟件。國際條約、美國和歐盟法律在軟件按反向工程受技術措施約束方面的態度是一致的,軟件反向工程不受技術措施限制,但軟件反向工程本身不得針對技術措施,損害版權人利益[4]。
在我國,傳統的著作權法律制度并不以數字作品的保護為預設,互聯網技術的迅速發展使得圍繞數字作品的著作權保護更為困難,甚至難以尋求法律救濟[5]。目前,我國關于技術措施的規定散見于《著作權法》《計算機軟件保護條例》《信息網絡傳播權保護條例》等法律法規中。《著作權法》(9)“第四十八條”第6款與《計算機軟件保護條例》(10)“第二十四條”第3款作了近似規定,未經著作權人或者與著作權有關的權利人的許可或者相關法律法規的授權,故意避開或者破壞著作權人為保護其軟件著作權而采取的技術措施的,應承擔相應法律責任,兩者都只規定了禁止故意避開或者破壞技術措施,這樣的規定簡單而籠統,遠不能滿足司法實踐的需求。《信息網絡傳播權保護條例》不僅在“第四條”作了同上的禁止性規定,而且規定了技術措施的定義以及故意避開、破壞技術措施的法律后果,并在“第十二條”規定了4項禁止規避技術措施的例外情形,但并未為軟件反向工程設置例外。
對比國內外禁止規避技術措施的情形及其例外之規定,基于我國軟件產業發展相對落后的基本國情,筆者認為,現行的《著作權法》及相關法律制度在軟件反向工程規避技術措施例外的立法上,主要存在以下幾個方面的問題。
第一,禁止規避條款中的權利人所指對象不明。條款明確了技術措施的使用主體應當是“著作權人或者與著作權有關的權利人”。“與著作權有關的權利人”明顯是指表演者和錄音錄像制品制作者等鄰接權人,是否將被許可人納入存在疑問。如果回答是否定的,就意味著被許可人沒有訴權,不能針對規避技術措施的行為提起訴訟,此類行為實際上就無法通過民事訴訟得到遏制。就軟件反向工程針對的作品,如果該作品的被許可人認為開發者確實實施了侵權行為而此時無權提出法律救濟,則會導致維權困難。
第二,未對權利人實施技術措施作出限制。條款中規定保護對象是“權利人為保護其軟件著作權而采取的技術措施”,但為保護其軟件著作權這一條件某種層面上難以清晰界定。首先,技術措施控制性、交互性、自我救濟能力強,有侵犯用戶隱私和數據安全的風險;其次,技術措施的實施主體亦有披露一定信息、保障用戶知情權的義務[6]。因此,未對權利人實施技術措施作出限制是規定的不完善之處。
第三,未規定軟件反向工程規避技術措施的例外情況。《著作權法》作為著作權保護領域的上位法,未在此層面上作出例外規定,實質上是與國際條約和國外先進立法脫軌的,對技術措施的強保護與我國還需大力發展的軟件產業背景不符,如若對所有技術措施進行一概保護,實質上是阻斷了開發者進行必要的軟件反向工程。因此,有必要為軟件反向工程設置例外條款。
草案(2020)“第四十八條”規定了5項規避技術措施的例外條款,是首次在著作權法層面上推翻了一律禁止規避技術措施的情形。草案中明確的5種例外情形,分別是“教學和科研”“向盲人提供已發表的作品”“國家機關執行公務”“安全性能檢測”和“進行加密研究或者計算機軟件反向工程研究”。一方面,此條規避技術措施的例外條款基本達到了國際立法水平;另一方面,技術措施規避免責的情況仍然是圍繞合理使用的情形,且合理使用并不僅是“目的”合理,而是“手段”也要合理,如“第四十八條”第1款第1項中規定的“少數教學、科研人員”“無法通過正常途徑獲取”等。在軟件反向工程方面,規避技術措施例外條款首次在著作權法上將此概念納入,對算法黑箱透明化,促進我國軟件產業的發展具有十分重要的意義[7],但是該條款對軟件反向工程的實施條件和規則等缺乏具體規定。
1.在著作權法層面上確認了軟件反向工程的合法性
如前所述,現行著作權法律制度對軟件反向工程采取了回避的態度,存在理論空白,不僅引起了學界對其合法性的爭議討論,也給司法實踐留下了許多疑問。從美國、歐盟等發達國家的立法和司法實踐來看,承認軟件反向工程的合法性已經成為一種必然趨勢;從我國軟件產業發展的實際需求來看,澄清該問題,為競爭創造更透明的環境是十分必要的[8]。草案(2020)在規避技術措施例外條款中納入軟件反向工程,其重要的意義之一就是在著作權法層面上確認了軟件反向工程的合法性,這對鼓勵競爭,營造良好的軟件開發環境十分重要,是軟件產業尚不發達的我國對軟件反向工程的應有態度。
2.否定了禁止軟件反向工程條款的效力
由于現行法律法規對軟件反向工程的規定缺失,合同中禁止軟件反向工程條款的效力一直存在爭議,實踐中的相關案件也缺少可尋求支持的法律依據。一方面,合同中的條款只要在雙方達成合意且不違反法律的強制性規定,應當是有效的;另一方面,若禁反條款一律有效,則可能導致軟件權利人處于技術壟斷地位,從而限制信息資源的共享、切斷公眾獲取思想的可操作途徑,同時在無形中提高了研發成本,并阻止了其他維護社會公益的使用,如開發兼容軟件、排除故障、司法調查取證和破解惡意插件等[9]。此次草案新增了軟件反向工程等規避技術措施例外條款,事實上否定了合同中禁反條款的效力,利于上述問題的解決。
3.有利于算法黑箱透明化,促進軟件產業的發展
算法是指按照設定程序運行以期獲得理想結果的一套指令,是人工智能的基礎。人工智能算法不公開、不透明,被稱為“算法黑箱”,這是人工智能時代面對的新型問題之一。學界對算法透明存在爭議,但大多數學者呼吁算法透明且透明化的結果利大于弊。算法黑箱透明不僅可以緩解信息不對稱,打破技術中立,而且有利于平衡各方利益,加強公眾監督,保護其隱私權。算法黑箱透明化的途徑是多種多樣的,如直接的算法公開,或是間接的算法備案和注冊,以及通過軟件反向工程推算出目標程序的源代碼(即算法)。在特定條件下實施軟件反向工程,能夠推動算法黑箱透明化,這是符合我國當前信息網絡技術高速發展的基本國情的。
1.未明確軟件反向工程規避技術措施的實施條件
草案(2020)的例外條款雖然在著作權法層面上確認了軟件反向工程的合法性,但僅是簡單規定進行計算機軟件反向工程可以避開技術措施,未規定應符合何種實施條件。從性質上看,軟件反向工程是對軟件權利人利益的一種限制,它必須在法律所允許的限度內而不能過分損害權利人利益。因此,應當在充分平衡軟件權利人、反向工程實施者以及社會公眾等多方利益的基礎上規定實施軟件反向工程的條件。從美國的立法經驗來看——美國規定在為了獲取計算機軟件兼容性信息而進行軟件反向工程時,可以規避技術措施——可以看出實施軟件反向工程必須以獲取兼容性信息為目的,但在軟件產業尚不發達的我國,則不應當進行此限制。筆者認為,實施軟件反向工程是否合法應當考慮實施的軟件本身來源是否合法,明確軟件的占有使用者以及軟件權利人的委托方能否成為實施主體;還應當考慮在實施軟件反向工程的過程中如何應對各方權利人關于商業秘密的沖突。草案中的條款未明確軟件反向工程的實施條件,容易引起爭議。
2.未規制軟件反向工程規避技術措施的技術結果
軟件反向工程并不以通過反編譯技術獲得目標程序的源代碼為最終目的,許多反向工程實施者在獲得的源代碼的基礎上,進一步研發達到更高層次的技術目的,如學習和分析軟件的算法結構來創新開發新的軟件產品,或者開發實施對象的兼容性產品,因為反向工程往往是獲取軟件兼容性信息的唯一辦法,還能鑒定軟件權利人是否侵犯了自己的知識產權等。但若不對軟件反向工程的技術結果進行一定的規制,則有可能被他人濫用、侵害軟件權利人的利益。例如,一些研發團隊或者個人通過軟件反向工程來研究競爭對手的軟件產品,開發高度相似產品擠占市場,這就涉及了著作權法意義上的抄襲和剽竊,雖然借鑒他人成功的作品一直是軟件產業蓬勃發展的重要途徑,但若不進行一定限制則會損害軟件權利人的利益。因此,應當在允許軟件反向工程的同時對其技術結果進行一定的規制。
如前文所述,規定軟件反向工程的實施條件是將對軟件權利人利益的限制控制在法律允許的范圍內。草案(2020)僅簡單規定實施計算機軟件反向工程可以避開技術措施,而未對實施條件進行詳細規定和說明是不能滿足司法實踐需求的。從國內外的立法經驗和司法實踐來看,筆者認為應從以下幾個方面規定軟件反向工程的實施條件。
1.實施對象的獲取應當合法,即反向工程實施者應當合法取得該軟件的所有權或者使用權[10]。首先是軟件的所有權人,當實施者以交易、贈與、繼承等合法手段取得軟件所有權后,其依據自己的意志對軟件進行拆解、測試和分析應當被允許,因為在這個過程中他們投入了大量的資金和精力,其所做的工作應當被認可為創造性勞動;但實施者若以盜竊、詐騙等非法手段取得軟件所有權時,則其當然不享有對軟件合法處分的權利。因此,軟件所有權人是否具有實施軟件反向工程的資格,應當考慮其獲得軟件所有權的方式是否合法。其次是對于軟件所有人以外的合法使用是否適合,具有一定的爭議,筆者認為,僅有使用權而無所有權則不能進行軟件反向工程:一方面,使用人是僅被賦予使用權利的人,除此之外其不應當擁有其他方面的處分權;另一方面,若是所有的合法使用者均能夠實施軟件反向工程,則其主體范圍過于寬泛,對軟件所有權人來說顯失公平,其利益易受到侵害。最后是受委托人,即所有權人委托的他人能否進行軟件反向工程,在司法實踐中,我國已有許多法院在判決中認定此類行為合法,肯定了受委托人實施軟件反向工程的主體資格。綜上所述,軟件所有權人、受委托人實施軟件反向工程主體合法,但軟件的占有使用人則不應當被允許實施軟件反向工程。
2.軟件反向工程實施者對實施對象不負有保管其商業秘密的義務。如果軟件反向工程實施者是實施對象的內部技術人員,知曉該軟件的商業秘密,則其不能以實施軟件反向工程作為獲取或者使用商業秘密的抗辯[11]。此時,雙方基于合作關系互負義務,技術人員所承擔的保密義務應當優先于其實施軟件反向工程的權力。一方面,保密條款應當被遵守;另一方面,若知曉商業密碼的內部技術人員實施軟件反向工程,則是對軟件所有權人利益的不合理限制。在司法實踐中也已有相關判例。在最高人民法院審理的某機電設備有限公司和某量子科技有限責任公司侵害商業秘密糾紛一案(11)中,被告主張涉案技術秘密可以通過軟件反向工程獲得,不存在商業秘密,但法院在判決中認為原告對于其主張的商業秘密已經采取了合理的保密措施,雙方的各項協議中均含有保密條款,即被告負有保密義務而不能以實施軟件反向工程為由進行抗辯。
3.軟件反向工程實施者不能通過其他途徑獲取軟件信息,且其所獲得的信息不能擴散至其他人。能夠獲得軟件信息的途徑很多,如果通過查閱公開信息等途徑獲得軟件程序,則無需實施軟件反向工程,設置此前提的目的依然是為了防止技術濫用。美國、俄羅斯等國家均有此規定,即軟件反向工程應是獲取軟件信息的唯一最終選擇。其次,為了充分保障版權人的利益,合法獲得軟件信息之后不能進一步擴散,即權利限制應當在法律允許的范圍內而不能隨意擴大[8]。筆者認為,軟件反向工程應被鼓勵實施而不能夠隨意實施,設置其作為別無他選、無可替代的最終技術選擇是合理的,在反向工程實施者合法地實施軟件反向工程之后,若未妥善保管和使用軟件信息,其對于軟件版權人遭受不必要的損失應當承擔法律責任。
如前所述,規避技術措施例外條款是草案(2020)的新增內容,具有十分重要的意義,但仍是圍繞合理使用的情形。美國等軟件產業發達的國家對實施軟件反向工程的目的限制為單純識別或分析程序的組成,以便達到與其他程序箱兼容;版權保護水平較高的歐盟幾乎對所有規避行為一律禁止,例外情形也沒有囊括軟件反向工程。對于軟件產業尚不發達的我國來說,應當在借鑒國外先進立法經驗的同時,為軟件反向工程營造一個相對寬松的法律環境,但為了保護版權人的利益,防止軟件反向工程被濫用,對其實施目的或者技術結果進行一定的規制也是十分必要的。
首先,要放開以獲取兼容性信息為目的的限制[9]。一方面,通過實施軟件反向工程,學習和借鑒成功產品的設計思路和研發經驗,創造出新的產品,不僅有利于激發研發者的科研潛力和興趣,而且有利于我國軟件產業的發展。另一方面,限制以獲取兼容性信息為目的不利于軟件所有權人發現侵權行為,因為要證明他人實施軟件反向工程不是以獲取兼容性為目的十分困難。其次,要放開圍繞合理使用為目的和手段的限制。實施軟件反向工程的企業多數以營利為目的,將軟件反向工程限制在“為個人學習”“不以營利為目的”等目的和手段中明顯阻礙企業為研究軟件而進行反向工程,這與立法目的相悖。同時,也應當作出一定的限制,因為著作權法律制度雖是出于對社會公共福利的考慮,但也應當兼顧版權人的利益。如美國、歐盟等發達國家都規定軟件反向工程不得用于生產規避技術措施的軟件,軟件反向工程本身不得針對技術措施,損害版權人利益。我國也可以借鑒,明確反向工程只能出于正當目的實施,要求實施者必須投入精力和資金,其技術結果應當具有獨創性價值,防止軟件反向工程被濫用,防止盜版,保護權利人的利益。
著作權法是在充分考慮和衡量各方利益的基礎上作出規定,其立法宗旨是維護全社會的公共利益。雖然法律能考量大多數的情況,但不妨給軟件反向工程的權利雙方一些自由協商的余地。因此,筆者建議,建立軟件版權人與反向工程實施者之間的溝通協商機制,能夠使雙方在自由平等的地位和溝通環境中對軟件反向工程的實施授權、獲利分配、對版權人的補償等方面進行溝通協商,在雙方自愿達成合意且不違反法律法規的規定時應當尊重其意想自治。這不失為一個化解爭議的可取方法。
此外,軟件反向工程首次在《著作權法》中納入,應當進行普法宣傳。著作權法律制度是平衡著作權人、使用者、傳播者等各方利益的基本法律,通過立法來保護和引導各方的權利和行為。就軟件反向工程而言,許多軟件研發團隊和個人對涉及軟件的著作權保護規范還缺乏了解,在研發過程中容易因擔心侵權而畏首畏尾或者侵權而不自知,這是軟件產業發展的一個急需解決的問題。草案(2020)首次將軟件反向工程納入,更應當進行普法宣傳,讓各方主體明確權利的邊界、實施的條件等。
綜合上述建議,針對草案(2020)第四十八條,筆者建議增加軟件反向工程規避技術例外條款的具體規定:“計算機軟件的所有權人和受所有權人委托的人,可以實施軟件反向工程,但不得將通過軟件反向工程所獲取信息提供給他人,不得用于開發與實施對象實質性相似的計算機程序,不得用于任何侵犯著作權的行為。”這樣在肯定反向工程合法地位的同時,也可突破軟件反向工程圍繞合理使用和為獲取軟件兼容性信息的限制,同時對軟件反向工程的結果進行合理規制,建立“放開與限制”的雙向規制機制。
軟件反向工程是發展軟件產業的有效技術手段,對于軟件產業尚不發達的我國,將其納入著作權法的規制范圍具有十分重要的意義。草案(2020)首次在規避技術措施例外條款中將計算機軟件反向工程納入,不僅確認了軟件反向工程的合法性,否認了禁反條款的效力,而且有利于算法黑箱透明化,保護社會公眾的利益,促進軟件產業的發展。但條款僅作了簡單規定,而未對軟件反向工程的實施條件等作進一步說明,應當在接下來的立法或者司法解釋中予以明確,為軟件反向工程的實施、軟件產業的發展營造一個良好、寬松、合理的法律環境。
[注釋]
(1) 參照《信息網絡傳播權保護條例》第4條、第12條。
(2) 參照2014年6月國務院法制辦公布的《中華人民共和國著作權法(修訂草案送審稿)》第68條、第69條、第71條。
(3) 參照2020年4月全國人大常委會公布的《中華人民共和國著作權法(修正案草案)》第48條。
(4) 參照《世界知識產權組織著作權條約》第12條。
(5) 參照《世界知識產權組織表演和錄像制品條約》第18條。
(6) 參照美國《數字千年版權法》第1201節。
(7) 參照歐盟《信息社會版權指令》。
(8) 參照歐盟《計算機程序指令》。
(9) 參照《著作權法》第48條第6款。
(10) 參照《計算機軟件保護條例》第24條第3款。
(11) 參照最高人民法院(2017)最高法民申1650號民事裁定書。