办公室里,一位当事人忧心忡忡地坐下,手里拿着一份厚厚的软件著作权侵权案的鉴定报告。“叶律师,鉴定意见说我们的代码有百分之五十的相似度,这官司是不是输定了?”类似的问题,我在处理这类案件时经常听到。今天,我想通过几个简单的例子和一份真实的鉴定报告,和大家聊聊软件著作权案件中,源代码比对这个看似专业,实则存在诸多“陷阱”的环节。
很多人以为,判断软件是否抄袭,就是把两段代码放在一起,看看有多少行是相同的。这其实是一个巨大的误区。软件的核心不是文本,而是它背后的运行逻辑和功能实现。我举个例子:一个计算圆周率后三位的程序,用不同的算法来写,代码文本可能截然不同。一种可能是通过一个正方形内画圆,用随机点模拟来计算面积比;另一种可能是使用数学上的级数展开公式。它们最终在屏幕上输出的都是“3.141”,但实现这个结果的思考路径和代码表达,可以说是完全两样。
这就好比两个人,都有一双眼睛、一个鼻子、一张嘴,从外观的“代码行”上看,这些“特征”是相同的。但能因此就说他们是同一个人吗?显然不能。软件也一样,仅凭代码文本的相似比例来判断侵权,就像只比较两个人的五官特征就断定他们是同一个人,非常粗糙,也极易出错。真正的核心,应该去探究代码背后的“大脑”——也就是它的运行逻辑和算法思想是否相同。
前面说的还是原理问题,而在实际操作中,有些鉴定报告的做法,可能会让专业人士感到困惑。我曾分析过一份二审阶段的鉴定意见,其粗糙程度让我印象深刻。首先,它的鉴定依据就很有意思,前面几条引用的居然是国际商事仲裁协议、知识产权组织的公约,然后把我国的《著作权法》也列为“鉴定依据”。这就像裁缝做衣服,不拿尺子和布料标准当依据,却把《消费者权益保护法》挂在墙上当尺子用,方向完全不对。
更关键的操作问题在后面。鉴定人员把涉案软件中多达五百多个源代码文件,全部打开,把内容一股脑地复制粘贴到一个巨大的文本文档里。在软件开发领域,这就像把一栋大楼的所有砖头、钢筋、水泥不分种类地堆在一起,然后说“我们来比比这两堆材料”。它完全忽视了软件的文件结构、模块划分和工程逻辑。
接着,他们只选取了软件中关于“窗体”(也就是软件界面)的几个文件进行比对。比对后发现,这些窗体文件的代码有约50%的行是相似的,于是得出结论:两个软件具有“同一性”。这相当于什么呢?相当于比较两辆汽车,只看了它们的车门和车窗的图纸,发现有部分线条重合,就断定两辆车的发动机、底盘和整个制造技术都是一样的。界面元素(按钮、窗口)的代码因为要实现类似的功能(比如显示一个文本框),使用同一套开发工具时,本就有可能写出相似的代码,但这绝不代表软件的核心功能和独创性部分被抄袭了。
说这些,并不是要全盘否定鉴定意见,而是希望当事人和家属能理解这里面的复杂性。当你或你的公司面临软件著作权的指控时,看到一份写着“相似度百分之XX”的鉴定报告,先不要慌乱。作为辩护律师,我们的工作就是穿透这些表象数字,去审视鉴定的方法论是否科学。
在实践中,我们会重点审查几个方面:第一,鉴定比对的对象是否合理?是比对了完整的、能反映软件核心逻辑的代码,还是只比对了无关紧要的界面或通用库文件?第二,鉴定的方法是什么?是机械的文本行比对,还是深入分析了代码的算法逻辑、结构顺序和表达方式?第三,鉴定机构和人员是否具备相应的专业技术资质?他们对所鉴定的软件所属的编程语言和开发领域是否真正精通?
法律保护的是软件作品中具有独创性的表达,而不是实现某种功能的唯一方法。就像用中文和英文都能写出一篇优美的文章来描述春天,你不能因为都提到了“花”和“阳光”,就认定后者抄袭了前者。在法庭上,通过对鉴定意见本身进行专业、有力的质证,往往能为案件打开新的局面。
技术在飞速发展,而法律和实践中的一些认定方法有时会显得滞后。作为执业多年的律师,我深感在知识产权尤其是软件这类技术型案件里,辩护的核心不仅是法律条文,更是对专业技术的理解。看清代码背后真正的逻辑,才能更好地维护当事人的合法权益。
叶斌律师,刑事辩护律师,浙江允道律师事务所主任,创始合伙人,执业十八年以来,专注刑事辩护领域,带领团队办理刑事案件超2000件,成功帮助上千名当事人争取到取保候审、不起诉、缓刑及罪轻判决。在诈骗罪、非法经营罪、开设赌场罪及卖淫类犯罪,销假类犯罪,性侵类犯罪,毒品犯罪等各类刑事案件有极其丰富的办案经验。团队承诺专业服务、追求有效辩护,在杭州有良好的口碑。