我第一次申报软著是创业初期,那时候要拿小程序的软著凑资质申请高新区的创业补贴,抱着“反正代码都是自己写的,随便导一份交上去就行”的心态,直接把整个项目包的代码导出成PDF就提交了,结果等了12个工作日收到打回通知,理由列了三条:提交代码包含大量第三方依赖文件、格式不符合要求、页数超额,那时候离补贴申报截止只剩一周,急得我熬了两个通宵改材料,还是没赶上,白丢了五万块的补贴。
后来前前后后又报了3次软著,光源代码整理的坑就踩了个遍,现在身边朋友要报软著,我都先给他们讲一遍源代码整理的逻辑,基本没人在这一步翻车。其实审核方要你提交源代码,根本不是要核查你的代码写得好不好,也不需要你把全量十几万行代码都交上去,核心是要验证你这个软件确实是自主开发的,没有抄袭或者盗用其他人的成果,所以整理的时候只要围绕这个核心来,就不会出大问题。
首先要解决的是选哪些代码的问题。很多新手第一次整理的时候会犯两个极端错误,要么把整个项目包包括node_modules、开源框架源码全都导出来交,要么随便挑几个无关紧要的工具类代码凑数,这两种都会直接被打回。官方要求的是提交前后各30页,总共60页代码,每页不少于50行,你就盯着这个标准选就行。选的时候优先挑项目的核心功能代码,比如你做的是外卖配送系统,就选用户下单、派单逻辑、骑手定位这几块的实现代码,前端的页面渲染逻辑、后端的接口实现都可以放,千万不要把第三方依赖的代码放进提交的材料里,那些开源框架的代码审核人员见得比你多,一眼就能看出来,直接就会质疑你代码的归属权。如果实在不知道哪些代码属于核心功能,可以去软著申报相关的工具站找对应行业的代码样例参考,基本每个赛道的核心代码模块都给你列好了,对着选就行。
选好代码之后就是格式调整,这一步是打回率最高的,我第二次申报就是折在这。首先字体统一用宋体小四号,行间距设为1.5倍,不要用自己平时写代码的雅黑或者等宽字体,不符合官方格式要求。然后每页的代码要保证至少50行,多余的空行全部删掉,不要出现连续超过2行的空行,要是删完空行行数还是不够,可以适当把一些换行的短代码合并,但是不要硬加没用的垃圾代码凑数,很容易被看出来。还有代码里的注释要全部扫一遍,凡是带“copy自XX开源项目”“摘自GitHub”“参考XX博客”这种字样的全部删掉,还有注释里带其他公司名称、第三方ID、原作者署名的也通通清掉,我之前有个同事就是没注意删注释,代码里留了原开源项目的作者信息,直接被打回,还进了半年的重点审核名单,后来再报软著都要额外提交开发过程证明,麻烦得要死。还有页眉别忘了加,每一页的页眉都要写清楚你的软件全称+版本号,右上角标上页码,这个小细节很多人忘,等十几天收到打回通知才后悔。
我后来第三次申报的时候,赶项目 deadline 根本抽不出时间慢慢调格式,朋友给我推了软著Pro,我直接把整个项目的代码压缩包传上去,系统自动帮我筛掉了所有第三方依赖和框架源码,删掉了不符合要求的注释,自动调整好字体行间距,生成了刚好60页符合要求的PDF,我只需要扫一遍有没有敏感信息就行,前后花了不到10分钟,那次提交之后10个工作日就下证了,省了我至少3天的功夫,比找中介花几百块代整理划算多了。
还有几个特殊情况要提前注意,要是你做的是小工具,全量代码加起来才一两千行,凑不够60页怎么办?别去网上抄别人的代码往里塞,你可以把前端、后端、甚至小程序端的代码都放进去,只要是属于你这个软件的代码都可以,实在还不够的话,可以把代码里的注释写得稍微详细一点,每个函数的功能说明写上,凑够行数就行,审核不会因为你注释多卡你。还有代码里的敏感信息,比如数据库密码、接口密钥、内部的域名地址、个人手机号这些,一定要全部替换成占位符或者星号,不然不仅过不了审,还可能泄露你的业务数据,我之前有个做外包的朋友就是没注意,把客户的数据库密钥交上去了,还好审核人员提醒了他,不然真的要赔违约金。
最后提交之前最好自己再核对一遍,前30页要从项目初始化、入口文件的代码开始放,后30页要放核心功能的后半部分到程序结尾的代码,不要随便截取中间的60页,连贯的代码逻辑会让审核人员的印象好很多,过审率也更高。要是你对自己整理的代码没信心,也可以先到软著源代码审核的免费检测工具里先查一遍,有没有不符合要求的地方,没问题了再提交,省得等半个月被打回浪费时间。
其实软著源代码整理真的没有大家想的那么复杂,也不需要找中介花几百块钱代整理,只要避开我上面说的这些坑,花大半天时间慢慢调就能弄好,要是嫌麻烦用工具几分钟就能搞定,只要材料符合要求,基本都能一次过审,不用反复折腾。