来源:厦门中院
信息化是当前产业发展的必然趋势 计算机软件开发作为 信息化事业的重要内容 也随之蓬勃发展 基于软件开发的高度专业化 委托方与受托方往往对于 软件开发及其生命周期的认识存在分歧 使得合同履行中经常发生争议 最终酿成纠纷 今天,小编就给大家带来 厦门中院审理的一起 软件开发合同纠纷案 案情简介 2019年4月,甲公司与乙公司双方签订讼争软件开发合同,约定由甲公司委托乙公司开发案涉软件,其中包括“区块链钱包”“创新区块链物流系统”等功能模块开发。合同还就相应功能需求、对价等进行约定,同时明确“乙公司在开发前进行原型设计和UI设计,甲公司应在软件开发前进行UI设计的确认”。 甲公司依约支付了部分款项,在合同约定的开发总周期届满后,乙公司向甲公司提交了“区块链钱包”,开发了部分“创新区块链物流系统”及其他开发内容。此时,甲公司仍在提出新的钱包原型需求且仍不确认“创新区块链物流系统”UI功能设计。 之后,乙公司发微信表示“双方合作先暂停”。 甲公司则邮寄了《解除合同通知书》。 2021年3月,厦门中院根据全案审理情况,判令案涉合同于判决生效之日起解除;同时,在确定受托方乙公司的劳动理应获得合理对价下,对双方债务进行了冲抵。冲抵后,分别驳回双方其他诉讼请求。 甲公司不服,向最高人民法院提起上诉,最高人民法院二审予以维持。 主要裁判观点 软件操作演示的比对<<<< 对软件开发进度的评判,应当以软件同合同所约定的需求进行逐一比对为基础,综合考虑软件主体功能是否完成、缺失部分是否实质性地影响软件的正常使用等情况。 本案庭审时组织双方就涉案软件的功能开发及使用状态进行了现场演示,经对500多项小功能模块的逐一演示比对,涉案软件已具备“区块链钱包”功能需求中的主体功能,虽然存有部分需求缺失,但缺失部分并未影响功能模块的正常使用。“创新区块链物流系统”所约定的240多项功能中,160余项功能基本符合需求。 善意协作义务的理解<<<< 计算机软件开发虽有功能需求随开发进程不断调整的特点,但正是基于该特点,委托方更应及时确定开发要求,这是其重要的善意协作义务,否则软件开发就无蓝图可依。 本案委托方多次迟延确认UI设计,怠于履行合同协助义务,构成违约在先。而受托方之前并无其他违约行为,其所发的微信内容仅表示暂停合作,并未明确拒绝履行合同,故仅就该发微信行为本身并不会导致合同目的无法实现。故甲公司并不具有解除权,其向乙公司发送《解除合同通知书》不发生合同解除的后果。 判令合同解除的适用<<<< 计算机软件开发合同纠纷案件中,反诉率较高,一方主张解除合同,一方主张继续履行合同的情况较为多见,此时是否解除合同,需要结合软件开发的特点加以考量。 本案中,虽然甲公司不享有合同解除权,但是,鉴于双方已无继续履行合同的意愿,且涉案合同生效至今历经一年有余,从物流行业的发展速度、态势等客观因素分析,合同目的确已难以实现,故确认涉案合同于判决生效之日起解除。 救济合理履行的考量<<<< 确定UI设计是开发源程序的前提,但是不意味着开发方只能线性推进乃至消极等待,这并不符合软件开发的行业惯例。 尤其是,在合同约定软件整体项目分若干个功能模块设计、各个模块具有独立的UI设计前提下,相对独立的功能模块依然是整体功能不可或缺的一部分,且受托方在产品最终交付前仍有机会进一步调试完善UI设计,故受托方在完成其他功能模块开发下,根据事先约定的开发需求,着手准备实施未取得确认启动的任务具有合理性,可以获得相应的对价。 本案例旨在通过分析计算机软件开发合同的相关易讼点,归纳提炼其中的裁判规则,促进各方及时发现源头性、苗头性问题,从源头上减少矛盾纠纷,促进软件开发行业健康有序发展。
本文仅供学习、交流,不代表上海君澜(无锡)律师事务所或其律师出具的法律意见或建议。
君澜律师
君澜法律顾问中心