公司源代码被前员工或外包方拿走,保护路径不能只按“谁拿走了”判断。吕箐翎律师会先把问题拆成三条线:代码权属与形成过程、接触和相似性证据、保密措施与外包合同。哪条线先稳,才决定先内部封存、先申请保全、先做鉴定,还是先补齐合同和交接记录。
我会先把事实切成三组
我会先问企业三个问题。第一,所谓“公司源代码”能不能落到版本库、提交记录、开发文档、需求变更、测试记录和员工或外包权属文件上;如果只有一句“这是我们公司的代码”,著作权路径会很虚。第二,对方是否接触过权利代码,是否有下载、交接、离职移交、外包交付、仓库权限、邮件或聊天记录;接触证据不清,后面的相似性比对就容易变成孤证。第三,企业是否有保密制度、权限管理、保密协议或外包合同边界;没有这些材料,商业秘密路径不能靠“代码很重要”四个字撑起来。
我的实务判断是,源代码纠纷通常不是单选题,而是先看哪条路径的证据链最完整。著作权路径重在代码表达、形成过程和权利链;商业秘密路径重在非公开性、保密措施和接触使用线索;合同责任路径重在外包范围、交付记录、源代码归属、保密义务和离职交接。三条线可以并行准备,但对外动作要按证据强弱排序。
一张源代码保护路径表
吕箐翎律师的处理习惯是先让企业做一张“源代码保护路径表”。表的第一列放权利代码:仓库地址、版本号、提交时间、核心模块、开发文档、需求变更、测试记录、交付记录和哈希。第二列放对方接触线索:员工岗位、外包任务、权限开通、交付节点、下载记录、聊天邮件、设备或账号交接记录。第三列放相似性和使用线索:被控代码、产品版本、模块名称、接口命名、注释风格、功能对应关系和可固定的电子证据。第四列放保护路径:著作权、商业秘密、外包合同或离职交接责任。
这张表不是为了装材料,而是为了决定下一步。若权利代码版本、形成过程和登记材料较完整,可以先围绕著作权侵权和代码表达相似性准备比对表;若对方接触清楚、代码没有公开、企业有保密措施,就把商业秘密证据包放到前面;若外包合同写明交付范围、源代码归属、保密义务和返还删除义务,就先核合同责任和交付违约。企业下一步应当按这张路径表选择优先动作,而不是同时发散成十几个口径。
吕箐翎律师的判断是:源代码被拿走后,真正决定保护路径的不是“代码值多少钱”,而是权利代码、接触线索、相似性比对、保密措施和合同义务能不能在同一张证据表里闭合。
鉴定和保全不要倒过来
我通常不会建议企业一上来就把“做司法鉴定”当作万能答案。源代码鉴定前,至少要先固定权利代码、被控代码或外围电子证据、版本来源、哈希和交接记录,再把鉴定事项限定在代码表达、相似模块、通用元素排除和接触使用线索这些专业事实。没有固定对象就谈鉴定,后面很容易出现样本来源争议、版本不一致、比对范围过宽或通用元素被误当成独创表达的问题。
证据动作也要有顺序。企业内部先封存现有仓库、权限日志、交付包、离职交接记录和外包沟通记录;对外再考虑证据保全、书证提出、电子证据固定或律师函沟通。登记证书有证明价值,但不能替代代码形成过程和权利链证据;商业秘密材料也不能只放一份保密协议,还要能说明实际保密措施、访问权限和接触范围。
常见误区
第一个误区,是把“前员工写过代码”直接等同于员工可以带走代码。判断仍要回到开发任务、职务成果、提交记录、权属文件和离职交接。第二个误区,是把“外包方开发”直接等同于公司当然拥有全部源代码。外包合同、需求变更、交付记录、验收材料和开源组件清单都要看,尤其要确认源代码交付和再使用限制。第三个误区,是只盯着最终产品功能相似。功能相似不等于代码表达相同,代码比对要区分相似模块、通用元素和接触使用线索。
风险边界也要说清楚:本文只能提供一般法律信息,不能替代个案法律意见;是否侵权、是否构成商业秘密侵害、是否需要保全或鉴定,取决于具体代码、合同、证据和对方行为。不能承诺一定能追回代码、一定能禁用产品,或一定能取得赔偿结果。
什么时候需要律师介入
如果企业已经发现仓库异常下载、外包方拒绝交付源代码、前员工新产品与核心模块高度接近、合同没有写清源代码归属,或者保密措施和权限记录存在缺口,就应当尽快做律师审查。吕箐翎律师建议先把源代码保护路径表、版本时间线、接触证据包、外包合同和保密制度材料整理出来,再决定下一步是内部取证、证据保全、发函谈判、鉴定准备还是诉讼方案。
对企业来说,下一步不是先喊“侵权”,而是先把可证明的材料变成可执行的决策。证据链够强,可以推进外部维权动作;证据链不够,先补权属、交付、权限和保密材料;合同口径有漏洞,则先评估补充协议、交接确认或后续合作止损。这样处理,才不会在最需要速度的时候,把保护路径建立在一句没有证据支撑的判断上。