软件外包合同和买设备不一样——交付物是"会变的",需求会变、人会变、业务会变。合同的作用不是防人,而是让变化发生时双方有据可依。
一、范围与变更
必须写明:功能清单作为合同附件,以及变更的处理方式。有了这两条,后期所有"能不能加"的争论都能落到流程上。
建议表述:"本合同功能范围以附件一《功能清单》为准。任何超出附件一范围的功能新增或调整,双方另行签署变更单,明确工作量、工期与费用影响后方可执行。"
二、里程碑与付款
按成果付款,不按时间付款。每一期都要有可验证的成果物。
| 节点 | 交付成果 | 参考比例 |
|---|---|---|
| 合同签订 | —(预付款) | 30% |
| 原型与设计确认 | 原型、设计稿 | 20% |
| 开发完成、进入测试 | 测试环境可访问 | 25% |
| 验收通过、上线 | 验收报告、源码、文档 | 20% |
| 质保期满 | — | 5% |
留 5% 尾款到质保期结束,是保证质保期内有人管你的一条实用做法。
三、知识产权
- 明确源代码、设计稿、文档的著作权归甲方
- 明确交付的源码不含加密、不留后门、不含时间锁
- 明确开发方使用的开源组件合规,并附组件清单
- 明确开发方不得将本项目代码复用于第三方
四、验收与质保
- 验收标准以需求文档为准,约定验收提出意见后的整改轮次与时限
- 约定"逾期未提意见视为通过"的条款,避免验收无限期搁置
- 质保期建议不少于 12 个月,写清质保范围(修缺陷免费,加功能收费)
- 约定响应时效:如严重问题 4 小时内响应、24 小时内给出方案
五、数据归属与保密
写明:开发过程中接触到的客户名单、价格、工艺等属于商业秘密;项目结束后开发方应删除本地留存的数据;不得将数据用于任何其他用途。
六、终止与退出
这一条经常被忽略,但恰恰是保护双方的关键:约定中途终止时已完工程的结算方式、源码与资料的移交义务、过渡期配合期限。没有这一条,一旦合作破裂,项目会直接停死。
一句话:合同的重点不是违约金写多高,而是每件事都有明确的判定依据和交接动作。
