先说结论:源码必须归客户,而且要写进合同

「小程序做出来了,能用」不等于交付完成。明年续不续费、能不能换团队、数据带不带得走,全看一件事:核心资产在谁手里。

结论直接说:验收时客户应该拿到完整源码、数据库结构、部署文档和全部账号权限,知识产权归客户。这条要白纸黑字写进合同,不是口头承诺。

为什么源码归属是命门

两种常见结局,都源于源码不在客户手里:

结局一:续费绑架。 第一年合作愉快,第二年续费涨价五成。你想换人,发现拿不到源码,或者拿到的是加密、编译后的版本——除了续费没有第二条路。

结局二:服务商消失。 公司倒闭、团队解散、对接人离职——任何一种发生,你的小程序就成了没人能改的孤岛:bug 没人修,微信平台规则一变只能干瞪眼。

源码在客户手里,这两种结局都只是「换一个执行者」的成本问题;不在,就是生死问题。

验收时该拿到什么

一份完整的交付清单至少四样:

交付物 具体是什么 为什么重要
完整源码 前端、服务端全部代码 任何团队都能接手维护
数据库结构 表结构 + 初始化脚本 数据能迁移、能备份
部署文档 环境要求、部署步骤、配置说明 不依赖原作者也能重新部署
账号权限 服务器、域名、微信平台、支付商户号等管理员权限 平台归属清晰,不怕扯皮

这四样一起交,客户对产品才有完整控制权。我们自己的合同写明:知识产权归客户,不做代码加密、不绑定服务器——就是冲着「客户随时能走」去的,做到做不到,合同上见。

两个要警惕的信号

签约前看到这两种条款,直接问到底:

  • 「源码加密后交付」:美其名曰保护知识产权,实际是把客户锁死。真出了纠纷,加密的源码客户既看不懂也改不了;
  • 「必须托管在我方服务器」:服务器绑死,数据迁移、备案变更全卡在对方手里。有一年对方涨价,客户连自己的数据都导不出来。

拿到源码之后,立刻做三件事

交付不是终点。建议验收当天就做:

  1. 把代码提交到客户自己名义的 Git 仓库,确认有完整的提交历史,而不是一个一次性压缩包;
  2. 自己跑一次部署:照着部署文档,在干净环境把项目跑起来。跑得起来,文档才算数;
  3. 账号全部改密,管理员权限确认在自己人手里,日常对接用子账号。

这三步做完,「资产在手」才从纸面变成事实。

最后

源码归属这件事,签约前不问,验收时就会被动。把它和功能清单、付款节点、验收标准放在同一张桌子上谈,是对自己的项目负责。

准备签约前,可以先找我们要一份合同模板和功能清单样例看看——条款敢公开,比嘴上说什么都硬。