软件开发合同约定“部署源代码”,是否等同于“交付源代码”?
软件开发合同约定“部署源代码”,是否等同于“交付源代码”?
【法院观点】
一、(2025)皖民终118号民事判决书(裁判日期:2026年1月20日)
安徽高院二审认为:从字面及专业角度理解,“部署源代码”或“部署代码”均与“源代码”不一致。在软件工程领域,“部署源代码”这个说法并不规范和严谨,尤其是案涉软件所属的BS(Browser/Server)架构的软件系统中,严格意义上通常没有“部署源代码”的概念。常规意义上的“源代码”是指软件开发人员所编写的源代码,其本身无法直接部署在服务器上运行,需要先进行编译、打包、构建等方法得到可执行的目标代码,后才能在目标服务器上部署运行。而“部署源代码”通常理解为部署所需的制品文件、产物包、配置文件、脚本代码等,而非开发人员编写的源代码。
具体到本案,宜将双方约定的交付“部署源代码”“部署代码”理解为软件专业领域的“源代码”。原因如下:
其一,通过合同内容可见,无论是从软件专业领域,还是合同法律文本起草,双方签订的《软件实施合同》《补充协议》的内容均欠缺用语规范、专业的具体要求。
其二,通过签约过程可见,双方先行签订《软件实施合同》,后签订了《补充协议》,均认可签订《补充协议》的主要目的之一即为约定“源代码”交付问题,某乙公司作为计算机软件开发合同的委托方,其真实意图显然在于要求某甲公司交付源代码,合同文本中表述为“部署源代码”,与其软件专业知识不足有关。
其三,通过案涉项目的性质可见,其应用于城市的市政消防领域,且最终用户方系xx市政府所属部门,双方签订的《软件实施合同》中也明确在符合合同约定之外,某甲公司需满足最终用户方招标文件等要求,从政府投入和资产管理的角度,要求项目开发方一并交付源代码也属正当,技术本身不能成为体现合作价值、折损合作成果的阻碍,某甲公司也对其履约过程中还应受相关政府主管部门的规范要求约束予以了允诺。
综上,一审判决认定某甲公司应当交付源代码具有事实和法律依据。
二、(2025)粤73民终7号民事判决书(裁判日期:2025年6月9日)
广州知产法院二审认为:按照涉案合同的约定,某乙公司向某甲公司支付开发费用后,涉案计算机软件作品、程序和文件归某乙公司所有。因此,在某乙公司支付涉案软件开发费用后,该软件的源代码依约应归某乙公司所有,某甲公司应向某乙公司交付涉案软件的源代码。
某甲公司上诉主张其已经将涉案项目的源代码、应用服务程序及数据库均部署在某乙公司指定的海外云服务器上,已经交付了源代码。
本院对此认为,首先,计算机软件开发合同履行过程中,开发成果的交付可以采取将开发成果进行安装部署或交付安装包、目标代码、源代码、链接地址、用户名及密码等方式。软件在服务器上的部署并不当然等同于源代码的交付,即便涉案计算机软件已部署在某乙公司指定的海外云服务器,并不能据此推定某甲公司已交付了源代码。……。
【实务操作启示】
由以上案例分析,笔者尝试归纳如下启示要点,供委托方和开发者在软件开发合同签订、履行等实务操作中,作为参考:
-
双方应该在合同中明确约定知识产权归属。实践中委托方认为支付开发费用,想当然的认为知识产权应该归其所有,殊不知法律规定,如果双方未明确约定知识产权归属的,相关知识产权归受托方也就是开发者所有。所以作为委托方,如果想对软件具有完整控制权,应该约定己方享有相关知识产权。另外,在合同反复确认及盖章过程中,法务或盖章人员一定要仔细核对,是否与双方最终确认的版本一致。笔者就见过类似案例:原告称被告在盖章阶段修改了合同条款,但苦于不能提供证据,最终只能“吃哑巴亏”。
-
合同应该明确约定是否交付源代码以及何时交付。不能想当然的以行业惯例要求对方(如行业上认为应该交付,但不在合同里明确约定),应该将源代码交付明确写入合同,包括交付形式、交付时间等,对于其他影响软件运行的重要参数,如运维环境参数,委托方认为应该交付的,应该提前对开发方做出提示,并明确在合同中进行约定。如果双方约定不提交源代码,也应该在合同写明,比如写明只提交目标代码,但不提交源代码等类似的条款。
-
对于未交付的源代码,开发方应妥善保管。即使部署在委托方服务器或者租用服务器的源代码,开发方也应及时创建副本保存,防止因服务器到期未续费,导致源代码丢失,进而产生不必要的纠纷。
-
对于涉及软件开发服务器的场景,双方应该在合同中明确约定软件源代码等数据灭失责任的承担。比如软件是部署在委托方或者委托方租用的服务器上,开发方如果能证明自身已经交付了符合合同约定的软件,则相关灭失风险转移至委托方。
如您有软件开发相关法律问题,请添加,进行沟通。前10名还可以免费获得《软件开发常见法律风险自查清单》电子版一份,数量有限,先到先得。