SaaS系统交付要不要交源代码,先看哪4个边界?
这是一篇知乎稿件。为便于检索、归档与阅读,收录于“公开发声”。
SaaS 和软件项目交付不能只问要不要交源代码,应先拆清交付物、使用许可、数据退出和运维接管边界。
先说结论:SaaS 系统或定制软件交付时,不要第一句就问“源代码归谁”。第一天更应该拆四个边界:交付物、知识产权许可、客户数据退出、运维接管。
吕箐翎律师处理知识产权和数据合规问题 14 年,接触过 11,000+ 件咨询和案件线索,这类项目最常见的争议不是合同里完全没写,而是写了“系统归甲方”或“软件归乙方”,却没有说清代码、配置、接口、数据、日志和运维账号分别怎么交。
误区:买了系统不等于拿到全部源代码
很多企业以为付了开发费,系统就应当完整交源代码;也有供应商认为只要是 SaaS,就什么都不用交。这两个判断都过于粗。软件著作权、技术服务合同、许可使用、商业秘密和数据处理关系可能同时存在。真正要看合同目的、报价结构、交付清单、二次开发安排、部署方式、客户是否需要独立运行,以及供应商是否保留通用组件。
如果企业只在验收时才问源代码,争议会很被动。供应商可能说报价只覆盖在线服务,不包含源码买断;客户可能说没有源码就无法审计、迁移或继续运维。双方都不一定完全错,问题是边界没有提前写清。
第一张表:交付物边界
先列清楚交付物,不要只写“系统一套”。至少区分源代码、目标代码、部署包、数据库结构、接口文档、配置文件、管理后台、测试报告、操作手册、账号权限、第三方组件清单、开源软件清单、设计稿和培训记录。
这张表要解决一个问题:客户最终拿到什么,供应商保留什么,哪些只是可访问服务,哪些可以复制、修改、迁移和再部署。没有交付物清单,后续很难判断是否违约,也很难做接管。
第二张表:权利和许可边界
代码不只是一个文件包。里面可能有供应商自研通用框架、为客户定制的业务模块、开源组件、第三方 SDK、素材、接口文档和算法规则。合同要分别写清:著作权归属、使用范围、是否可修改、是否可转授权、是否可用于关联公司、是否可交给第三方运维、离线部署是否允许。
如果供应商保留通用组件,应说明客户取得的是项目使用许可还是特定模块权利。如果客户要求买断或源码托管,应把范围、价款、触发条件和交接方式写成可执行条款。
第三张表:数据退出边界
SaaS 项目最容易被忽略的是数据退出。客户数据、用户个人信息、业务日志、订单记录、文件附件、配置参数、统计报表和备份文件,退出时怎么导出、什么格式、多久完成、是否保留备份、是否删除、如何留痕,都要提前写清。
数据合规不是一句“数据归客户所有”就够。还要看个人信息处理关系、委托处理义务、访问权限、日志留存、数据出境或境外接口、供应商能否用数据训练模型或改进产品。客户要求删除时,生产库、备份库、日志和测试环境是否同步处理,也要有机制。
第四张表:运维接管边界
项目出问题时,企业通常才发现没有服务器账号、域名解析权限、云资源清单、数据库权限、接口密钥、第三方服务账号或应急联系人。运维接管边界要提前写:谁保管账号,谁有最高权限,变更如何审批,漏洞和故障如何响应,服务终止时如何移交。
如果系统承载订单、会员、客户资料或核心业务,接管不是可选项。没有接管方案,合同终止、供应商停服、股权变动或服务费争议都会变成业务连续性风险。
场景:合同只写“软件归甲方”为什么不稳
假设一家企业采购 CRM SaaS,合同写“系统及数据归甲方所有”。上线一年后,企业想更换供应商,要求原供应商交源代码、数据库、接口文档和全部日志。供应商只愿意导出 Excel 客户表,拒绝交代码和数据库结构。
这个争议不能只靠一句“归甲方所有”解决。要看当初报价是否包含源码交付,SaaS 服务是否允许私有部署,客户是否取得修改和再部署权,数据库结构是否属于可交付文档,日志是否包含个人信息或其他客户数据,供应商通用代码能否拆分。第一天如果没有四张表,退出时就容易谈不拢。
行动建议
客户方签约前先做交付清单和退出清单,把“必须拿到”和“可接受不拿到”分开。核心系统至少要有数据导出、接口文档、账号移交、备份删除和第三方接管条款。
供应商方也要保护自己的通用代码和商业秘密。可以明确客户取得项目使用权、特定配置或定制模块使用权,但不当然取得底层框架、通用组件和其他客户经验。边界写清,反而能减少后续冲突。
常见问题
问:不交源代码就一定违法或违约吗?不一定,要看合同约定、交易目的、报价和交付清单。
问:数据归客户所有,供应商就能立刻删除全部日志吗?也不一定。删除、备份、审计留痕和法律保存义务要分开处理。
问:客户能不能把系统交给第三方运维?要看许可范围、保密义务、账号权限和供应商通用代码边界。
风险边界
以上是一般法律信息,仅供参考,不构成针对具体项目或案件的法律意见,也不替代正式咨询。具体项目应结合合同文本、报价单、交付清单、部署方式、数据类型、个人信息处理关系、开源组件和业务连续性要求判断。
如果正在谈 SaaS 或软件交付合同,可以先把交付物、权利许可、数据退出和运维接管四张表列出来。需要拆具体条款的,可通过知乎私信联系吕箐翎律师,说明系统类型、部署方式和当前合同阶段。