软件外包做完不给源码怎么办?合同里必须写死的 6 个条款
「电商软件开发」做得最多的纠纷,不是功能没做好,是做完之后拿不走。付了钱、系统在用,可源码在别人手里,服务器在别人名下,换团队时发现新公司接不了手——这时候才发现,问题不是出在交付那天,是出在签约那天。
下面六条,是可以直接抄进合同的写法。我们自己也这么和客户签,所以写出来不心虚。
条款一:源码范围要写到"能跑起来"
只写"交付源码"是不够的。有人交给你一堆 `.vue` 文件,没有数据库结构、没有编译说明,等于给了你一台拆散的发动机。
怎么写
条款原文参考乙方应于验收通过后 5 个工作日内,向甲方交付:完整可编译的前后端源代码、数据库结构与初始化数据、部署与运维文档、第三方依赖组件清单。交付后 3 个工作日内,乙方应配合甲方在独立环境完成一次部署验证,验证通过视为交付完成。
关键点:"可编译 + 部署验证"这五个字,是把"给文件"变成"能给接"的分界线。
条款二:知识产权归属要明确写甲方
这一条最多人吃亏:按《著作权法》,委托开发的软件,合同没约定时著作权归受托方(开发方),委托方只有使用权。也就是说,你不写,法律默认不是你的。
怎么写
条款原文参考本项目全部交付物(含源代码、设计稿、文档)的著作权及一切知识产权归甲方所有。乙方保证交付物不侵犯第三方权利,所使用的开源组件均符合其许可协议,并在交付清单中列明组件名称与许可证类型。
后面半句别删——开源合规是很多人栽过的坑,某些许可证(如 GPL 系)会要求衍生作品同样开源。
条款三:服务器与账号必须在甲方名下
源码拿到了,但云服务器、域名、微信小程序、支付商户号、短信接口全在开发方实名下——对方欠费、被起诉、或者单纯联系不上,你的系统随时可能停。
| 资产 | 应归属 | 开发方的角色 |
|---|---|---|
| 云服务器 / 数据库 | 甲方实名账号 | 受邀为协作者,只保留运维权限 |
| 域名 | 甲方实名注册 | 协助解析,不持有所有权 |
| 小程序 / 公众号 | 甲方企业主体 | 作为开发者被授权 |
| 支付商户号 | 甲方对公账户 | 仅做技术接入 |
| 短信/地图等接口 | 甲方账号或独立子账号 | 提供接入配置 |
怎么写
条款原文参考项目涉及的云服务器、域名、小程序及公众号主体、支付商户号、第三方接口账号,均以甲方名义注册并归甲方所有。乙方仅在被授权范围内进行配置与运维,不得以任何理由将上述资产登记于乙方或第三方名下。
条款四:验收标准要可勾选,不要"满意为止"
"甲方验收合格"这种写法,对双方都是陷阱——甲方可以无限期不验收,乙方也可以拿"已经能用了"来交差。
怎么写
条款原文参考验收以本合同附件《功能清单》为准,逐项勾选。全部 P0(必须)功能通过、且无阻断性缺陷,即为验收通过。甲方应在收到验收通知后 7 个工作日内完成验收,逾期未提出书面异议视为通过。
"逾期视为通过"这句对甲方看着不利,但它是保护你的项目能往前走的机制——没有它,项目会卡在最后 10% 上几个月。
条款五:变更怎么计价,提前说死
开发中途加需求是常态,争议不在"能不能加",在"怎么算钱"。
怎么写
条款原文参考超出《功能清单》范围的需求,双方以书面变更单确认;变更单应载明新增功能、预估人天与费用。单个变更预估不超过 3 人天的,可在当期一并实施、期末结算;超过 3 人天的,需签订补充协议后实施。
这条的价值是给了一个小额快速通道:不至于为了改个按钮就走一遍合同流程,也不至于"顺手加一下"变成无限免费。
条款六:交付后的维护责任与退出机制
系统上线才是开始。这一条要写清三件事:缺陷修复多久、新功能怎么收费、不合作了怎么交接。
怎么写
条款原文参考上线后 30 日内,乙方免费修复非甲方原因导致的功能缺陷;30 日后维护服务按年计费,标准为开发金额的 10%–15%。任何一方终止合作,乙方应在 10 个工作日内完成代码、文档、账号权限的完整移交,并配合甲方或甲方指定的第三方完成一次交接说明。
签约前问三句话,能筛掉大半风险
- "源码什么时候给,给到什么程度?"回答"上线就给"但不提数据库和部署文档的,要追问。
- "服务器用谁的账号?"回答"用我们的,方便维护"的,直接要求改。
- "以后我不想合作了,怎么交接?"答不上来的,说明没想过这件事,也大概率没做过交接。
我们的做法,供你对照:创曼的项目默认交付完整源码、部署在你自己的账号、合同里写明"验收后 5 个工作日内移交 + 3 个工作日内配合部署验证"。这不是让利,是把扯皮的成本提前消掉——扯皮比写代码贵得多。
常见问题
源码不给,法律上站得住脚吗?
取决于合同怎么写。《著作权法》允许双方约定归属,如果没有约定,通常归受托方(开发方),委托方只拿到使用权。所以"源码归甲方"必须白纸黑字写进合同,不能靠口头承诺或行业惯例。
拿到源码就能换人接手吗?
不一定。还需要数据库结构、部署文档、第三方账号(云服务、短信、支付、地图)的管理权限,以及依赖组件的清单。只给一堆代码文件,新团队往往要花几周才能跑起来,这笔成本也要提前约定。
服务器放在开发方名下有什么风险?
风险很直接:合作终止、对方欠费或被起诉,服务器可能被停。系统、数据、域名都应该在你自己的实名账号下,开发方只保留运维权限。这一条比源码更容易被忽略,但后果来得更快。
