乐于分享
好东西不私藏

主张软件技术秘密,为何必须对源代码与逻辑算法分别列明秘密点?

主张软件技术秘密,为何必须对源代码与逻辑算法分别列明秘密点?

主张软件技术秘密,为何必须对源代码与逻辑算法分别列明秘密点?

作者/ 武昭宪 刘梦阳 刘乔

阅读提示

在软件行业的知识产权保卫战中,许多权利人本能地认为“保护了源代码就等于保护了软件的全部”。
然而,事情没那么简单。如果你只是死守着代码,而没有把软件里那些巧妙的设计思路、独特的运算逻辑单独记录下来,一旦员工带着这些运算逻辑结构、算法跳槽去对手公司,用另一种语言重写一遍代码,你可能很难告赢他们。

本文将结合人民法院案例库的入库案例对上述问题进行讨论:

案例一

·计算机软件技术秘密的保护对象及其证明

【裁判要旨】

计算机软件的源代码与流程、逻辑关系、算法等内容一般构成相对独立的技术信息。当事人主张计算机软件的源代码和与源代码对应的流程、逻辑关系、算法均构成技术秘密的,应当分别明确请求保护的具体技术信息并分别证明其符合法律保护条件

【判例解码】

本案的故事是这样的:北京有一家科技公司(我们叫它“A公司”),花了好几年时间研发了一套很牛的软件。公司的几名核心员工,从2004年到2013年一直在参与研发,掌握了不少核心技术。后来这几个人陆续辞职,跳槽去了另一家新公司(叫“B公司”)。
A公司发现,B公司在参加一些政府项目的软件招标时,中标的软件和A公司的软件很像。A公司急了,认为前员工肯定把公司的技术秘密带过去了,于是把B公司和这几名前员工一起告上了法庭,索赔100万。
为了打赢官司,A公司向法院列举了22项技术秘密,既有软件源代码,也有软件背后的运行流程、逻辑关系、核心算法。他们觉得,这些不都是同一个软件的不同部分吗?只要证明了代码是我的、代码被偷了,不就全赢了吗?
可结果呢?一审输了,上诉到最高人民法院,还是输了。
法院为什么判A公司输?——两个关键点
第一,代码是代码,思路是思路,法院分得很清。源代码是“表达”:它是具体实现功能的文本,是程序员写给机器看的“指令”。
流程、逻辑、算法是“思想”:它们是软件的骨架和灵魂,是解决特定问题的思路和方法。
最高院指出,二者是“互为独立的技术信息”。这意味着,即使原告对源代码采取了密不透风的保密措施,也不能当然地推定隐藏在代码背后的算法和逻辑也被采取了同样的保密措施,更不能推定它们自动满足“不为公众所知悉”的条件。因为一套经典的排序算法可能早已是行业公知常识,但用Java语言写出来的具体代码段则可能是非公知的。
第二,A公司光说有“独门秘方”,但没拿出来给大家看。针对A公司主张的秘密点3至22(即流程、逻辑关系、算法),法院提出了极高的证明标准:说明必须达到“对所属技术领域的技术人员而言足够清楚,能够依据其设计开发出对应软件功能的程度”
这是一个关键的“门槛”。A公司不能只是笼统地说“我的软件有独特的逻辑”或者“我的流程很特别”。如果A公司主张“流程”是秘密,就必须提供流程图、设计文档、概要设计说明书,清晰地展示这个流程的走向、判断节点和数据交互的特殊性;如果主张“算法”是秘密,就必须剥离出算法的数学模型、核心参数和运算步骤。
本案中,A公司仅仅提交了源代码,并试图让法院或鉴定机构通过阅读源代码去“反向推导”出其中的流程、逻辑和算法。但法院认为,源代码纷繁复杂,多层嵌套,其本身并不能直观体现这些高层次的设计信息。“看不懂”或者“需要费力推导才能懂”,都不能成为法庭采信的理由。A公司作为主张权利的一方,负有“翻译”和“提炼”的义务,必须主动向法庭解释清楚这些技术信息究竟是什么,以及它们是如何从源代码中体现出来的。
此外,除了明确信息内容,A公司还必须证明这些信息的来源和权属。对于通过长期研发积累下来的流程和算法,原告需要提供研发过程中的原始记录,如设计草案、技术评审记录、测试数据等。如果A公司无法提供这些能够追溯技术形成过程的证据,法庭将无法确认这些信息是A公司的智力成果,还是从公有领域拼凑而来。本案A公司恰恰在这一环节“失语”,未能完成初步举证,导致其主张的高层次技术信息因“无源之水”而被法庭拒绝审理。

【裁判理由】

法院生效裁判认为:从技术秘密角度而言,计算机软件的流程、逻辑关系、算法和计算机软件源代码存在如下关系:首先,计算机软件的流程、逻辑关系、算法是计算机软件源代码的基础,软件源代码是对流程、逻辑关系、算法内容的具体实现和表达。同一流程、逻辑关系、算法可通过不同的编程语言的源代码甚至同一编程语言的不同源代码进行表达。正因为如此,对源代码本身采取保密措施并不一定意味着该源代码所包含的流程、逻辑关系、算法信息必然也被采取了保密措施;在计算机技术领域中,大量经典算法对技术人员而言是一般常识,源代码具有秘密性也不必然推知其承载的“流程、逻辑关系、算法”信息一定不为公众所知。其次,一段软件源代码所包含的流程、逻辑关系可能是纷繁复杂的,也可能涉及多个逻辑关系、多个算法,甚至可能是多流程、多逻辑相互嵌套的,加之流程、逻辑关系、算法本身是高度抽象的,故即使一段软件源代码承载了特定流程、逻辑关系、算法信息,该源代码本身也并不一定能直观地体现该流程、逻辑关系、算法信息。总之,技术秘密的本质是技术信息,在计算机软件中,虽然流程、逻辑关系、算法等内容与软件源代码本身在一定程度上存在相互表征的关系,但从技术角度而言,二者依旧是互为独立的技术信息
作为商业秘密的技术信息必须具有商业价值,能够为权利人带来竞争优势。对计算机软件的”流程、逻辑关系、算法信息”技术秘密而言,这些信息虽不能像源代码一样直接复制、使用,但能够用来指导软件开发工作。精心设计的“流程、逻辑关系、算法信息”能够降低软件中的运算量,占用更少计算机系统资源,有效提高软件系统稳定性及运行维护效率。正因为“流程、逻辑关系、算法”信息的价值体现在它作为具体软件开发的基础和指导,故商业秘密侵权纠纷案件中,对此类信息具体内容的说明需要达到对所属技术领域的人或者说对软件设计和开发人员而言足够清楚,能够依据其设计开发对应软件功能的程度,否则无法知晓权利人主张的具体权利对象。同时,权利人还应当对相关信息的来源承担举证责任。就计算机软件的“流程、逻辑关系、算法”信息而言,权利人可以提供直观的证据,如己方工作中形成开发设计文档、软件设计说明书等。权利人也可以提供软件源代码作为信息载体证据,但由于源代码本身并不一定能直观地体现该“流程、逻辑关系、算法”信息,此时则需要权利人具体说明“流程、逻辑关系、算法”信息如何从源代码中得以体现,以完成其举证责任,否则无法证明相关信息的来源和权属。本案中,北京某科技公司始终未对其所称秘密点三至二十二所涉及的流程、逻辑关系、算法进行过明确、具体的说明,未明确其主张的权利对象;更未对相关技术信息的来源进行初步举证,故相关鉴定结论及一审判决未涉及上述流程、逻辑关系、算法并无不当。

案件来源:北京某科技公司诉北京某智慧公司、刘某等侵害商业秘密纠纷案(入库编号:2023-13-2-176-007)

实务经验总结

首先,再次!再次!再次提醒!诉讼前一定要把“秘密点”整理清晰
切忌将所有希望寄托于事后的司法鉴定。在提起诉讼前,权利人的律师和技术专家必须组成联合小组,对软件进行彻底的分析。
将技术信息分为“代码层”(具体实现)和“设计层”(流程逻辑)。
对于设计层信息,必须独立于代码进行证据固定。将流程图导出,将核心算法的推导过程从研发笔记中整理出来,将模块间的逻辑调用关系描绘清晰。这些文档的创建时间、修改记录,都是证明权属和形成过程的关键证据。
可以再制作一份详细的映射表,说明某一核心流程体现在代码的哪些模块的哪些函数中,以应对法庭要求的“如何从源代码中得以体现”的解释义务。
其次,日常的保密措施一定要到位,并留存好相应证据
既然代码和逻辑是独立的技术信息,保密措施也必须分层实施。
对代码的保密可以通过访问权限控制、代码加密、物理隔离等方式,防止代码被非法复制。
对设计文档的保密可以将设计文档、算法说明书、架构设计图等作为比代码更高密级的资产进行管理。在员工权限上,区分“代码开发权限”和“核心设计文档查阅权限”。许多离职员工虽然带不走整个代码库,但其脑海中记忆的架构逻辑才是最致命的。通过严格的分级查阅制度,可以在一定程度上削弱这种风险,并在诉讼中证明对该部分信息采取了“相应保密措施”。
最后,如果被告完全复制了代码,主张源代码秘密即可,通过代码比对鉴定证明侵权。如果被告规避了代码侵权,但用另一语言重写,此时不能死磕代码比对,而应重点主张流程、逻辑关系、算法构成技术秘密。此时,原告在诉前准备的独立设计文档、架构图等将成为定案的关键。本案的裁判要旨实际上为这种“非代码级”抄袭提供了一条救济路径,但这条路径的门槛就是极其清晰的预先固定证据
技术秘密的保护,功夫在诉前。千万不要等到法庭上才去想自己的秘密到底是什么。将无形的智力成果转化为有形的、清晰的、可被法庭认知的技术信息,是每一位软件开发者和知识产权管理者必须修炼的内功。

本文系依据作者个人对法律、案例的理解以及结合自身经验而形成,仅供学习交流之用,不构成任何法律指导意见。鉴于实践中个案情况不同,具体案件需结合实际情况进行分析。如对本文涉及内容感兴趣,欢迎随时与我们交流探讨。

律师简介

武昭宪律师,北京云亭律师事务所合伙人、专利代理师,兼具工学、法学复合背景,现任云亭知产与竞争法业务部委员、云亭公司投资并购专委会委员。

从业以来承办大量侵害商业秘密民事及刑事案件、公司投融资领域诉讼仲裁案件、企业破产清算项目等,在知识产权综合保护、民商事争议解决、公司诉讼及非诉业务领域经验丰富。

成员介绍:

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 主张软件技术秘密,为何必须对源代码与逻辑算法分别列明秘密点?

猜你喜欢

  • 暂无文章