计算机软件开发合同具有专业技术壁垒强、履行周期长、软件功能需求随开发进程不断调整的特点,使得该类案件涉及的法律适用及争议问题较普通合同纠纷更为复杂。本文结合笔者团队代理的几起此类案件,厘清计算机软件开发合同中的常见纠纷及对策,借以提醒委托方和开发方在合同签订时针对可能出现的风险提前进行约定,以避免后续产生的高成本诉讼。
一、计算机软件开发合同纠纷现状
(一)适用法律现状
计算机软件开发合同属于合同纠纷,应适用《民法典》《最高人民法院关于适用〈中华人民共和国民法典〉合同编通则若干问题的解释》中有关合同的规定。由于此类案件的标的物较为特殊,也适用《计算机软件保护条例》及最高院发布的《关于审理著作权民事纠纷案件适用法律若干问题的解释》等规定。此外,2022年8月25日,北京知识产权法院发布了《北京知识产权法院计算机软件著作权民事案件当事人举证手册》,也为计算机软件开发合同纠纷的处理提供了相应的指导意见。
(二)案件特点
1. 案件地域分布不均
通过检索裁判文书网发现,此类案件主要集中在经济发达地区,如北京、上海、广东、江苏等地。这些地区的案件数量占比较高,反映出经济发展水平与软件开发合同纠纷数量的正相关性。经济发达地区由于软件产业集中,相关纠纷也更为频繁。
2. 新兴领域案件增加
近年来,涉新兴领域案件不断增长。计算机软件案件已不再局限于传统的制造(企业生产、销售、管理等)、服务(家政、教育、物流)、零售、餐饮等领域,涉医药、游戏、数字化农业、新能源、生命科学、光学、云计算、物联网等新兴领域案件不断出现,反映了新兴领域对信息化软件的需求上升。[1]
3. 案件数量先增后减
裁判文书网数据显示,从2015年至2020年期间,计算机软件开发合同纠纷案例数量总体呈上升趋势。互联网、移动互联网以及新兴技术的快速发展,软件在各行业的应用越来越广泛,企业对软件开发的需求不断增加,导致相关合同纠纷数量上升。2021年至2025年间,案件数量逐年下降,究其原因可能一是最高人民法院自2021年起对裁判文书公开机制进行了优化,严格风险筛查、完善公开标准,导致上网文书数量整体下降。二是随着软件开发行业的逐渐成熟,企业和开发者对合同条款的重视程度提高,合同约定更加明确、细致,减少了因合同条款模糊导致的纠纷。
二、计算机软件开发合同纠纷相关办案经验
(一)某APP软件开发合同纠纷案
基本案情:
2017年12月22日,某公司(委托方)和某信息技术公司(开发方)签订软件技术开发合同,约定合同期限为2017年12月25日至2018年4月20日。2018年4月28日,某公司(委托方)新增需求7项、优化需求10项、变更需求3项。2018年8月8日,双方对软件需求变更签订补充协议,约定2018年8月10日完成APP一期测试、交付以及培训,8月底完成PC端以及H5开发。2018年8月10日至10月29日期间,双方多次就APP以及H5软件进行测试以及修复沟通。2018年11月1日,某公司(委托方)向某信息技术公司(开发方)发出《公函》要求解除合同以及赔偿损失,后某公司向法院提起诉讼。
案件结果:
笔者团队代理被告某信息技术公司(开发方),原告某公司提出诉讼后,我方提出反诉,要求某公司(委托方)支付拖欠服务费以及延期支付违约金。法院支持了我方的诉讼请求,判决双方合同解除,某公司在判决生效十日内支付我方当事人服务费以及相应的违约金。
(二)某ERP系统实施软件开发合同纠纷案
基本案情:
2018年2月27日,甲方(委托方)与乙方杭州公司(开发方)签订《套装软件以及实施顾问服务买卖合同》,甲方购买乙方的软件,并由乙方提供顾问服务,合同期限为签订后一年内。2019年6月27日,甲方(委托方)又再次与乙方另一苏州公司(开发方)签订《ERP软件以及实施顾问服务买卖合同》,甲方购买乙方的软件,并由乙方到境外提供顾问服务,合同期限为签订后一年内。2019年底甲方(委托方)与乙方苏州公司(开发方)签订《套装软件以及实施顾问服务买卖合同补充协议》,由乙方苏州公司代替原合同中的杭州公司提供顾问服务合同。2020年6月3日,甲公司(委托方)与乙公司苏州公司、杭州公司(开发方)签订《会议纪要以及补充协议》,预定乙方苏州公司对甲方与乙方杭州公司签订的合同承担连带责任。2019年6月至2020年6月期间,双方对软件开发以及调试进行多次沟通。后因软件最终没有上线,甲方(委托方)向法院提出诉讼要求解除合同,要求乙方杭州公司(开发方)退还已支付的软件费用375万,乙方杭州公司赔偿经济损失150万,乙方苏州公司赔偿经济损失101万,乙方苏州公司与杭州公司承担连带责任。
案件结果:
笔者团队为本案的原告(委托方)的代理人,在我方起诉之后,被告也提出了反诉。最终法院支持了我方大部分诉讼请求,判决解除合同,乙方杭州公司在判决生效10日内支付我方当事人375万,乙方苏州公司承担连带责任。
三、软件技术开发合同纠纷的注意要点
计算机软件开发合同纠纷主要集中在开发成果验收标准、合同目的实现、合同解除及违约责任等方面。
(一)明确计算机软件技术开发合同的标的
实践中软件的开发往往周期较长,在软件开发过程中随着委托方需求的进一步明晰、合同双方交流的不断深入、受托方阶段性完成的具体情况,软件的内容和功能需要适时进行调整和改进。在笔者团队代理的案件中都存在委托方和开发方双方需求约定不明或者未约定的情况。法院往往从合同约定、双方往来邮件或其他书面文件判断某项需求功能是否属于涉案合同约定的功能。
因此,订立合同时要明确软件功能需求,从正面角度对软件的运行环境、操作系统、浏览器、开发语言组、模块菜单功能等进行详细描述,又可以反面约定哪些功能不在开发范围内。
(二)计算机软件是否迟延交付
计算机软件开发合同当事人的主合同义务为交付所开发的软件和支付软件开发费用。实践中,比较常见的情况是开发方的履行客观上超出了合同约定的期限,但委托方并未提出异议,而是继续与开发方就软件开发的内容进行沟通,对开发方交付的软件进行测试反馈,开发方也继续予以修改完善,由于最终交付的软件仍然未满足委托方的要求,委托方提出开发方构成迟延履行。判断计算机软件是否迟延交付,应当先明确交付时间,如果交付客观上超出了合同约定的期限,则应判断开发方延迟交付是否具有抗辩理由。在合同履约过程中,委托方提出需求变更和新增需求等情况,应该给予开放方合理的补充费用和项目工期的顺延时间。
因此,在合同中要明确计算机软件交付期限、验收标准、交付条件,若双方对成果达不成一致意见,可共同委托具有资质的第三方机构进行验收。软件是否交付,一般由开发方承担举证责任。开发方应当保留确认单或签收单予以初步证明。作为开放方签订合同时应尽量避免以下条款“对合同中某一模块或系统功能的调整、完善或者细化不属于甲方变更需求,亦不属于甲方原因造成的系统开发周期延期”,此约定既会增加开发方工作量,也会让开发方失去延期交付的合理抗辩理由,对开放方极为不利。另一方面,作为委托方若对软件上线的时效性要求极高,作为合同订立的交易基础,则应对开发方的履行期限保持足够的敏感性,在合同履行过程中及时发出催促履行的任何书面函件。
(三)合同履约情况:交付的软件与合同约定功能的比对
在实践中,常常出现双方在原合同中没有约定某项开发某功能,但在合同履行过程中,双方曾协商过要对某功能进行开发,但没有落实成纸质文件予以确认。但合同的变更需要判断双方是否达成合意,应有书面文件或其他交流记录确定。若无证据证明则视合同未变更,此时委托方未完成原合同约定的开发功能将承担违约的不利后果,或委托方不能对未完成的开发功能主张违约责任。因此,双方任何需求变更都采用书面形式,保留往来邮件、信函、会议纪要、备忘录或者其他网络聊天记录。
在笔者团队代理的案件中,法院通常会组织双方进行现场演示来判定开发方提交的软件是否符合合同约定的功能。在确定功能比对的软件版本后,根据双方确认的功能需求点,勘验开发方交付的软件与合同约定的功能需求是否一致。演示情况通常存在以下结果:问题不存在;需求已经变更;需求未约定或约定不明;因页面适配或端口等软件外部配置软硬件环境导致的问题;存在问题;功能未开发。法院根据软件存在的问题是否实质影响软件正常运行,判断开发方是否违约。若软件主体功能已经实现,个别功能丧失或者存在瑕疵对软件正常运行不会造成实质影响,委托方主张开发方未按约完成软件开发,提交测试的软件不符合约定的违约主张不成立。
(四)计算机软件开发合同是否应解除
《民法典》第五百六十三条规定了法定解除权,根据该条规定、当事人在“因根本违约致使合同目的不能实现”的情形下提出解除合同。若开发方交付的软件不存在影响主要功能运行和使用的瑕疵或缺陷,尚未达到根本违约的程度,可在进一步对软件进行开发和优化的情况下实现合同目的,委托方则不能主张行使合同解除权。但在计算机软件开发合同长期履行过程中,不允许解除合同,有时对双方都不利,在我方代理的案件中,法院基于双方当事人均无继续履行合同的意愿,判决解除合同。
(五)合同解除的法律后果
当委托方和开发方不能协商一致解除计算机软件开发合同时,委托方通常起诉要求解除合同,退还已支付的软件费用以及赔偿经济损失,开发方则起诉支付拖欠服务费、违约金以及赔偿损失。通常法院将结合涉案合同的性质、履行情况和合同各方的过错来加以认定合同解除后的各方责任。若开发方未完成软件或功能瑕疵的部分较多,其违约责任较为严重,则要返还委托方已支付款项并且支付违约金。若双方都对软件未完成具有一定责任,则依据履行情况酌情认定。
2024年11月,最高人民法院知识产权法庭发文总结了在审理计算机软件开发合同纠纷案件中合同解除责任认定的裁判思路,明确了“终止履行—恢复原状(含折价补偿)—赔偿损失”的“三步法”,其中返还价款或者折价补偿与赔偿损失可以相互冲抵,但在判决时应先尽可能作出清晰认定,然后冲抵,不宜动辄直接一揽子判令一方向另一方给付一定的金钱。[2]
四、总结
在计算机软件开发合同的签订与履行过程中,各方需充分重视合同条款的明确性、技术需求的清晰性以及履行过程中的沟通与协调。提前预防并规范操作,能够有效减少纠纷的发生,保障各方权益。希望本文所述常见问题及注意要点能为相关从业者提供参考,助力软件开发合作顺利开展。
参考资料
[1] 江苏省高级人民法院知识产权庭课题组:《计算机软件案件知识产权法律问题研究》,载《人民司法》第34期。
[2] 最高人民法院知识产权法庭课题组:《计算机软件开发合同纠纷案件法律适用问题研究》,载《法律适用》2024年第11期。