某创业公司上线半年后发现,一家竞争对手的产品界面、接口命名甚至代码注释都与自家高度雷同,怀疑是离职技术总监带走了源代码。可对方拿出一份独立开发的说明,还声称代码逻辑属于思想范畴不受保护。软件代码被抄袭的难点正在于此:著作权只保护表达不保护思想,你必须同时证明两件事,即双方代码构成实质性相似,且对方有接触你代码的机会。
一、软件代码被抄袭怎么举证?
司法实践中,软件著作权侵权通常采用实质性相似加接触的判定思路:先剥离不受保护的部分,再比对受保护的表达是否构成实质性相似,最后结合被告是否有接触可能来排除独立创作或巧合。独立创作、表达方式有限、使用相同开源代码或受行业标准与兼容性限制等,都可以作为不侵权的抗辩事由。权利人可以走著作权路径,也可以在源代码符合商业秘密构成要件时选择不正当竞争路径,两条路的举证重点并不相同。
二、法律规定是怎么说的
《中华人民共和国著作权法》第三条将计算机软件列为受保护的作品类型。《计算机软件保护条例》第二条明确,软件是指计算机程序及其有关文档;第六条明确软件著作权的保护不延及开发软件所用的思想、处理过程、操作方法或者数学概念等,这正是过滤公共部分的法律依据。赔偿方面适用《中华人民共和国著作权法》第五十四条规定的实际损失、侵权获利、权利使用费顺序与惩罚性赔偿规则。如果源代码同时符合不为公众所知悉、具有商业价值并经权利人采取相应保密措施的要件,还可以依据《中华人民共和国反不正当竞争法》第九条主张侵犯商业秘密。
三、你该怎么做(分步骤)
- 第一步:固定权属证据。整理Git或SVN的完整提交历史与提交时间、代码仓库访问日志、需求文档与评审记录、软件著作权登记证书、首次发布或上线时间证明。权属证据的时间点应当早于对方产品的发布时间。
- 第二步:固定侵权证据。通过公证购买对方产品或公证下载安装包,保全版本号、发布日期、更新日志与功能界面;对客户端软件可在申请证据保全后由鉴定机构进行反编译比对。
- 第三步:做比对分析。通常采用抽象、过滤、比较三步法:先按功能模块分层抽象,再过滤掉思想、有限表达、第三方开源代码、通用算法与受兼容性限制的写法,最后比对剩余表达是否构成实质性相似,包括变量名、函数名、注释文本、错误写法、冗余代码等个性化痕迹。
- 第四步:证明接触可能。收集被告曾接触代码的证据,如离职员工曾参与开发并签有保密协议、曾交付源代码或提供技术支持、双方有过合作洽谈、代码曾公开发布于开源仓库可供下载等,接触与相似在时间上要能衔接。
- 第五步:申请司法鉴定。向法院申请委托具有资质的鉴定机构进行源代码比对,鉴定意见通常会被作为重要参考;鉴定费用一般先由申请方垫付,最终负担以判决为准。同时可视情况申请诉前或诉中证据保全、行为保全,防止证据灭失与损失扩大。
四、常见误区
- 误区一:功能一样就是侵权。著作权不保护功能与思想,只有表达层面的相似才可能构成侵权。
- 误区二:对方改了变量名就查不出来。注释习惯、代码结构、非常规写法等个性化痕迹通常仍会保留,是比对中的常见突破口。
- 误区三:只有登记过软件著作权才能维权。登记证书是权属的初步证据,开发记录与提交历史同样可以证明权属。
- 误区四:发现相似就可以公开曝光。公开传播可能使尚不为公众所知悉的技术信息丧失秘密性,影响商业秘密路径的主张。
五、什么情况下要找律师
涉及源代码比对、司法鉴定与技术事实认定的案件通常专业度较高,尤其当被告提出开源代码抗辩、反向工程抗辩或独立开发抗辩时,建议委托有技术背景的知识产权律师配合鉴定机构,论证保护范围与比对方法。若同时主张商业秘密,还需对保密措施做合规审查,越早介入越有利。
免责声明:本文仅供法律知识参考,不构成对具体案件的法律意见,个案差异较大,涉及具体权利义务请及时咨询执业律师。
知识产权