基本案情:
上诉人(原审被告):山东某远重工有限公司(“某远公司”)
被上诉人(原审原告):浪潮世某(山东)信息技术有限公司(“世某公司”)
某远公司认为:(一)世某公司提交的软件不符合合同要求,不符合初验条件。(二)涉案合同履行中世某公司存在延期交付问题。
世某公司辩称:(一)关于某远公司所述软件相关问题的情况。某远公司所述BUG仅有9项指派给世某公司处理,且均是需求优化与功能优化问题,并非涉案合同约定的相关需求,并不影响软件正常使用。某远公司未指派给世某公司的相关BUG主要有两种:一是某远公司对系统的使用存在误解;二是需求发生变更,世某公司需向某远公司确认调整的需求。某远公司发生重大人事变更,世某公司相关优化工作无法得到确认,某远公司关闭了交付通道,世某公司沟通无果,某远公司均不回应。(二)关于延期交付问题。在双方实际履行过程中,需求发生大量变更。某远公司原先承诺的外部接口条件也未具备。以上情况导致了涉案软件开发工期延长。世某公司曾向某远公司更新项目,某远公司对此均无异议。世某公司不存在延期交付情况。
法院意见
最高人民法院认为:
在计算机软件开发合同的履行过程中,当事人一方在技术上发生的能够及时纠正的差错,或者为适应情况变化所作的必要技术调整,不影响合同目的实现的,不应认为是违约行为。
根据计算机软件开发工作的特点,软件的功能需求可能在签订合同时通过合同文本或附件明确,也可能在合同履行中随着双方交流、委托工作的阶段性完成而逐渐明晰,在软件开发过程中,对软件开发的内容和功能进行调整较为常见。如果双方在合同文本中约定了软件名称和软件实现的目的,而在合同履行中通过电子邮件、即时通信、通讯群组等网络应用服务的通信信息对功能需求进行磋商、沟通的,经双方确认的功能需求是对合同内容的补充,构成软件开发合同的内容。
(一)关于世某公司交付的涉案软件是否符合初验要求的问题
由于双方在涉案合同中并未明确约定初验的要求,故对于涉案软件是否符合初验要求的认定,应当考虑涉案软件是否能够实现合同目的、存在问题是否属于软件基本缺陷以及相关商业惯例等因素。
从本院查明的事实看,在某远公司发送给世某公司的三次反馈意见中,仅有2019年3月18日反馈的PC端微信支付功能无法实现是属于“软件存在缺陷”的问题,其余问题均为对现有软件功能或界面的优化需求,在软件开发过程当中,对功能及页面的不断优化属于正常情形,符合商业惯例,不影响易基建项目软件的使用,不属于“软件存在缺陷”的问题。
关于“PC端微信支付功能无法实现”的问题,世某公司已经在其3月30日提交的版本中开放相关端口,只要该软件接入互联网后即可使用,即世某公司已经修复此项瑕疵。某远公司在4月2日、4月4日及4月26日反馈的问题当中均未再提及此项瑕疵。
此外,2019年2月27日,“易基建供应商端”小程序在微信小程序注册上线;齐鲁公证处公证人员在2019年8月5日仍可以通过公证处电脑连接互联网使用易基建网站;世某公司员工在2019年12月20日仍可以通过微信小程序向易基建项目付款,上述事实均表明世某公司交付的易基建项目软件符合初验标准,某远公司应当向世某公司支付初验款20万元。
(二)关于世某公司是否存在延期交付涉案软件情形的问题
根据涉案合同第1条的规定,乙方应按照本合同相关条款及附件的要求,如期完成和交付项目。本案中,虽然世某公司在2019年2月18日尚未将涉案软件提交某远公司测试验收,但是根据世某公司提交的证据显示,自2018年12月7日起,至2019年3月11日期间,世某公司员工给某远公司员工通过邮件发送易基建项目工作周报,沟通项目进度、确认各项需求。由于世某公司应当交付的软件包括了迭代一期、二期、三期的项目,而迭代三期的项目需求在2019年1月17日才经双方确认,因此,涉案合同约定的软件交付期限已经实际发生变更,世某公司履行合同的期限应当相应进行顺延。2019年3月15日,世某公司将开发完成软件代码提交某远公司验收,并向某远公司发送验收请求,应当视为世某公司已经按期交付软件,并无延期履行的情形。
案件启示
在软件开发合同中,双方应当在合同中尽可能明确软件的功能需求、验收要求、验收时间。对于在实际履行过程中功能需求的变更应当有书面的记录和确认,对于不满足要求的交付以及延迟交付的情形应当及时提出异议。