【商业秘密-案例解析2】计算机软件技术秘密:源代码不等于流程和算法

在上一期案例中,我们讨论了增值税发票上的客户信息为何难以构成商业秘密。这一期,我们把视线转向技术秘密领域,特别是计算机软件类技术秘密的保护。很多软件企业认为,只要我把源代码视为核心机密,签了保密协议,就能自动覆盖源代码背后的“流程、逻辑关系、算法”。事实果真如此吗?最高法2021年审结的一个案子给出了明确的否定答案。
一、案情速览
原告北京某科技公司,起诉被告北京某智慧公司以及数名曾在其公司任职的员工刘某等人。原告主张,刘某等人于2004年至2013年9月期间在原告处任职,参与了部分关键软件技术的研发,接触到了原告的核心技术秘密和经营秘密。离职后,这些员工陆续加入被告公司。原告发现被告在多个软件招投标项目中,利用这些员工带出的技术秘密和经营秘密,导致原告遭受重大经济损失和名誉损失。原告提起诉讼,要求停止侵害、消除影响、赔偿损失100万元。
二、一审与二审:原告为何败诉?
北京知识产权法院一审驳回了原告的全部诉讼请求。原告不服,上诉至最高人民法院。上诉理由主要集中在一审遗漏了其请求鉴定的第三至二十二项秘密点的流程、逻辑关系、算法等比对内容,认为比对方法有误。最高人民法院二审维持原判,驳回上诉。
三、最高法裁判逻辑:源代码与流程、逻辑关系、算法是相对独立的技术信息
最高法在本案中梳理了一个非常关键的技术法律问题:计算机软件的流程、逻辑关系、算法,与软件的源代码到底是什么关系?
第一,二者相互关联但不相等。流程、逻辑关系、算法是源代码的基础和抽象指导,源代码是对这些内容的具体实现和表达。同一套流程和算法,可以用不同编程语言甚至同一语言的不同写法来实现。所以,对源代码本身采取保密措施,并不当然意味着这些源代码所承载的流程、逻辑关系、算法也自动被采取了保密措施。
第二,源代码的秘密性不等于流程、逻辑关系、算法的秘密性。在计算机技术领域,大量经典算法对技术人员而言属于一般常识。即使源代码不为公众所知,也不能反过来推定它所承载的流程、逻辑关系、算法就一定不为公众所知。这两者的保密状态需要分别证明。
第三,流程、逻辑关系、算法是高度抽象的。一段源代码可能包含极其复杂的多重嵌套逻辑,但源代码本身并不一定能直观地体现这些抽象信息。权利人如果想要主张这些抽象信息构成技术秘密,就必须自己把它们说清楚,而不是扔一堆代码给法院或者鉴定机构。
基于以上认识,最高法进一步提出了权利人应当履行的举证责任:对于计算机软件的“流程、逻辑关系、算法”这类技术秘密,权利人需要对其具体内容作出明确、清楚的说明。这种说明的标准是:达到所属技术领域的人员,或者说软件设计和开发人员,能够依据该说明设计开发出对应的软件功能。此外,权利人还要对相关信息的来源承担举证责任。比如提供开发设计文档、软件设计说明书等直观证据;如果只提供源代码作为载体,那么必须具体说明这些“流程、逻辑关系、算法”是如何从源代码中体现出来的。
本案中,原告自始至终没有对其主张的第三至二十二项秘密点所涉及的流程、逻辑关系、算法进行过明确、具体的说明,没有说清楚自己到底要保护什么技术信息,更未对信息来源进行初步举证。因此,法院根本没法处理这些秘密点的鉴定和比对,一审和二审不支持原告,也就是必然的结果。
四、律师解读:软件企业保护技术秘密,最容易踩的坑
第一,不要把源代码和背后的设计思想混为一谈。很多软件公司法务或者技术负责人觉得,我只要把源代码管好了,里面的算法和逻辑自然就是保密的。这个案例告诉我们:法律上两者是独立的。就算你证明了源代码是秘密,也不能自动证明流程、逻辑关系、算法也是秘密。
第二,抽象描述等于没有描述。在诉讼中,权利人不能说“我保护的是一款软件的自动配货算法”,这种笼统的描述没有意义。你必须把算法的输入、输出、关键步骤、特殊处理逻辑等具体化,达到同行看了能够据此写出代码的程度。否则法院无法确定你的秘密点到底是什么,也无法进行侵权比对。
第三,内部文档是重要的证据。最高法专门提到,权利人可以提供开发设计文档、软件设计说明书作为证据。很多企业根本不保留这些过程文档,或者文档写得极其简略,等到打官司时拿不出来,只能寄希望于源代码鉴定。但源代码本身如果不能直观体现流程和算法,鉴定机构也帮不了你。
第四,注意技术秘密与专利保护的区分。如果你的一项核心算法确实具有高度创新性,又无法通过保密措施有效控制(比如软件需要对外发行,反编译风险高),那么考虑申请专利可能是更稳妥的选择。技术秘密保护的优势是没有期限,但代价是必须采取严格的保密措施,且一旦泄露无法追回。这个选择需要结合具体商业场景做出。
五、合规建议:软件企业应当如何操作
建立技术信息分级管理制度。把源代码、核心算法描述、流程设计文档、数据结构设计等分别列为独立的技术秘密,并在内部保密制度中明确列出每一项的具体名称和范围。
保留完整的设计开发文档。从需求分析、概要设计、详细设计、流程图、伪代码到测试用例,形成完整的文档链。这些文档不仅是技术管理的需要,更是未来维权时的关键证据。
对员工进行针对性保密培训。不仅要告知“不得泄露代码”,还要告知“不得泄露与代码相关的设计思路、流程图、算法逻辑”,并且在劳动合同、保密协议中将这些抽象信息也列为保密对象。
在诉讼准备阶段,提前与技术专家和律师配合,将秘密点从源代码中“提取”出来,写成符合法院要求的明确、具体的文字说明,并准备好能够证明信息来源的文档。不要等到鉴定阶段才临时概括。
六、结语
最高法这个判决,给所有以软件为核心资产的企业敲了一记警钟:技术秘密的保护对象必须具体、明确,举证责任在权利人。你以为你保护的是全套“技术”,但法院只看你拿出来的是什么。源代码也好,算法也好,流程文档也好,哪个说不清楚,哪个就得不到保护。与其在法庭上懊悔,不如在日常开发管理中,就把每一件该落地的文档、该明确的秘密点都做到位。
本文为律师个人分析,不构成正式法律意见。如有具体案件,请咨询专业律师。