自己写的软件申请软著,个人可以办,不用挂靠公司,也不用交钱——软件著作权登记费已经停征(在新标签页打开)。整套流程在中国版权保护中心官网办完:注册账号、通过实名认证、填一份 R11 申请表、上传两份鉴别材料、签字提交。

占时间的是递交之前。源码不交仓库地址,要排成一份 A4 的 PDF,每页顶上写软件全称和版本号,底下编连续页码,正文每页不少于 50 行;另外还得配着截图写一份使用说明书,把每个功能的操作一步步写明白。这两份材料是补正通知最常见的由头,而收到补正通知后只有 30 天。

更绕一点的是页数:材料超过 60 页时只交开头和结尾各 30 页。这意味着顺序是倒过来的——得先排完版、数出一共有多少页,才知道该交哪几十页。

整理源码是其中最长的一段,文末附的脚本能替掉大部分重复劳动。

申请前先定下软件名称和版本号

主要的材料是两份文档,官方合称为软件鉴别材料:源程序文档把代码排进 A4 页面,使用说明书讲清楚软件怎么打开、各功能怎么用。两份分别上传,缺一份申请就不完整。

两份文档的页眉都要写软件全称和版本号,写法必须和申请表完全一致。名称和版本得在排版之前定下来:名称用全称还是简称,版本号写 V1.0 还是 1.0,定好之后页眉、说明书、申请表三处共用同一串字。中途改一次,已经排好的文件都要跟着重排。

身份证明按实名认证页面的要求准备。

还有一张「申请确认签章页」需要本人签字,它不由自己生成,要等官网填完表才会出现,到时候再打印、签字、扫描回来,详见所需文件说明(在新标签页打开)。

合作开发、委托开发或者著作权已经转让的软件,会另外要一份权属证明,通常是对应的合同或协议。自己独立写的软件用不到这些。

源码超过 60 页只交前后各 30 页

这条规则决定了排版之后的所有动作:排好版不足 60 页就整份提交;超过 60 页,取开头连续 30 页和结尾连续 30 页。源程序文档和使用说明书各自按自己的页数算,互不相干——源码排了 100 页、说明书只有 18 页很常见,前者交第 1–30 页和第 71–100 页,后者交完整的 18 页。

文件排版后的总页数提交哪些页
18 页第 1–18 页,全部提交
60 页第 1–60 页,全部提交
61 页第 1–30 页和第 32–61 页
100 页第 1–30 页和第 71–100 页

麻烦在于顺序是反的:不排完版就不知道有多少页,不知道有多少页就定不了该交哪几页。一行长代码在编辑器里只占一行,放进文档可能折成三行,源码的行数没法直接换算成页数。

常听到的「3000 行」不是申请门槛。它是用 60 页乘以每页 50 行倒推出来的数字,拿它估算文档大概排到第几页还算能用,当成能不能申请的标准就错了。代码写不到这么多行照样可以申请,只是文档排不满 60 页时交上去的是整份。

排版统一用 A4 纸纵向,源程序每页不少于 50 行,说明书每页不少于 30 行,依据见《计算机软件著作权登记办法(在新标签页打开)》和官方的鉴别材料说明(在新标签页打开)。计算行数时,空行和页眉不计入。

把源码合并成一份 Word

软著生成脚本工具在本地做两件事:把选中的源码目录合并成一份带页眉页码的 Word,再从排版导出的 PDF 里取出要提交的那部分页面,全程在本机完成。

项目只有三五个源文件时,直接复制进 Word 更快,用不上脚本。源码目录一多、里面还套着子目录,逐个打开复制才是真正占时间的部分。

运行需要 Node.js(在新标签页打开) 22 或更高版本。调整排版、导出 PDF 还要用到 Word、WPS 或 LibreOffice 中的一个。

装依赖只用一条命令

在终端进入解压后的 source-document 目录:

npm ci --ignore-scripts

装依赖这一步要联网,之后合并和取页都在本机完成。

挑出真正写了的代码,排除依赖目录

先确认项目里真正存放源码的是哪个目录——依赖目录、构建产物、配置文件所在的层级都要排除在外。源码集中在一个目录下时用一条 --source:

node generate.mjs --source ../my-app/src --name "便签管理软件" --version V1.0 --output ./export

--name 和 --version 换成自己的软件全称与版本号,两者会写进页眉。--output 指定的目录必须尚不存在,它的上一层则需要已经存在;已经导出过一次就换一个目录名。

前后端分开放的项目改成两个 --source,把两个目录合并成一份:

node generate.mjs --source ../my-app/frontend/src --source ../my-app/backend/src --name "便签管理软件" --version V1.0 --output ./export

合并顺序就是命令里目录的先后顺序,每个目录内部再按文件的相对路径排序。默认收录 JavaScript、TypeScript、Vue、Python、Go、Java、C/C++ 等常见源码格式,隐藏文件和符号链接会跳过,node_modules、vendor、dist 这类目录也不进去。

要再排除某些目录就加 --exclude,限定只收某些扩展名时用 --extensions:

node generate.mjs --source ../my-app/src --name "便签管理软件" --version V1.0 --extensions .ts,.vue --exclude generated --output ./export

--exclude 的路径从各个源码目录算起,排除多项就重复写这个参数。脚本不读 .gitignore,项目里自定义的忽略项必须在这里再写一遍。输入文件要 UTF-8 编码,单个不超过 2 MiB,合计不超过 20 MiB。

生成结束后,输出目录里的 source.docx 就是待排版的源码文档。旁边的 sources.json 记录收进来的文件、排列顺序、行数和文件哈希,用来核对有没有漏掉哪个文件。

这份统计只包含命令里选中过的目录。命令只写了前端路径,统计结果里就没有后端——而申请表的「源程序量」要填整个软件的总行数,不是最后提交那 60 页的行数。

导出 PDF 前翻一遍折行

用 Word、WPS 或 LibreOffice 打开 source.docx。首页是封面,只有「源程序」、软件名称和版本号三项,不带页眉和页码;源码从第二页开始,那一页的页码是 1,之后连续编下去。

源码页默认 A4 纸、20 mm 页边距、10 磅字、11.6 磅行距,多数页能排到 60 行上下。遇到特别长的代码行,折行会占掉额外的行位,导出之前翻一遍,确认没有明显偏空的页面;真遇到了就调小字号或行距重排一次。

源码里的注释、字符串、日志语句和空行都原样排进来,制表符按四个空格显示。排好后导出 PDF,存成 export/source.pdf,打开确认封面、页眉、页码和跨页处的代码。后面取页用的就是这份 PDF。

按实际页数截出要交的那部分

在工具目录里运行:

node select-pages.mjs --input ./export/source.pdf --output ./export/submission.pdf --front-matter 1

--front-matter 1 说的是 PDF 开头有 1 页不是源码,也就是封面。这一页照留,但不占那 60 页的额度,所以交上去的是封面加完整的 60 页源码。--no-cover 生成的文档没有封面,那就不用这个参数。超出 60 页取前后各 30 页,不足 60 页整份保留,页面沿用原 PDF 的页码。

100 页的源码从第 30 页直接跳到第 71 页,看着像漏页,其实是保留原页码的正常结果。对照完整 PDF 确认首尾两处,submission.pdf 就是可以上传的源码文件。再次生成时,--output 要换一个还不存在的文件名。

照着实际操作写使用说明书

使用说明书回答的是另一个问题:软件装好之后,一个没看过源码的人要怎么把它用起来。数据库表结构、接口定义、部署架构都放不进去——审查要看的是这个软件能被正常使用,不是它能被重新实现。

开头交代软件在哪运行、怎么打开

开头先写软件名称、版本和用途,再说明它在哪里运行:网页应用写清支持的浏览器,桌面软件写操作系统版本以及安装、启动的方法。这部分相当于给后面每一步操作一个起点。

每个功能写到点哪个按钮

功能部分不要概括,打开软件跟着实际点一遍。「支持增删改查」这种写法说明不了软件能被使用——它讲清楚了软件具备这些能力,但看不出来该点哪个按钮、填什么内容、做完会看到什么。需要的是一串能照着执行、每一步都有界面对应的动作:

在便签列表点击「新建」,填写标题和正文后点击「保存」。保存成功后,列表中会出现这条便签。点击便签标题可以重新打开并编辑。

按钮和页面名称用界面上的原词,和软件保持一致。查看、编辑、删除、搜索这些主要功能各自写一段,格式与上面那段一致。

截图跟着对应文字走

每段操作说明旁边配上对应的截图——新建界面一张,保存后的列表一张,操作前后就串起来了。截图放在它所说明的那段文字旁边,而不是集中堆在文末,这样每条操作都能对着图核对。

一份能直接照着填的骨架

把上面三段合起来,说明书的骨架大致是这样。方括号里的部分换成自己软件的实际内容:

[软件全称] 使用说明书(V[版本号])

一、软件用途
   本软件用于 [一句话说清它能替用户做什么]。

二、运行环境
   支持 Chrome 120 及以上、Safari 16 及以上浏览器。
   [桌面软件写操作系统版本,网页应用写服务端要求。]

三、安装与启动
   [桌面软件写安装包的运行方式和启动入口;
    网页应用写访问地址和登录方式。]

四、功能操作说明
   4.1 新建便签
       在便签列表点击「新建」,填写标题和正文后点击「保存」。
       保存成功后,列表中会出现这条便签。
       [配图:新建界面、保存后的列表]

   4.2 查看与编辑便签
       [同上格式]

   4.3 搜索便签
       [同上格式]

   4.4 删除便签
       [同上格式]

四个功能写下来大约两三页。功能多的软件按这个格式继续加小节,每一节都保持「动作串 + 配图」的结构。

写完之后同样加页眉和连续页码,导出 PDF,再按 60 页规则走一遍。说明书一般排不到 60 页,多数情况整份提交。

重复的部分交给 AI 工具

这些其实也很简单。先准备好功能操作截图、从文末「相关资源」下载软著脚本;然后把截图和脚本交给 Codex 或 WorkBuddy(在新标签页打开),并附上这句话:

等它跑完,再核对一遍格式就行。

注册并通过实名认证

两份文档准备好后再去官网,账号注册一次可以一直用。

在中国版权保护中心官网(在新标签页打开)注册并完成实名认证,按页面要求填写本人身份信息、上传证明文件。

认证通过后打开软件登记页面(在新标签页打开),找到 R11「计算机软件著作权登记申请」,点击「立即登记」。

软件登记页面左侧为 R11 计算机软件著作权登记申请,下方有立即登记按钮

填写 R11 申请表

R11 的字段不少,多数对着软件本身的现状填;需要停下来想一想的,集中在下面几组。

名称、版本和开发日期怎么填

字段填写方式
软件全称与源码、说明书页眉一致,例如「便签管理软件」
简称有实际简称才填,没有就留空,不填「无」
版本号例如 V1.0,各份材料使用同一种写法
软件作品说明原创软件选原创;修改版本按实际修改情况填写
开发完成日期这个版本开发完成并保存下来的日期,不是填表当天的日期
发表状态已公开发布则填首次发表日期和地点;未发表就选未发表
开发方式靠自身条件完成的选单独开发;合作、委托按实际关系选

「发表状态」是最容易填错的一栏。软件没上架应用商店不等于没有发表:通过网站公开发布、销售或者向他人提供过复制件,都属于已发表,官方填表说明(在新标签页打开)里有完整列举。按软件真实的公开情况选。

著作权人和权利范围怎么选

著作权人类别选「自然人」,姓名、证件类型和号码按身份证明填写。软件是自己独立开发、著作权也全部归自己所有的,权利取得方式选「原始取得」,权利范围选「全部权利」。

前面按「超过 60 页取前后各 30 页,60 页以内交全文」准备的材料,对应这里的「一般交存」,在软件鉴别材料一栏选它。

开发和运行环境填实际用到的设备、操作系统及支持软件的名称和版本。编程语言按项目实际使用的填,「源程序量」填整个登记软件的总行数或总条数。

主要功能和技术特点不是一回事

「开发目的」和「主要功能」看起来相近,写的时候分开想:一个是为什么做这个软件,另一个是用户能拿它做什么。便签软件的开发目的可以写「便于用户记录和查找日常事项」,主要功能则写「新建、编辑、删除和搜索便签,按更新时间查看记录」。

「技术特点」接着写这些功能是怎么实现的。比如便签存在哪里,是只保存在本机,还是放在服务端并同步到其他设备。照自己软件的实现写。

申请办理方式选「著作权人申请办理」,填好申请人和联系方式,接着处理签字和上传。

打印签章页、签字、扫描回来上传

填完表,网站会生成「申请确认签章页」。把它按原内容、原格式和原比例打印出来,在签章处签名,再扫描成 PDF 上传,打印和签字的要求见官方所需文件说明(在新标签页打开)。

把源码 PDF、说明书、签章页和要求的证明文件分别放进对应的上传栏目。提交前看一遍有没有选错文件,三份材料上的软件名称和版本是否对得上。

个人原始取得的软件著作权申请已经在线办理(在新标签页打开),签字用到纸张,整套材料在线上传,不用再另外寄一份。

受理之后:60 日审查和 30 日补正

申请进度和通知都在官网用户中心看。提交后还要先经过受理,审查时限是自受理日起 60 日内,起点不是点下「提交」的那天,也不是 60 个工作日。

收到补正通知就按通知指出的问题改材料。官方办理说明(在新标签页打开)要求在 30 日内补正,逾期视为撤回申请;具体要改什么、哪天截止,以收到的通知为准。

登记完成后,回到用户中心下载 PDF 格式的软件著作权登记电子证书。

常见问题

代码不到 3000 行能申请软著吗?

可以。3000 行不是申请门槛,它是用 60 页乘以每页 50 行倒推出来的页数估算值。代码行数多少都不影响申请资格,只影响文档排满 60 页时是否需要截取。

个人申请软著要花多少钱?

登记费已经停征,自己办理不需要缴费。找代办时另行支付的是代办服务费,不是官方收费。

受理之后多久能拿到软著证书?

审查时限是自受理之日起 60 日内,起点是受理日而不是点下提交的那天,也不是 60 个工作日。登记完成后回用户中心下载 PDF 格式的电子证书。

软著申请还要邮寄纸质材料吗?

不用。只有申请确认签章页需要打印、签字后扫描成 PDF 上传,整套材料在线上传。

源码文档一定要交 60 页吗?

不是。不足 60 页交整份;超过 60 页时,源程序文档和使用说明书各自按自己的页数取前后各 30 页。