我第一次处理软著申报材料的时候,就栽过源代码页数的坑。当时负责的是一个内部效率工具的软著,后端同事把代码导出给我的时候,为了显得“干净”,把所有注释、空行全删了,我自己数了半天只有28页,离要求的每页50行、可提交最多60页的标准差了一大截,离截止日只剩3天,急得我到处找方法。
先给大家理清楚官方的真实要求,别被网上乱七八糟的攻略带偏。软著申请对源代码的要求是,提交你开发的程序的前后连续各30页,总共最多60页,不足60页的全部提交即可,完全没必要硬凑满60页,只要每页的有效代码行数不少于50行就行。这里的有效代码指的是你自己编写的程序代码,注释、必要的空行都可以算,但第三方依赖的代码、配置文件、重复的版权声明头是不算的。
真遇到页数不够的情况,也别慌,按我下面说的方法调整,完全合规不会被驳回。首先别一上来就删注释,很多人整理代码的时候习惯把所有注释都删掉,觉得不正式,其实只要是你自己写的功能说明、参数注释、逻辑备注,都是可以算有效内容的,我那次就是把后端删掉的接口注释、前端的组件说明注释全部加回去,一下子就多了8页。其次可以把同项目不同模块的代码都整合进来,不用只提交核心功能的代码,比如你做的是电商系统,除了下单支付的核心代码,后台的商品管理、用户管理模块的代码都可以加进来,只要是这个软件对应的自研代码就没问题。要是你做的是前后端分离的项目,完全可以把前端的代码和后端的代码按顺序拼在一起,不用只提交某一端的代码,我上次那个效率工具就是把Vue的前端代码和Java的后端代码拼在一起,刚好凑到42页,全部提交就过了。
自己数页数其实特别麻烦,很容易数错,我之前就数错过两次,来回调整浪费了一下午时间,后来发现可以直接用软著源代码页数统计工具自动算,还能帮你筛掉第三方依赖的无效代码,省得自己手动删。
调整页数的时候有几个雷区千万别碰,不然很容易被驳回。首先不要恶意凑页数,我见过有同事为了凑够60页,把同一个函数复制了十几遍塞进去,或者加一堆没用的单行注释,比如//这里是第一行//这里是第二行,这种审查员一眼就能看出来,直接打回。也不要随便从网上找不相干的代码塞进去,代码的逻辑要和你提交的软件功能说明对应得上,不然审查员核对功能的时候发现对不上,也会驳回。还有不要把配置文件、SQL语句这些内容算进来,这些都不属于程序源代码,提交了也不算有效页数,纯纯白费功夫。
我之前赶项目集中报5个软著的时候,发现个挺好用的工具叫软著Pro,只要把你的代码压缩包传上去,自动帮你过滤掉第三方依赖、配置文件这些无效内容,自动统计行数和页数,还能直接按官方要求排版生成带页码的PDF,我那次5个软著的源代码文件不到1小时就全部整理好了,比自己手动调整快太多。
要是你遇到的情况是代码太多,远超60页,那就更简单了,直接取前后各30页就行。前面的30页选程序启动、初始化、核心功能入口的代码,后面的30页选核心功能逻辑、工具类的代码就行,不用把所有代码都放进去。这里要注意,不要选第三方SDK的代码,比如你引用的React、Spring的源码都不算自研代码,一定要筛掉,不然页数再够也没用。
要是你不确定自己整理的代码是不是符合要求,也可以去软著申报材料规范页里查最新的审核标准,都是和知识产权局的要求同步的,不用到处找过时的攻略踩坑。
上个月我帮朋友的小团队处理软著,他们做的是一个微信小程序,代码只有35页,一开始他们还怕页数太少过不了,硬要去凑60页,被我拦住了,就让他们把所有自研代码全部提交,每页确保够50行,结果一周就下证了,根本没任何问题。还有一次另一个朋友提交的代码刚好60页,但最后一页只有3行代码,也被打回来了,后来调整了分页,把后面几页的内容重新匀了下,让最后一页有28行代码,重新提交就过了,所以哪怕你够60页,也要注意最后一页不要只有寥寥几行,稍微调整下分页就行,也很简单。
其实软著的源代码页数要求真的没那么严,只要你是用自己真实的自研代码调整,不弄虚作假,基本都能过,不用有太大的心理负担。