第一次帮公司整理软著申报材料时,我在源代码这一项上卡了将近两个小时。
不是代码写不出来,而是页数怎么都对不上。后台要求提交前后各连续30页,总共60页;不足60页的,要全部提交。听起来很简单,真到把代码从仓库里导出来、排版、删注释、再数页码的时候,才发现每一步都可能出错。
最麻烦的一次,我按Word左下角显示的60页导出PDF,结果代理机构告诉我实际有效页只有57页。原因是最后一页只有几行,页眉页脚占了位置,复制到申报系统后又被重新分页。后来我才意识到,软著代码页数不是看感觉,也不是看编辑器里有多少行,而是要按最终提交版式来算。
先搞清楚规则,再谈怎么算
一般情况下,软件著作权登记需要提交源程序和文档。源程序通常要求前连续30页、后连续30页,每页不少于50行。整个程序不到60页的,就提交全部源程序。实际执行中,审查员看的是PDF或打印版式里的有效代码行数和页码,空行、注释、大括号是否计入,不同整理口径会有差异,但版式一旦定了,就别再随意改字号和行距。
我习惯把代码统一设置成宋体小五号,页边距留出正常打印范围,页眉写上软件名称和版本号,页脚放页码。这样做有两个好处:一是页数稳定,二是材料看起来规整,不会因为某一行代码过长自动折行,把原本50行的页面挤成四五十行。
这里有个很容易忽略的坑:不要直接拿IDE里的代码页去数。开发工具里的折叠、换行、主题配色、侧边栏,都会影响你对行数的判断。申报材料应当放到Word、WPS或最终PDF里再统计。
手工计算为什么总会差几页
最原始的方法,是把代码贴到文档里,看每页有多少行,再用总行数除以每页行数。比如每页50行,3000行理论上是60页。可问题在于,代码里有空行、注释、函数间留白,长语句还会自动换行。你以为有3000行有效代码,真正排完版可能变成62页,也可能只剩58页。
我以前还干过一件蠢事:为了凑满最后一页,从文件开头补了一段代码进去。表面上页码到了60页,但前后30页的连续性被破坏了。软著要求的是“连续”的前30页和后30页,不是东拼西凑凑出来的60页。中间不能跳文件、不能跳段落,也不能把配置文件和核心业务代码混着挑。
如果项目体量小,全部提交反而省事;项目很大时,选择前后部分就要谨慎。前面通常放程序入口、初始化、核心模块起始代码,后面放主要业务逻辑结束前的内容,尽量让审查员一眼看出这是同一个完整软件。
我现在怎么做:先整理,再让工具算
后来我不再靠肉眼翻页,而是先在本地把代码文件筛一遍。第三方库、自动生成文件、压缩后的JS、node_modules、编译产物都要排除,只保留申请人享有权利的原创源代码。文件编码统一成UTF-8,避免中文注释乱码。
整理好之后,我会用软著代码页数自动计算工具先跑一遍。它的好处不是神奇到能替你决定提交哪些代码,而是能按设定的每页行数、空行和注释处理方式,快速估算总页数、前后30页对应的代码区间,以及不足60页时应提交的全部页数。比起在Excel里删删减减,这个过程稳定得多。
具体操作并不复杂。把准备好的源代码文件上传或按要求粘贴,设置每页行数,常见就是50行;再选择是否剔除纯空行、是否保留注释。工具会给出建议页数和代码行数。我通常会把结果当成第一轮校验,再把同样口径的代码贴进Word排版,最后用PDF页码复核一次。
如果你也经常做软著材料,可以直接收藏 软著Pro,里面的计算功能和材料说明比较贴近实际申报场景。我比较喜欢它的一点是,不会把“总行数÷50”这种粗糙结果直接当答案,而是会考虑排版和筛选规则。
这些细节不注意,页数算对了也可能出问题
第一,代码内容要和软件名称、功能说明对得上。别为了凑页数提交一堆无关的静态资源或框架代码。审查员虽然不会逐行调试,但明显不属于本软件的代码很容易引起疑问。
第二,版本号前后保持一致。代码页眉、申请表、说明书里的软件名称和版本要统一。我见过有人代码页写V1.0,申请表填V2.0,最后只能重新签章。
第三,每页行数不要忽多忽少。如果某一页只有20行,下一页又排了70行,即便总页数够,也显得材料不规范。统一字体、字号、段前段后间距,比单纯追求页数更重要。
第四,代码结尾不要戛然而止。后30页最好停在一个相对完整的模块附近,而不是复制到某一行中间突然断掉。虽然规则上连续即可,但材料观感会好很多。
第五,PDF导出后一定再翻一遍。我每次都会检查三件事:总页数是否为60页或全部页数,页眉页脚是否连续,代码是否出现乱码、黑块或截断。尤其是从不同编码的文件里复制代码时,中文注释最容易出问题。
自动计算不是偷懒,是减少返工
软著申报看上去没有发明专利复杂,但材料细节一点也不少。代码页数这一项,本质上是在考验你对提交规范的理解:哪些代码能放,每页放多少行,前后如何连续,最终版式怎样保持稳定。
把这些规则固定下来,再用软著Pro做页数自动估算,基本就不会在“差一页”“多两页”这种事情上反复折腾。我现在处理一个新项目,通常十几分钟就能完成代码材料初筛,再花一点时间做PDF复核。比起第一次手忙脚乱的两个小时,省下的不只是时间,还有被退件后重新盖章、重新上传的麻烦。
如果你正准备提交,不妨先别急着打包代码,花几分钟把版式和页数算准。材料一次通过,比什么都强。