夜雨聆风学习资料网

ARTICLE · 1270915

软件开发被指逾期或不合格?计算机软件开发合同常见争议焦点与裁判观点

软件开发被指逾期或不合格?计算机软件开发合同常见争议焦点与裁判观点
计算机软件开发合同纠纷常见争议焦点与裁判观点
"金律知产说"第8篇·技术合同实务·软件开发纠纷裁判规则
摘要
摘要:
计算机软件开发合同纠纷在法律实体层面主要受《民法典》合同编及技术合同司法解释的调整。
由于软件开发周期长、技术专业性强、需求常处于动态调整之中,实践中争议多发生在关于“是否构成逾期交付”、“需求变更对工期的影响”、“抽象功能标准的验收认定”、“未交付源代码等附随义务的责任界限”、“违约金调整与损失赔偿限制”以及“法定解除权适用边界”等合同履行层面。受托人交付软件成果若因委托人增加或改变需求导致工作量增加的,合理延期通常不构成逾期;未交付源代码通常属于附随义务违反,一般不导致合同目的落空而构成根本违约。本文结合法律法规与最高人民法院典型判例,梳理软件开发合同核心争议焦点的裁判观点,并给出实操风控建议。
一、受托人交付软件成果是否逾期
(一)委托人增加或改变需求导致工作量增加的,受托人合理顺延不构成逾期
虽然当事人在签订合同时对开发范围和功能指标达成了初步合意,但由于软件功能描述往往具有抽象性,在实际开发过程中,随着委托方需求的进一步明晰、双方沟通的深入,软件内容和功能的动态调整与改进实属正常。
对于研发阶段性成果和最终成果是否符合约定的判断,不宜机械局限于原始合同文本,而应考量合同履行过程中双方对合同内容的实质性变更。
在《最高人民法院知识产权法庭裁判要旨(2019)》中,最高人民法院明确指出:计算机软件开发合同履行过程中,随着委托方需求的进一步明晰、合同双方交流的不断深入、受托方阶段性完成的具体情况、市场情势的客观变化乃至交易成本控制的考量,软件内容和功能进行调整和改进实属正常,不宜仅因软件开发方超过合同约定的履行期限交付软件即简单认定其构成迟延履行。
在实际开发过程中,因委托方动态调整需求必然导致开发工作量增加,若双方未另行签订补充协议约定新的交付期限,受托人在合理期限内顺延交付的,不构成逾期交付。判例参考:1.在最高法(2021)最高法知民终1023号案中,乙方接受甲方委托负责仓配运营管理系统开发,履约中乙方提出新需求,双方磋商虽未签补充协议,但乙方按新增功能实际开发且甲方认可,法院最终认定因甲方提出新需求导致工作量增加,乙方延期交付不构成逾期违约;2.在最高法(2020)最高法知民终1854号案中,委托人在合同范围外提出新需求,受托人逾期后继续开发且委托人未表异议并积极沟通,法院认定双方以实际行动对履行期限进行了变更。值得关注的是,依据《最高人民法院关于审理技术合同纠纷案件适用法律若干问题的解释(2020年修正)》第十五条,技术合同当事人一方迟延履行主要债务,经催告后在30日内仍未履行的,另一方可依据《民法典》第五百六十三条第一款第(三)项主张解除合同(参见(2017)京民终379号案、(2018)京民终1号案)。
(二)受托人超期交付,委托人未明示或以实际行为表示同意延期的,受托人构成逾期
《民法典》第五百四十四条规定,当事人对合同变更的内容约定不明确的,推定为未变更。《民法典》原则上否定合同的默示变更。依据《民法典》第一百四十条,沉默只有在法律规定、当事人约定或者符合交易习惯时方可视为意思表示。因此,受托人单方请求延期,委托方虽未当场反对,但未作明确同意表示且无接受延期的相应履约行为的,不能认定双方达成变更工期的合意。判例参考:在最高法(2021)最高法知民终906号案中,受托人未能举证证明第一阶段需求增加,双方亦未明确表示更改交付时间,受托人超过合同约定节点交付成果被法院认定构成逾期违约。
(三)委托人接受受托人继续履行,但未明确放弃索赔权利的,受托人仍构成逾期
判例参考:在最高法(2021)最高法知民终1026号案中,法院认为涉案补充协议仅系对PC端项目已开发完成并上线运行客观事实的确认,委托人并未表示放弃追究迟延交付损失。主张按期交付的一方应承担举证责任,受托人未能举证未能如期交付的合理理由,迟延交付行为构成违约。
二、委托人是否增加或改变了需求,导致合同工期延误
当委托人主张受托人迟延交付时,受托人最核心的抗辩通常是“委托人增加了需求导致工期延误”。认定委托人是否增加或改变需求,法院通常遵循以下判定路径:首先以合同及其附件中约定的功能模块、技术指标为基础范围;其次审查履约过程中双方通过补充协议、需求确认单、会议纪要、工作邮件、微信/钉钉沟通对功能模块的具体变更记录;最后,必要时法院会组织现场技术勘验,通过系统运行演示确认交付的软件是否具备约定的全部功能模块,从而界定争议功能究竟属于“既有约定的细化”还是“新增的额外需求”。
三、验收标准及功能描述抽象时,如何认定受托人是否按约完成开发
当合同对功能项、技术参数描述较为模糊或采用抽象上位概念,且上下文无法直接解释时,司法实践通常从以下几个方面解决:1.结合双方履约沟通记录探寻真实意思表示:双方在开发沟通中对功能模块作出的具体明确解释且均予接受的,该解释即可限定争议内容的含义。2.从行业惯例与交易习惯出发去明确具体含义:《民法典》第五百一十条规定,约定不明确的可以按照交易习惯确定。判例参考:在上海知产法院(2016)沪73民初563号案中,医疗服务软件未明确约定产品一次性购买数量,受托人交付的系统每次只能购买一件。法院认为一次性购买多个同类产品是购物类软件应具备的基本功能,未实现该功能构成履行瑕疵。3.从通常标准或符合合同目的的角度去判断:依据《民法典》第五百一十一条第一项,无国家和行业标准的,按照通常标准或符合合同目的的特定标准履行。判例参考:在最高法(2019)最高法知民终769号案中,最高院认定受托人提交的软件已可制作3D足球进球实时回放视频,符合该软件交付的通常标准;在(2015)京知民初字第2182号案中,法院以实现金融交易网站的合同目的来界定其质量标准。关于合同目的,最高法在(2021)最高法知民终727号案中确立了明确规则:合同目的应以合同的典型目的为准,当事人的主观商业动机若未写入合同且未达成合意,不构成合同目的的一部分。
四、受托人未交付源代码等附随义务,需要承担何种责任
依据《民法典》第五百零九条第二款,当事人应当遵循诚信原则履行通知、协助、保密等附随义务。交付源代码在法律性质上一般属于附随义务。
委托人的合同目的在于取得符合约定的软件成果。
若涉案软件已成功部署上线并投入商业运营,受托人未交付源代码通常不影响软件本身的正常使用,未导致委托人订立合同的根本目的落空,因此通常不构成根本违约,
委托人不得仅据此主张解除合同、全额退费并索赔解约违约金。若未交付代码确实给委托人造成实际损失,委托人可依据不完全给付主张相应的违约赔偿责任。
判例参考:1.在最高法(2019)最高法知民终54号案中,涉案游戏已上线运营并获得收益,委托人未能证明未交付代码导致游戏不能实现收益,最高院认定受托人未交付代码的行为未导致合同目的落空,不构成根本违约;2.在最高法(2021)最高法知民终23号案中,平台系统已正式上线运营并完成人员培训,最高院认定未交付源代码并不影响系统投入运营使用,不构成根本违约。
五、格式化默认验收条款对委托人是否具有拘束力
实践中受托人常在合同中拟定格式条款:“交付软件并移交权限后X日内,委托人未书面提出异议的,视为验收合格”。依据《民法典》第四百九十七条第(二)项,提供格式条款一方不合理免除自身责任、加重对方责任、限制对方主要权利的,该格式条款无效。司法审判通常不予直接支持此类单方默认条款。判例参考:在最高法(2019)最高法知民终436号案中,法院认为受托人移交密码10日内委托人未答复视为确认制作的条款,属于明显加重相对人注意义务的默认条款,不宜仅据此认定受托人履约合格,仍应结合案件实际履行证据综合判断。但若合同约定的验收期限合理,受托人交付后多次书面催告验收而委托人无正当理由怠于配合,后又以软件不合格为由主张解约的,委托方的主张通常难获支持。
六、受托方违约赔偿责任的范围限制与违约金调整
违约损失赔偿的范围严格受合同法“可预见规则”、“与有过失规则”及“减损规则”的限制:1.可预见规则(限制间接损失与预期利润):《民法典》第五百八十四条规定,赔偿额包括合同履行后可获得的利益,但不得超过订立合同时可预见或应当预见的损失。委托人主张软件上线后的巨额预期利润损失若无具体依据,法院通常综合合同总额、过错程度酌定(如(2021)最高法知民终1516号案酌定赔偿预期利益损失10万元)。2.与有过失(过错相抵):《民法典》第五百九十二条规定,双方都违约的应当各自承担相应责任。一方对损失发生有过错的,相应减少违约赔偿额。判例参考:在最高法(2021)最高法知民终1940号案中,受托人软件存在安全漏洞,但委托人未按约给予整改期并擅自登记著作权,法院判决双方各自承担违约责任,对双方互索违约金均不予支持;在(2021)最高法知民终2448号案中,因双方均未尽协作义务导致合同无法履行,法院判令受托人部分返还款项。3.减损规则:《民法典》第五百九十一条规定,守约方未采取适当措施致使损失扩大的,不得就扩大的损失请求赔偿(如(2016)沪73民初735号案)。4.违约金调整规则:依据《民法典》第五百八十五条第二款及最高法民法典会议纪要第11条,约定的违约金低于实际损失的可请求增加;超过损失30%的,违约方可请求法院予以适当调减,法院对此享有自由裁量权。
七、委托人以“不符合合同目的、构成根本违约”为由解除合同的司法限制
1.委托人自身违约导致开发受阻的,受托人不构成根本违约:依据《民法典》第八百五十二条及技术合同司法解释第十九条,委托人负有支付经费、提供基础技术资料与完成协作的法定辅助义务。若委托人未付款或未提供接口数据导致开发停滞,受托人不构成根本违约。2.软件基本功能完备,个别瑕疵不影响使用的,委托人无权解除合同:“实现合同目的”的判断标准是违约结果是否实际剥夺了债权人的履行利益。判例参考:在最高法(2021)最高法知民终937号案中,涉案软件存在的10个问题多属瑕疵问题,未影响软件基本功能的实现,最高院认定不构成根本违约,否定了委托方的解约权。但需特别注意:若合同专门约定了特定开发语言且该语言对委托方商业运营具有实质影响的,受托人违反约定构成根本违约(参见最高法(2021)最高法知民终1593号案)。3.已经履行完毕的合同不适用解除:依据《民法典》第五百五十七条,债务已经履行完毕的,合同权利义务终止。若委托方已付款且受托人已交付系统并实际运营,合同已履行完毕,委托人仅能主张违约赔偿,不能主张解除合同。
八、未经同意转包或分包开发工作的违约责任
合同约定禁止转包分包的,若受托人擅自转包,但在受托人已经实际履行完毕、交付成果验收合格且已正常使用的情况下,委托人不可解除合同要求全额退款,但转包行为构成违约,法院可酌定支持一定的违约金(参见最高法(2021)最高法知民终1858号案)。此外,在最高法(2021)最高法知民终9号案中,法院明确认定:受托人雇佣劳务派遣人员并在受托人指令下开展开发工作,不属于转包或分包行为。
九、合同未约定工期时受托人的履行期限确定
《民法典》第五百一十一条第四项规定,履行期限不明确的,债务人可以随时履行,债权人也可以随时请求履行,但应当给对方必要的准备时间。判例参考:在上海知产法院(2020)沪73知民初952号案中,涉案合同未约定工期,法院结合长达一年半的诉讼周期及软件开发常规工作量,认定被告已有充足时间完成开发,在起诉状副本送达之日仍未能交付的,已构成逾期违约。
十、软件开发公司的全流程实务建议
对于软件开发企业(受托方):(1)
开发需求与指标清晰化
:合同及附件应对功能模块、技术参数、交互逻辑尽量描述清晰明确,并提前约定需求变更时的费用计算标准与工期顺延机制。(2)
变更留痕与签证制度
:履行中委托方提出新增或修改需求的,务必通过书面《补充协议》或经双方确认的《需求变更单》予以固定,并同步争取延长交付时间。(3)
设置违约责任上限
:在合同中有话语权的情况下,尽量设置违约金及赔偿承担上限(如不超过开发费总额的特定比例)。(4)
规范验收流程
:合同中约定受托人提请验收后合理期限内委托人未配合验收的,委托人不得以软件不符合约定或合同目的为由主张解除合同及退费。(5)
明确软件著作权归属
:在无约定时软著归开发方,注意审查对方是否在合同中约定排除了我方权利。(6)
全流程证据留痕
:妥善保管需求规格说明书、设计文档、Git提交日志、邮件往来、通话录音及微信/钉钉沟通记录。(7)
保存云端部署凭证
:以云端交付软件的,保存好服务器账号密码与本地程序存档,防止因欠费导致软件成果灭失。(8)
争取约定管辖
:合同中尽量将争议管辖法院约定为受托人(开发方)所在地法院。
法条索引
《中华人民共和国民法典》第一百四十条、第四百九十七条、第五百零九条、第五百一十条、第五百一十一条、第五百四十四条、第五百五十七条、第五百六十三条、第五百八十四条、第五百八十五条、第五百九十一条、第五百九十二条、第八百五十二条、第八百五十五条、第八百七十条。《最高人民法院关于审理技术合同纠纷案件适用法律若干问题的解释(2020年修正)》第十五条、第十九条、第四十六条。《最高人民法院关于印发〈全国法院贯彻实施民法典工作会议纪要〉的通知》(法〔2021〕94号)第11条【违约金调整的标准与举证责任】。
判例索引
(2021)最高法知民终1023号案(委托方提新需求导致工作量增加不构成逾期违约)(2020)最高法知民终1854号案(委托人提新需求且未提异议认定实际变更工期)(2021)最高法知民终906号案(未证明需求增加且无变更合意超期交付构成违约)(2021)最高法知民终1026号案(补充协议确认系统上线不等于放弃追究逾期损失)(2016)沪73民初563号案(依据行业交易习惯解释购物软件基础功能)(2019)最高法知民终769号案(约定不明确时按行业通常标准认定交付合格)(2021)最高法知民终727号案(未写入合同的主观商业动机不构成合同目的)(2019)最高法知民终54号案(未交付源码属附随义务违反不构成根本违约)(2021)最高法知民终23号案(平台已上线运营未交付源代码不享有解约权)(2019)最高法知民终436号案(限期未答复视为合格的默认格式条款无效)(2021)最高法知民终1516号案(缺乏依据的预期利润损失由法院酌情裁量)(2021)最高法知民终1940号案(双方均存在违约行为适用过错相抵)(2021)最高法知民终2448号案(双方均未尽协作义务导致履约停滞各自担责)(2021)最高法知民终937号案(局部瑕疵不影响基本功能实现不享有解约权)(2021)最高法知民终1593号案(违反专门约定的特定开发语言构成根本违约)(2021)最高法知民终1858号案(已履行完毕擅自转包不可解约但须承担违约金)(2021)最高法知民终9号案(雇佣劳务派遣人员在指令下开发不属于转包分包)(2020)沪73知民初952号案(未约定工期时经充分合理准备时间仍未交付构成违约)
作者介绍
图注
金星律师,上海申浩律师事务所专职律师,执业律师+专利代理师(双证),同济大学知识产权法学硕士,14年知识产权与法律实操经验。专注专利诉讼与无效、商业秘密、技术合同及复杂知产争议解决。本文为“金律知产说”原创实务笔记,仅供交流探讨,不构成正式法律意见。

相关学习资料