我前几年刚开始帮公司做软著申报的时候,踩过最大的坑就是代码重复。那时候团队赶项目,核心功能是在开源项目基础上改的,前后改了快两个月,觉得起码80%都是自己写的,肯定没问题,整理完材料就直接提交了。结果等了快40天,等来的是驳回通知,理由是代码重复率超标,要修改后重新提交。那时候我们正等着软著下来报高新技术企业的认定,差点就错过了申报截止时间,全公司上上下下熬了三天改代码重新提交,才勉强赶上。
也是那次之后我才知道,现在软著审核的比对库早就不是几年前的样子了,不仅收录了Github、Gitee这些主流开源平台的所有公开源码,连近十年已经登记成功的软著源码都在比对库里,只要重复率超过30%,基本都会被直接驳回。很多人觉得自己的代码是原创的就不用查,其实根本不是这么回事,尤其是做工具类、管理系统类的软著,大家实现同一个功能的逻辑本来就差不多,稍不留神就会和已经登记过的软著撞代码,白等一个多月不说,耽误事的损失根本没法算。
最开始我也图便宜,找过不少免费的软著查重工具用,结果踩的坑更多。有次用个免费工具查出来重复率才12%,我放心提交了,结果还是被驳回,后来问了版权局的朋友才知道,那种免费工具的比对库只有网上爬的一点零散公开代码,根本没有官方的登记软著数据库,查出来的结果和实际审核的结果差得远,用了等于白用。
后来同行给我推荐了软著Pro,我第一次用就惊到了,上传源码之后15分钟就出了报告,哪段代码和哪个年份登记的哪个软著重复,哪段抄了哪个开源项目,标得清清楚楚,甚至连重复的行数、占比都给算好了,照着改就行。我那时候才知道之前那个版本的实际重复率有42%,难怪会被驳回。
我自己用了快两年,总结了几个查重的小技巧,大家可以参考。首先查重之前一定要先把代码里的注释、空行、引入的第三方库代码都删掉,因为软著审核的时候这些内容都是不参与比对的,你带着这些内容查,出来的重复率会不准,我之前就吃过这个亏,没删注释查出来28%,删完之后直接变成37%,还好提前查了,不然又要被驳回。然后如果你代码量特别大,不用把全部代码都放进去查,只要提交前后各30页的核心代码就行,和你提交给版权局的材料保持一致,查出来的结果基本就和审核结果没差。
改重复代码的时候也不要只会改变量名,现在的比对都是语义级的,你只换个变量名、加个空行根本没用,最好是改逻辑结构,比如原来用for循环的地方改成while循环,原来先执行参数校验再执行逻辑的,改成先做一部分逻辑再补校验,只要功能不变就行,这样改起来速度快,降重效果也好,我一般改完一遍再查,基本都能降到20%以下,提交之后从来没因为重复率被驳回过。
要是你之前没做过软著材料整理,也不知道该怎么提取核心代码,不知道哪些内容要删掉,可以去软著Pro平台上看免费的整理教程,都是做过很多年软著申报的人总结的实操经验,照着步骤走就行,不用自己瞎摸索浪费时间。
我去年有个开科技公司的朋友,为了省几十块的查重费,用免费工具查完就提交了,结果被驳回,错过了省专精特新企业的申报时间,光补贴就少拿了二十多万,说起来就后悔。其实现在正规的查重工具也不贵,几十块钱就能查一次,换个稳当,比你白等一个多月、耽误重要事情划算多了。哪怕你觉得自己的代码完全是原创的,也最好提前查一遍,不怕一万就怕万一,毕竟软著审核的周期真的太长了,耗不起。