先说结论:源码必须归客户,而且要写进合同
「小程序做出来了,能用」不等于交付完成。明年续不续费、能不能换团队、数据带不带得走,全看一件事:核心资产在谁手里。
结论直接说:验收时客户应该拿到完整源码、数据库结构、部署文档和全部账号权限,知识产权归客户。这条要白纸黑字写进合同,不是口头承诺。
为什么源码归属是命门
两种常见结局,都源于源码不在客户手里:
结局一:续费绑架。 第一年合作愉快,第二年续费涨价五成。你想换人,发现拿不到源码,或者拿到的是加密、编译后的版本——除了续费没有第二条路。
结局二:服务商消失。 公司倒闭、团队解散、对接人离职——任何一种发生,你的小程序就成了没人能改的孤岛:bug 没人修,微信平台规则一变只能干瞪眼。
源码在客户手里,这两种结局都只是「换一个执行者」的成本问题;不在,就是生死问题。
验收时该拿到什么
一份完整的交付清单至少四样:
| 交付物 | 具体是什么 | 为什么重要 |
|---|---|---|
| 完整源码 | 前端、服务端全部代码 | 任何团队都能接手维护 |
| 数据库结构 | 表结构 + 初始化脚本 | 数据能迁移、能备份 |
| 部署文档 | 环境要求、部署步骤、配置说明 | 不依赖原作者也能重新部署 |
| 账号权限 | 服务器、域名、微信平台、支付商户号等管理员权限 | 平台归属清晰,不怕扯皮 |
这四样一起交,客户对产品才有完整控制权。我们自己的合同写明:知识产权归客户,不做代码加密、不绑定服务器——就是冲着「客户随时能走」去的,做到做不到,合同上见。
两个要警惕的信号
签约前看到这两种条款,直接问到底:
- 「源码加密后交付」:美其名曰保护知识产权,实际是把客户锁死。真出了纠纷,加密的源码客户既看不懂也改不了;
- 「必须托管在我方服务器」:服务器绑死,数据迁移、备案变更全卡在对方手里。有一年对方涨价,客户连自己的数据都导不出来。
拿到源码之后,立刻做三件事
交付不是终点。建议验收当天就做:
- 把代码提交到客户自己名义的 Git 仓库,确认有完整的提交历史,而不是一个一次性压缩包;
- 自己跑一次部署:照着部署文档,在干净环境把项目跑起来。跑得起来,文档才算数;
- 账号全部改密,管理员权限确认在自己人手里,日常对接用子账号。
这三步做完,「资产在手」才从纸面变成事实。
最后
源码归属这件事,签约前不问,验收时就会被动。把它和功能清单、付款节点、验收标准放在同一张桌子上谈,是对自己的项目负责。
准备签约前,可以先找我们要一份合同模板和功能清单样例看看——条款敢公开,比嘴上说什么都硬。