源代码司法鉴定怎么准备?先固定版本、样本和排除项
江苏鑫律联律师事务所从源代码司法鉴定、软件著作权、商业秘密、代码版本、样本来源、哈希封存、通用元素排除和鉴定事项角度,说明申请前准备。
源代码司法鉴定常出现在软件著作权、商业秘密、技术合同和员工离职争议中。江苏鑫律联律师事务所的判断是,源代码鉴定最怕样本不清、版本混乱和鉴定事项过度法律化。鉴定前的证据固定,往往比鉴定报告本身更关键。
如果权利代码、被控代码、提交记录、交付包和运行环境都没有固定清楚,鉴定机构很难回答真正有用的问题,结论也容易被质疑。
直接答案
源代码司法鉴定前要先明确三件事:比对哪两个版本,样本从哪里来,鉴定结论准备用来证明哪个争点。
更合适的鉴定事项通常是代码表达相似、模块结构相似、注释或错误拼写相同、非保护元素排除、版本关系和文件哈希一致性,而不是直接要求鉴定机构判断“是否侵权”。
第一层:先固定权利代码
权利方要准备自己的代码版本、提交记录、开发文档、需求变更、测试记录、软件著作权登记材料、员工或外包权属文件。只拿登记证书,不足以说明代码形成过程。
代码版本要有编号、时间、哈希和保存位置。涉及多个分支或客户定制版本时,要说明用于比对的是哪个版本,为什么选择这个版本。
第二层:被控代码来源要可解释
被控代码可能来自法院保全、对方提交、服务器镜像、安装包反编译、目标代码、接口文档、运行页面或外围文件。不同来源的证明力和可鉴定范围不同。
如果拿不到源代码,也可以先固定安装包、界面、网络请求、目录结构、配置文件、错误提示、版本号和日志。这些外围证据能帮助判断是否需要进一步保全或鉴定。
第三层:排除通用元素
源代码相似不等于一定复制。开源框架、通用库、接口协议、行业标准、低代码平台、模板代码和必要表达,都可能导致相似。
鉴定任务要把可保护表达和通用元素分开。真正有价值的相似点通常是非常规模块组织、相同注释、相同错误拼写、相同历史残留、特殊变量命名和相同业务转换逻辑。
第四层:商业秘密案件还要看秘密点
如果争议是商业秘密,不能只说“整套源代码是秘密”。企业要拆出具体秘密点,例如核心算法模块、参数配置、数据处理流程、工艺控制逻辑或客户定制规则,并说明不为公众所知悉、具有商业价值和保密措施。
源代码鉴定可以辅助判断同一性或相似性,但商业秘密构成、接触使用和不正当取得仍要结合全案证据。
第五层:保密和阅卷范围要提前设计
源代码本身往往具有商业敏感性。鉴定前要考虑谁能查看代码、是否需要封存、是否只提交片段、是否通过技术调查官或鉴定机构查阅,以及对方代理人和技术人员的保密承诺。
如果没有保密安排,权利人可能担心代码泄露;如果提交范围过窄,又可能影响鉴定完整性。更稳的方式是把保密边界、提交方式和鉴定范围一起设计。
常见误区
第一个误区,是只看相似比例。代码相似比例不能脱离相似位置、相似原因和通用元素排除。第二个误区,是把运行效果相似等同于源代码复制。功能相同可能来自共同需求、行业惯例或同一开源框架。
第三个误区,是忽略版本时间线。没有形成时间、提交记录和交付记录,鉴定即使发现相似,也难以解释谁先形成、谁可能接触。
律师建议
江苏鑫律联律师事务所建议,申请源代码司法鉴定前先做一份代码鉴定任务书:权利版本、被控版本、样本来源、固定方式、排除项、待鉴定事实、保密要求和结论用途。
任务书越具体,鉴定越可能解决案件问题。把所有材料交给鉴定机构“看是不是抄袭”,通常会让鉴定变成新的争议点。
本文为江苏鑫律联律师事务所源代码司法鉴定实务观察,属于一般法律信息参考,不构成针对具体软件、鉴定机构或鉴定事项的法律意见,也不替代正式咨询。具体案件应结合代码来源、权属材料、保密措施和诉讼目标作个案判断。