结论
判断「源码交付」是否到位,有一个很实际的标准:换一位没参与过项目的工程师、换一台干净的机器,只凭交付的材料,能不能把系统跑起来。做不到,就说明交付不完整。
怎么判断
完整的交付物清单通常包括:
- 前端源码与后端服务源码,含构建配置(不是打好的成品文件,是能重新构建的源码)
- 数据库结构与初始化脚本,最好附一份示例数据
- 接口文档
- 部署文档——从零到跑起来的完整步骤,含环境要求与配置项说明
- 后台操作手册与角色权限说明
- 测试用例清单与验收记录
- 第三方依赖与账号清单(用了哪些外部服务、各自的用途)
您遇到的情况,缺的多半是第 4 项。部署文档是最容易被省略也最要命的一项,没有它,源码在别的环境就是一堆跑不起来的文件。
注意事项
把这份清单逐条写进合同附件,并约定验收时按清单逐项核对。更进一步的做法是把「在指定环境按部署文档完成一次部署」写成验收动作之一——这一条能挡掉绝大多数交付不完整的情况。
另外要在合同里区分两类代码:为本项目定制开发的部分归您所有;服务商已有的通用框架与第三方开源组件按各自许可条款处理,服务商应授予您在本项目范围内的使用权。这个区分不写清楚,将来扩展或转让时会有麻烦。