软件著作权查重系统怎么比对代码:AST 与源码规范的几个要点
现在的审核系统有相当强的代码指纹比对能力,能识别简单的变量名替换、注释修改这类"伪原创"手段。实质性相似的代码段,很容易…
软著查重系统怎么比对代码:AST 与源码规范的几个要点。本文讲清代码结构比对原理,以及源码规范与补正要点。
查重比的是结构,不是字面
现在的审核系统有相当强的代码指纹比对能力,能识别简单的变量名替换、注释修改这类"伪原创"手段。实质性相似的代码段,很容易触发修改后重新递交。它底层往往基于抽象语法树(AST)做结构比对,所以只做表面功夫基本没用。
源码本身的规范要求
递交的源码要前后逻辑连贯,通常是前、后各连续 30 页共 60 页(不足 60 页的全部递交)。关键是里面要有具体的算法实现,而不只是框架搭建。代码里体现的核心功能逻辑,才是核查员判断独创性的依据。
文档和代码必须咬合
用户使用说明书、设计说明书,和源码在功能描述、模块命名上要保持高度一致。任何逻辑冲突都会拉长审核周期。简单说:文档里讲的功能,源码里要找得到;源码里实现的功能,文档里要讲得清。
四步把源码整理到位
- 代码整理与去重准备:先梳理哪些是自己写的、哪些来自第三方,准备去重。
- 确定代码起止页与范围:选定前 30 页和后 30 页,确保覆盖核心逻辑。
- 撰写与同步使用说明书:文档和代码同步写,功能、模块命名对应起来。
- 格式自检与递交:检查页眉页脚、行数、文件格式后再上传。
三类高危操作
- 过度依赖开源框架:以为用了 Spring Boot、Vue 就能直接当软著代码。框架的通用代码不算原创,不剔除或没有大量二次开发,极易因"缺乏独创性"被驳回。
- 简单变量混淆:批量重命名变量、调空行、改注释来规避查重,在 AST 结构比对面前几乎必然失败。
- 代码与文档功能割裂:代码实现了复杂数据分析,说明书却只放个登录界面,这种"头重脚轻"会让核查员怀疑真实性,下发退回修改通知。补正期限为 30 日(《计算机软件著作权登记办法》第二十一条),要在期限内响应。
递交前对照
- 代码总量是否超过 3000 行?不足则需全部递交并特别说明。
- 是否已剔除所有第三方库、依赖包及自动生成的冗余代码?
- 前 30 页和后 30 页是否包含了核心算法逻辑和关键业务流程?
- 代码中是否含有其他软件的名称、Logo 或版权信息?如有需清除。
- 用户使用说明书的截图是否清晰,且与代码中的功能模块名称一致?
- 源程序文档的页眉页脚格式是否符合受理中心要求?
- 是否已通过专业工具进行了预检?
写在最后
软著登记不只是拿一张证书,更是把软件的独创性用规范材料讲清楚。
需要针对自身项目定制软著登记方案?欢迎在软著通(ruanzhutong.zaipack.cn)进一步咨询,获取从评估到下证的一站式协助。