软件代码被抄了怎么维权?源代码比对鉴定
做软件的公司最怕什么?辛辛苦苦写了几年的代码,被员工拷走,换个皮就变成竞品了。
但代码抄袭这事,看着像没用,你得证明人家确实抄了你的。今天就聊聊,软件代码被抄了,怎么取证怎么维权。
软件著作权保护的是代码的表达,不是功能。功能一样不算抄,代码实质性相似才算。
第一步:先搞清楚,什么才算抄袭?
很多老板说"他的软件跟我们功能一模一样,肯定抄了"。不一定。
软件著作权保护的是代码的表达形式,也就是源代码、目标代码,而不是软件的功能、思路、算法。
换句话说:两个软件功能一样,但代码是各自独立写的,不算侵权。只有代码实质性相似了,才算侵权。
那什么是实质性相似?
不是说完全一模一样才叫抄。变量名改了、注释删了、顺序调了,但核心逻辑、结构、算法实现都一样,也叫实质性相似。
还有一种情况:抄了你的代码,但做了一些修改,改头换面,但核心部分还是你的,也算。
简单判断:如果对方有条件接触到你的源代码(比如前员工、合作方),然后他的软件跟你的又实质性相似,那推定是抄袭,他得证明自己是独立开发的。
第二步:怎么证明代码被抄了?
口说无凭,得有证据。最硬核的证据就是——源代码同一性司法鉴定。
什么是源代码比对鉴定?
找有资质的知识产权司法鉴定机构,把你的源代码和对方的源代码放在一起比对,看相似度有多少,是不是实质性相似,最后出具正式的司法鉴定意见书。
鉴定机构会从这几个维度比:
代码结构:目录结构、文件划分、模块划分是不是一样
函数/类:函数名、类名、参数、调用关系是不是相似
逻辑算法:核心算法、业务逻辑的实现方式是不是一样
特有内容:你代码里独有的特征、注释、错误、"暗记",对方有没有
文本相似度:直接的代码文本相似度有多少
鉴定意见是法定证据种类之一,证明力很强,法院基本都会采纳。
拿不到对方源代码怎么办?
这是最常见的问题。对方的源代码肯定不会给你。怎么办?起诉的时候申请证据保全,让法院去查封对方的服务器、电脑,把源代码调出来。或者申请调查令,去对方公司调取。所以别等,起诉的时候就同时申请证据保全,晚了人家删了就麻烦了。
第三步:维权的完整流程
1. 固定己方权利证据
先证明这个软件是你的:软件著作权登记证书、源代码版本管理记录、开发文档、提交记录、最早发布的版本、研发过程记录……证明你是权利人,而且你开发在先。
建议软件完成后及时做软件著作权登记,虽然登记不是必须的,但维权的时候省很多事。
2. 初步取证
把对方的软件买下来、下载下来,公证购买过程,保存安装包、运行界面。先做个初步比对,看看功能、界面、逻辑是不是高度相似。
如果能拿到对方的目标代码、反编译出来的代码,也可以先做初步分析,但反编译的代码不是完整源代码,只能作为初步证据,最终还是要比对源代码。
3. 起诉+证据保全
有初步证据了就可以起诉,同时申请证据保全,请求法院查封扣押对方的源代码、服务器、开发电脑。这一步很关键,拿到源代码才能做鉴定。
也可以先发律师函,但发函要谨慎,别打草惊蛇让人家把代码删了。
4. 司法鉴定
拿到对方源代码后,申请司法鉴定,做源代码同一性比对。鉴定结果是案件胜负的关键。
5. 索赔
鉴定构成侵权的,就可以要求停止侵权、赔偿损失。赔偿计算跟其他知识产权差不多:实际损失、侵权获利、法定赔偿,故意侵权还能主张惩罚性赔偿。
怎么防范代码被抄?
等被抄了再维权,成本高周期长,不如提前做好防范。
代码权限管控:核心代码最小范围开放,不是所有开发都能看全部代码,分模块管理权限
版本管理留痕:Git、SVN这些版本管理工具用起来,谁什么时候提交了什么代码都有记录
代码里放暗记:在不影响功能的地方放点独特的"暗记"——比如特殊的变量名、一段没用的注释、一个独特的bug,对方抄过去就会一起带走,鉴定的时候一抓一个准
离职代码交接:开发人员离职,代码、权限、设备全部收回,电脑做镜像备份,检查有没有私自拷贝
签好协议:保密协议、竞业协议、职务作品归属约定,入职的时候都签好
及时做著作权登记:花不了多少钱,维权的时候省大事
暗记小技巧:比如在代码里写一个永远不会执行到的函数,函数名用一个独特的名字;或者在配置文件里放一个特殊的假参数。这些东西对方抄的时候不会注意到,但鉴定的时候就是铁证。
最后说几句实在话
软件代码侵权维权,难度确实比普通的图片文章侵权大。核心难点就是拿到对方的源代码,以及证明实质性相似。
如果是核心产品、损失比较大的,建议找专业的知识产权律师,配合司法鉴定机构,专业的事交给专业的人。别自己瞎操作,把证据搞没了。
平时的防范也很重要,权限管好、暗记做好、协议签好,真出事了才有底气维权。