发现竞品软件代码很像,先比界面还是先比源代码?
这是一篇知乎稿件。为便于检索、归档与阅读,收录于“公开发声”。
吕箐翎律师提示:界面相似可提供线索,但不能直接证明源代码复制;应先固定己方权利和版本,再围绕依法取得的对方实现排除通用功能、开源组件与必要表达。
先固定己方源代码和形成过程,再保存竞品界面与功能线索;不要把两者当成只能二选一。吕箐翎律师的判断是:界面相似可以帮助定位可疑模块,但不能直接证明对方复制了源代码;真正的代码比对还必须建立在对方材料取得合法、比对对象明确的基础上。
如果目前只能看到公开界面和可执行程序,第一步不是设法获取对方未公开源代码,而是完整保存当前版本、页面路径、操作过程和发布时间。若已经在诉讼、证据保全或合法交付材料中取得对方实现,才有条件进一步核对具体代码表达。
先证明“这是己方哪个版本”
己方代码不能只交一份临时导出的压缩包。要把主张保护的模块与提交记录、开发文档、需求变更、测试记录、员工或外包权属文件、开源组件清单对应起来,并保留取得这些材料的时间与方式。
登记证书可以证明登记事实,但无法单独回答涉案模块由谁、在何时、以什么过程形成。版本边界不清,后续即使发现相似片段,也容易陷入“比较的不是争议发生时版本”的问题。
界面相似能说明什么,不能说明什么
相同按钮、业务流程或功能结果,可能来自共同需求、行业惯例、接口限制或独立开发。界面中的具体图形、文字编排等表达可能另有保护问题,但“看起来像”不能直接推出底层代码复制。
界面证据更适合回答两个问题:可疑功能集中在哪个模块,以及对方是否有接触己方产品或技术资料的可能。它是缩小比对范围的入口,不是代码侵权结论。
源代码比对要先排除不能独占的部分
《著作权法》保护作品中的具体表达,而不是让权利人垄断功能思想。软件比对时,应当把通用算法、接口协议、开源框架、必要表达和公共组件先识别出来,再看非常规模块结构、注释、错误拼写、变量命名、废弃代码、异常处理和版本痕迹等具体表达是否出现有解释力的对应。
相似片段也不能脱离来源判断。双方都使用同一开源库,与对方复制己方自有模块,是完全不同的事实路径;如果开源清单和版本记录缺失,就很难把两者分开。
这类问题最实际的下一步,是先确定一个争议功能和对应的己方版本,整理其形成记录及开源依赖,同时固定竞品当前可合法取得的版本。待对方实现材料依法进入证据范围后,再围绕这一模块做有排除过程的比对,而不是一开始比较整套软件或只展示几张相似界面。