中华人民共和国最高人民法院 民 事 判 决 书 （2020）最高法知民终1739号 上诉人（原审被告）：上海铳梦市场策划推广有限公司。住所地：上海市嘉定工业区叶城路925号B区4幢JT3352室。 法定代表人：谢柳英，该公司总经理。 委托诉讼代理人：陈雅雯，女，该公司员工。 委托诉讼代理人：陈秋蓓，广东同法律师事务所律师。 被上诉人（原审原告）：驼老大信息技术（深圳）有限责任公司。住所地：广东省深圳市前海深港合作区前湾一路1号A栋201室。 法定代表人：李甫云，该公司执行董事兼总经理。 委托诉讼代理人：褚妮娜，北京市君泽君（深圳）律师事务所律师。 上诉人上海铳梦市场策划推广有限公司（以下简称铳梦公司）因与被上诉人驼老大信息技术（深圳）有限责任公司（以下简称驼老大公司）计算机软件开发合同纠纷一案，不服上海知识产权法院于2020年8月26日作出的（2019）沪73知民初617号民事判决，向本院提起上诉。本院于2020年11月2日立案后，依法组成合议庭进行审理。本案现已审理终结。 铳梦公司上诉请求：撤销原审判决，依法改判驳回驼老大公司的诉讼请求。主要事实与理由：（一）驼老大公司迟延交付软件开发成果，已构成违约。首先，合同约定的开发期限系双方一致意思表示，具有法律约束力。在签订书面合同前的沟通及商洽中，铳梦公司已明确告知案涉软件的开发目的在于为2019年3月底的两场公开活动之售票使用，并提供了产品需求、功能列表等。驼老大公司作为具备专业能力的技术开发团队，在签约时应对案涉软件开发所需时间及预计交付期限作出最基本的判断。对于开发过程中可能因软件测试反馈而需修复漏洞所对应增加的开发时间，亦应提前做好预估并计入上述总开发期限中。在此基础上，双方在合同中明确约定了开发时间为2018年12月27日至2019年3月10日，该期限应包含开发所需的需求确定、原型及UI设计、基本开发、测试反馈、缺陷修复等通常可预判的开发用时，属于驼老大公司作出的交付期限承诺。其次，开发计划表不能视为双方对原开发期限的变更。开发计划表是在合同履行过程中在铳梦公司多次催促合同履行以确保3月既定活动的顺利进行，并要求驼老大公司提供相应计划表的情况下，驼老大公司才提供的。该开发计划表并非合作开始后作出，而是在铳梦公司提出要求时制作的，该开发计划表中“需求收集阶段”“产品原型阶段”“UI设计阶段”“数据结构设计阶段”“测试环境、方案设计关联账号注册阶段”均是完成后记录的，而非提前做出的计划安排。本着契约精神，铳梦公司在无法确定驼老大公司最终完成开发时间的情况下，未对开发计划表提出明确异议，是希望尽可能促成合同的继续履行。如驼老大公司确实逾期交付，但提供测试的版本符合最基本的使用需求，铳梦公司仍可能接受成果并不予追究其迟延责任。但铳梦公司的沉默，不能理所当然认为是对工作安排的认可，亦不能视为是对驼老大公司迟延交付责任的免除。合同成立生效后，任何变更都应通过双方协商一致并经清晰确认的方式进行方可生效。一方作出意思表示、而另一方未予以否认，不能认为双方已对原合同约定期限达成一致的变更意见。最后，驼老大公司未能按时履行交付义务时即已违约。驼老大公司明知案涉软件开发能否按时交付一事存在风险，在此情况下签订合同，作出交付承诺并收取相应的开发费用，应遵守约定及承担相应责任。驼老大公司未经铳梦公司书面同意，因开发进度缓慢导致逾期交付，构成违约。在迟延交付问题发生后，不应将责任全部转由铳梦公司独自承担，原审判决明显违反公平原则。（二）驼老大公司违约行为已导致铳梦公司无法实现合同目的。铳梦公司在合作开始前及合作过程中均已反复强调，将在2019年3月24日及2019年3月30日举办两场公开活动，故须在2019年3月初使用案涉软件对外开展售票选座工作。但驼老大公司一直以各种理由推脱，并不承认自身原因造成开发逾期。直至2019年3月17日，驼老大公司才提供ios版本测试软件，安卓系统版本直至3月22日才提供，交付时间已超出合同原约定期限数日，也远远迟于铳梦公司售票时间。为保障活动顺利举行，铳梦公司不得不另行委托案外人对原有系统提供维护服务，由此产生了额外支出，并使售票活动受阻造成经济及商誉损失。并且，两测试版本均存在较多系统缺陷及漏洞，连最基本的支付流程都存在问题，根本无法投入初步使用。鉴于上述原因，铳梦公司无法认同驼老大公司有可能在后续短时间内提供符合要求的开发成果。驼老大公司未能及时完成交付，导致铳梦公司合同目的无法实现。（三）原审法院仅凭修复漏洞后的软件版本认定付款条件已成就，属于认定事实不清、理据不足。首先，原审庭前演示的软件版本不能证明被上诉人已完整完成需求清单。经过上诉人测试使用的版本仅为2019年3月19日及2019年3月22日提交的两版本，原审审理过程中，却只对此后经多次修复所完成的软件版本（2019年3月31日）进行演示，该软件版本虽基本完成对此前双方提交的bug问题的修复，但不能说明即已满足需求清单的全部内容。Bug问题清单仅为前期发现的部分不足及缺陷，但客观上可能仍存在其他未经实际使用不能发现之漏洞。其次，原审法院未查明案涉软件未最终验收的原因。涉案合同为驼老大公司提供的格式文本，双方的权利义务约定完全不对等。软件开发须顾及到委托开发方的意愿及开发要求，从而进行相应修改及完善，最终达到终端使用目的。但驼老大公司仅按照自己的意愿进行开发，未按照原定期限交付成果，直至2019年3月底才最终交付。而当时铳梦公司忙于举办活动，无暇顾及也无法在驼老大公司单方要求的期限内完成最终验收。对于案涉软件最终未通过验收的原因，原审法院未予查明，据此要求铳梦公司承担未验收开发成果的责任，显失公平。 驼老大公司答辩称，首先，根据双方微信聊天记录，在涉案合同签约前后，由于铳梦公司行为导致产品开发工作进度出现拖延，驼老大公司在此背景下提出变更延长合同期限，并据此制定新的工作计划表。此后，铳梦公司并未提出异议，并配合驼老大公司进行后续开发，双方关于合同期限的变更已达成一致，驼老大公司在履行合同产品开发义务上无任何主观过错及客观违约行为。其次，铳梦公司所主张的活动售票日期为2019年3月4日，即使驼老大公司未提出将开发期限延期，根据涉案合同约定，软件产品最早也在2019年3月10日完成技术开发工作，即使不考虑后续一系列应用商品市场上线工作时间，也无法与铳梦公司所主张的“合同目的”即2019年3月4日的某场活动售票需求相匹配。并且针对铳梦公司反复提及的2019年3月初的某场活动，铳梦公司也已在2019年2月12日新开发计划时间表时进行了提前部署，驼老大公司严格按照开发计划时间表进行产品的开发、测试及上线部署工作，不存在损害铳梦公司合同目的的情形。最后，驼老大公司产品开发工作及成果提交符合合同约定，铳梦公司未依约进行验收应承担相应责任，合同尾款付款条件已成就。根据相关微信聊天记录、产品源代码光盘以及本案一审庭审关于案涉软件bug系统演示等证据均显示，驼老大公司严格按照合同约定的工作程序完成产品开发及修复改进等各项工作任务，因铳梦公司单方违约解除合同导致无法交付产品开发成果的责任并不在驼老大公司。合作开发期间，驼老大公司持续主动与铳梦公司保持稳定有效的沟通，不存在铳梦公司所称按照自己的意愿进行开发的情况。至于铳梦公司所称软件在测试阶段存在过多bug以致其认为案涉软件不符合其应用标准的问题，根据本案一审庭审时法官的询问，铳梦公司认可当庭演示其提出的bug已获得修复则认可案涉软件已符合合同约定的验收标准。根据本案一审庭审期间对软件bug系统的演示情况，以及一审庭审期间当庭询问相关特定功能的开发完成情况可知，驼老大公司提交的、截止至2019年3月31日这一开发日的软件，从功能完整度及使用顺畅度上，已符合合同关于产品一、二、三、四级功能的需求，且已符合双方在进行产品测试时关于bug修复的标准。 驼老大公司向原审法院提起诉讼，原审法院于2019年8月13日立案受理，驼老大公司向原审法院起诉请求：1.铳梦公司向驼老大公司支付欠款28.8万元及逾期利息[以28.8万元为基数，从2019年4月15日起至2019年8月19日，按照中国人民银行同期贷款利率计算；从2019年8月20日起至还清欠款之日止，按同期全国银行间同业拆借中心公布的贷款市场报价利率（LPR）计算]；2.铳梦公司赔偿驼老大公司律师费2.2万元。 铳梦公司答辩称，驼老大公司未在涉案合同约定的期限内完成软件开发,已交付的软件不符合合同要求，致使合同目的无法实现并因此遭受损失，应承担相应的违约后果。铳梦公司不存在违约行为，无需承担违约责任，也无须向驼老大公司支付剩余服务费用和利息。 原审法院认定事实： 一、涉案合同签订前双方的沟通情况及涉案合同的签订情况等 2018年12月28日，驼老大公司姜文平在群聊名称为“统梦App技术群”的微信群中发送消息“＠NgamanChan需求说明及规则文档，预计什么时候能给我呢？”同日，铳梦公司NgamanChan（陈雅雯）在微信群里发送文件“功能列表20181228.pdf”，并＠姜文平“功能列表请看一下，有问题随时沟通！”2019年1月2日，NgamanChan在微信群里发送消息“关于APP的企划和需要补充说明的地方，请随时跟我们沟通。＠李夏云＠MartinLee＠姜文平”，驼老大公司李夏云回复“文平那边梳理完，会尽快和你们沟通达成一致的。”同年1月9日，李夏云在微信群里发送文件“统梦APP需求清单（V1.0.0）_定稿.xlsx”，并发送信息“第一个版本，按我们之前说的范围已经完成，时间很紧急，第一个版本主要实现众筹、商场、明星广场等三大功能的主要功能，本次版本重点是框架搭建、性能以及安全三方面来保证三月份能投入运行。” 2019年1月，驼老大公司（乙方）与铳梦公司（甲方）签订涉案合同，该合同与案件有关的主要内容为：第一条服务产品及交付1.1根据甲乙双方功能制订的《主要功能需求模块描述》附件一确定具体的开发内容，并签字盖章确认。1.2客户化开发的服务时间2018-12-27——2019-03-10。1.3甲方确认应以《客户化软件需求规格说明书》及《需求变更确认单》所涉及的需求和功能目标为项目验收标准……第二条服务费用2.1本项目预计乙方投入客户化开发费用480,000元。第三条付款方式3.1合同签订完成后甲方需向乙方付款40%，乙方完成《客户化软件需求规格说明书》及《需求变更确认单》的全部内容后付款30%，并在双方签订项目验收报告后的5个工作日内甲方应将客户化开发费用的余款30%一次性支付给乙方。第五条甲方责任5.1甲方应积极配合乙方完成需求的调研、讨论及确认工作。如果，因为甲方配合不利导致需求调研、讨论以及确认等工作拖延，甚至无法开展，则甲方应承担项目拖延、需求变更等相应的责任。5.2在软件产品测试阶段，甲方应及时向乙方提供所有双方一直统一的用于软件测试所必要的技术数据、文档、文件、测试数据、示例输出或者其他信息和资源。甲方应对其提供的所有该类数据、材料以及信息的内容、准确性、完整性和统一性负责，并承担由此产生的问题的责任。……第六条乙方责任6.1乙方应严格遵循本合同及其附件的约定的功能需求为甲方提供客户化开发服务。……第八条违约金或者损失赔偿额的计算方法8.1甲、乙双方任一方不履行合同或履行合同义务不符合约定条件即构成违约，另一方有权要求违约方继续履行合同或采取相应补救措施，并有权要求赔偿损失。具体赔偿金额由双方协商确定，最高赔偿额不超过合同款的50%。一审庭审中，双方确认涉案合同履行过程中，并没有制作合同约定的《客户化软件需求规格说明书》，双方确定一致的是《统梦APP需求清单（V1.0.0）》。 上述《统梦APP需求清单（V1.0.0）》载明了产品的一、二、三、四级功能及需求描述。其中，APP的一级功能包括首页（项下二级功能含Banner、商品、众筹、推荐区）、我的（个人角色）（项下二级功能含个人信息、购物车、关注、众筹订单、周边订单、意见反馈、系统设置、创建粉丝团）、我的（粉丝团角色）[项下二级功能含粉丝团主页、粉丝团封页、粉丝团个人信息、申请活动（众筹）、申请权限、粉丝、绑定明星、发布]、登录（项下二级功能含忘记密码、第三方账号登录、注册）；管理平台的一级功能包括人员管理（项下二级功能含会员管理、粉丝团角色管理、明星管理）、Banner（项下二级功能含新增/编辑）、活动及周边管理（项下二级功能含众筹活动、周边商品）、通知（项下二级功能含发送）、内容管理（项下二级功能含文章管理、明星广场）、意见反馈、订单管理（项下二级功能含众筹订单、周边商品订单）。 二、涉案合同的履行等情况 （一）2019年1月23日，铳梦公司向驼老大公司支付涉案合同约定的第一期款项19.2万元，即总服务费用的40%。 （二）涉案合同履行过程中，双方相关人员之间的微信聊天记录、微信群聊天记录等情况 2019年1月17日，驼老大公司MartinLee（黎刚）在“统梦App技术群”微信群中＠NgamanChan“麻烦先把我们阿里云的帐号给过来一下。我先进去看一下，后面整理一份需要的帐号，资料文档给你。”“要把以前的包名，以前打包的签名文件以及签名文件的帐号、密码、别名都告诉我们。”“我们时间很赶，这些信息麻烦尽快提供给到我这边。”次日，驼老大公司李夏云在该微信群中＠NgamanChan＠MartinLee“和原来团队沟通交流，一些资料，估计需要你们一起，最好组一个群共同沟通，看看哪些资料需要对方提供，为后续开发或者维护做准备。”铳梦公司NgamanChan回复“我拉个群你们沟通没有问题，但是沟通的时候不能说你是新的团队。我就拉你一个人进群，说是我们新请的技术对接，帮我进行APP开发跟进的”。同年1月20日，驼老大公司姜文平在该微信群中发送消息“大家好，统梦APP端（V1.0版本）的原型及交互已经全部完成，请各位看看，如有疑问，可随时提出。＠NgamanChan原型地址……”NgamanChan回复“收到”，并于当日提出4项问题。次日，李夏云在该微信群中发送消息“项目时间比较紧急，目前进展有点延迟了，＠姜文平今天尽快输出最终原型稿，B哥那边UI稿输出还要时间，＠MartinLee那边时间已经不够了。总共二个月不到的时间，中间夹着过年。项目有风险的，大家要共同努力，有问题要及时沟通。”同日，姜文平针对NgamanChan提出的问题回复“统梦第一期刚上线项目重点是实现众筹、商品、明星广场及整体产品的性能和稳定性，你上述提到的收货地址、购物车通知、搜索及活动功能，建议放在项目第二期实现，项目第二期的工作重点是增加功能及用户交互体验。另外，在服务通知中增加众筹活动通知（众筹成功、众筹失败通知）”。 2019年1月24日，驼老大公司李夏云在微信群中＠MartinLee“UI设计的事情你看看和B哥怎么配合才能更加省时间。”驼老大公司MartinLee回复“所有的一级页面先出……”“时间非常紧迫！！！要劳烦B哥多费心，赶一赶了。”铳梦公司B君回复“我现在是按这顺序来改的，看来这按顺序是不科学的”，MartinLee回复“嗯，麻烦了。我们这边时间非常赶”。同年1月28日，MartinLee在微信群中＠B君“B哥，UI部分的调整和切图，一定要在回家过年前全部弄好，不然会影响到我们过年期间的开发。时间非常赶。”同年1月30日，铳梦公司在微信群中发送消息“已修改，已上传至pxcook”。 2019年2月1日，铳梦公司faye（法定代表人谢柳英）向驼老大公司李夏云发送微信消息“我们三月的活动也是一堆人盯着的”“要抓紧啊”，李夏云回复“已经加班在搞了”。 2019年2月11日，铳梦公司NgamanChan在“统梦App技术群”微信群中发送消息“想跟大家确认一下APP的开发日程。在什么时候可以给我们下载及试用APP呢？后台也是~我们3月初就有两场活动需要进行售票，我们需要根据实际情况来安排售票及相关方案。”驼老大公司李夏云＠MartinLee“你把时间确定一下，不过三月初上线新版本风险比较大，之前需求阶段耽误时间比较多。”次日，NgamanChan＠MartinLee“请帮我确认一下开发时间表”，MartinLee回复“我们预计三月底上线”“三月初还是只能用原来的老系统”。李夏云＠MartinLee“你把计划发出来，什么时候编码开始的，每一个阶段具体时间点，这个我们是有的。”NgamanChan发送消息“先让我看看时间计划吧，如果3月初只能用之前的系统，那我也要现在开始计划了。”同日，MartinLee将开发计划表发送至微信群。该计划表显示：1.需求收集阶段，开始时间2018年12月20日，结束时间2019年1月22日，相关工作为产品需求梳理、讨论、确定；2.产品原型阶段，开始时间2019年1月15日，结束时间2019年1月22日，相关工作为产品原型制作，第一阶段相关功能梳理；3.UI设计阶段，开始时间2019年1月22日，结束时间2019年1月29日，相关工作为产品原型、UI设计；4.数据结构设计阶段，开始时间2019年1月8日，结束时间2019年1月11日，相关工作为业务相关DB设计、功能设计、方案设计；5.测试环境、方案设计关联账号注册阶段，开始时间2019年1月11日，结束时间2019年1月15日，相关工作为开发前期准备工作，账号数据、环境部署、设计方案讨论；6.编码开发阶段，开始时间2019年1月15日，结束时间2019年3月11日，相关工作为服务端、运营后台、安卓、iOS相关代码逻辑功能开发；7.双端测试包阶段，开始时间2019年3月11日，结束时间2019年3月15日，相关工作为内部自测，修复内部已知问题；8.双端测试bug修复阶段，开始时间2019年3月15日，结束时间2019年3月25日，相关工作为整体性测试、修复相关问题；9.双端提交审核阶段，开始时间2019年3月25日，结束时间2019年3月28日，相关工作为打包提交审核，等待审核通过，中间有打回情况，调整再提交；10.服务端打包上线阶段，开始时间2019年3月28日，结束时间2019年3月31日，相关工作为双端审核通过，服务器部署，打包相关部署打包上线。 2019年2月12日，铳梦公司faye向驼老大公司李夏云发送微信消息“我觉得这个进度不行”，李夏云回复“好的”“进度已经在赶了，过年兄弟们都在加班，现在是时间不够，总开发时间是需要300-400人力天的，你真正开发是年前才开始的。之前我一直催大家，说时间不够，大家不在意。”faye回复“你们要的资料我们一直都在给”“从来没有拖”“活动说了是三月底”“那最晚三月初就要买票了”，李夏云回复“是需求最终确定已经是年前了”“我说这些话，不是找借口，是真的开发时间太短，加上又是过年时间，兄弟们已经很给力了，为了这个项目已经编码四天了。”faye回复“我们两个活动怎么办呢”，李夏云回复“用原来的，到时候想办法做一些控制。”同年2月19日，李夏云向faye发送微信消息“我这边开发工作按照上次提供给你的计划在往前赶。以后我们每周天晚上或者周一晚上沟通一次，保持信息顺畅。”faye回复“一周沟通一次是必要的，但是有问题要及时了解和主动沟通，才是真的模式”“我们一开始谈的时候就已经说了3月要用APP”，李夏云回复“需求和UI的事情你是知道的，这个客观原因是存在的”，faye回复“UI你们要求的第二天就给到你们了”，李夏云回复“哪有，年前一天UI才搞定”。同年2月26日，李夏云向faye发送微信消息“统梦1.0系统开发已经完成整体70%，开发进度按计划进行中。” 2019年3月2日，铳梦公司faye向驼老大公司李夏云发送微信消息“到底现在进度怎么样”“能不能用”“我们3.4号就要售票了”，李夏云回复“没有测试，用不了，这个我上次就和你说了啊”“三月份这次活动肯定用不了新系统的，只能想其他办法（之前我给过建议），主要看你那边怎么解决，技术这边尽量配合你来操作。”“中午和雅雯、陈工沟通了，目前只能用旧系统来解决，陈工那边也会支持我们完成这次活动。”同年3月9日，faye向李夏云发送微信消息“请问什么时候可以测试购票和商城”“能不能早一点”，李夏云回复“十几号应该可以内测了”，faye询问“iOS,可以什么时候上线”，李夏云回复“测试完了，如果苹果那边审核没有问题，月底就可以了的”。 2019年3月11日，驼老大公司李夏云在“统梦App技术群”微信群中＠MartinLee“现在进入关键阶段，以后每周你简单在这个群里给谢总＠faye汇报一下本周完成工作进展和下周计划，大家多保持沟通。”驼老大公司MartinLee回复“预计本周会完成，我们内部测试。”同年3月15日，铳梦公司faye在微信群中询问“今天是可以测试了吗”，MartinLee回复“今天我内部还在测试”。同年3月17日，faye又在微信群中询问“什么时候可以内测”，MartinLee回复“还有一些问题，还在修改，这周会基本改好，清理数据。”“这段时间大家都在赶，现在还在修改问题。”faye回复“我需要确实的时间”“没有经过内部测试，我们也很难给到修改意见”。MartinLee回复“明天晚上会给出包，给到你们测试”。同日，MartinLee在微信群中发送消息“https://www.testin.cn/这个bug系统麻烦几位用邮箱注册一下，发给我”“一会有问题都提交到bug系统”，并发送了运营系统的链接地址、登录名和密码、iOS版本的链接地址。李夏云也在微信群中发送消息“大家把问题集中提交到bug系统，这样我们好操作，要不信息一多就会漏掉。”同年3月19日，驼老大公司姜文平在微信群中发送消息“大家好，系统已经上传一些基础数据（明星、周边商品、众筹活动），可以进行正常测试。在使用过程中遇到问题可直接提交https://bug.testin.cn/index.htm#/defects”。李夏云也在微信群中发送消息“＠faye＠B君＠NgamanChan数据已经清理了，可以去测试了。”同年3月22日，MartinLee在微信群中发送消息“各位，这个是我们的上线计划表；另外bug系统上面的bug各位记得关注一下自己提出来的bug，上面的修改状态，以及描述；各位多多参与，确保项目准时上线。”“这段时间就是产品交付，bug修复时间，届时我们姜总会手把手教你们产品怎么使用（后台），看看是雅文还是谁来对接？”“另外大家测试之前，都请下载最新的包，把原来的包卸载掉，重新下载安装。”NgamanChan回复“地址重新发一下吧”，姜文平随后在微信群中发送了安卓版本、iOS版本和运营系统的链接地址、登录名和密码。李夏云在微信群中发送消息“＠MartinLee你约定一个截止测试时间，要不大家都忙，估计时间不好安排。”MartinLee回复“今天晚上姜总会和你们那边对接产品运营后台使用说明＠NgamanChanUI验收＠B君今天晚上大家多验收，多测试。”NgamanChan回复“好时间麻烦确认一下”，MartinLee回复“今晚8:30”,NgamanChan回复“好知道了”，MartinLee回复“我们3.25号完成最终产品验收……时间紧迫，大家务必按照计划来跟进。”“请大家积极配合，不然会导致上线时间顺延。”同日，MartinLee在微信群中＠NgamanChan，询问“我们有身份证吗？”“上次上传那个是港澳通行证没有通过审核”“需要手持护照拍一张过来”,faye回复“回家弄”。同日，姜文平在微信群中发送消息“＠NgamanChan我们约明晚10点再进行管理平台的操作培训”。同年3月23日，MartinLee在微信群中＠faye，询问“今天可以提供过来吗？”“我们这边要提交审核不然后面魅族手机收不到推送”“谢总那些审核资料准备好了吗？麻烦发给我一下，我这边好提交审核。”faye回复“等下发给你”。次日，姜文平在微信群中发送消息“产品操作还没有进行培训，我先整理一份管理平台的操作文档，明天发到群里，到时大家可以根据文档先进行操作使用”。同年3月26日，姜文平在微信群中发送文档“统梦APP运营管…台使用手册.docx”,并发送消息“这份是统梦APP运营管理平台的使用手册，如果在使用过程中还有疑问的，可以直接问我。”同日，MartinLee在微信群中＠NgamanChan“近期我们要部署线上环境，以前老的系统需要停掉，更换系统。”“新版本上线之后我们需要录入真实数据，目前苹果审核都是测试数据，苹果审核通不过。”李夏云也在微信群中发送消息“如果原来系统不愿意停就买新服务器”“＠NgamanChan让谢总确定一下用哪个方案。”MartinLee回复“嗯，另外微软字体需要你们确定好告诉我们＠B君＠NgamanChan＠faye”。次日，MartinLee在微信群中发送安卓版本的链接，并＠B君“安卓UI问题修改完了你看下”，＠NgamanChan“雅文，确定好了吗？昨天的几个问题。”NgamanChan回复“晚上给你确认”。同年3月29日，MartinLee在微信群中发送消息“目前前面测试的bug已经修复完毕（UI、功能等等），前天需要确认的东西麻烦及早确认；没什么问题，我们进行下一阶段（部署上线）＠NgamanChan＠faye＠B君目前测试环境数据已经再次清理（为了准备iOS提交审核，需要上传一些真实数据）。” 2019年3月30日，驼老大公司李夏云向铳梦公司faye发送微信消息“谢总，目前开发完成了，你们那边验收进行怎么样了？下一步具体怎么操作。”faye回复“太多问题了”“雅雯在整理”，李夏云回复“那你们尽快提出来，尽快达成一致，在群里问很多次又不说情况。”faye回复“我们在做活动”，李夏云回复“其他我也不想多说，尽快完成验收吧，是问题的话我们会尽快解决的。”同日，李夏云在“统梦App技术群”微信群中＠MartinLee“暂停现在所有工作吧，等他们有时间验收了，再进行下一步工作。”同年4月8日，李夏云向faye发送微信消息“谢总，测试进行怎么样了？如果有问题尽快提交，这样才能达成一致，要不现在也不知道问题在哪里。上次你说的苹果更新问题，是证件资料没有通过审核，需要提供清晰的资料，要不后续苹果还是没有办法自动更新。”次日，faye回复“和股东在沟通”。同年4月12日，李夏云在“统梦App技术群”微信群中＠faye＠NgamanChan“尽快测试功能看有无大问题，尽快达成一致，按照合同这个时候应该是进行三阶段交付的事情，现在第二阶段功能验收没有完成，款也没有付，我们兄弟也要钱吃饭的，大家最起码得契约精神还是要有的，这个是大家合作基础，希望给予重视。我们这边团队兄弟们时间也是按计划走的，如果短时间这边还没有计划，那他们要被安排去其他项目了，只是团队被打散到不同项目组，到时候再启动这个项目就会出现时间上配合不了，人员比较难凑齐了，到时候无形增加开发成本的。”2019年4月14日，驼老大公司MartinLee在微信群中＠faye＠NgamanChan“谁去服务器把密码修改了吗？”“我们测试服务器的密码，被重置了，在里面进行了一些操作，这是谁在操作呢？”铳梦公司NgamanChan回复“哪个服务器是你们用的我留个言让他们千万不要动你们的？”同日，李夏云向faye发送微信消息“谢总，沟通有什么结果了？你下一步准备怎么弄，新服务器是你们授权其他人去操作的了么？”faye回复“新服务器？”“股东请了一个人，我说要看”。 （三）2019年4月15日，铳梦公司向驼老大公司发送关于解除统梦系统开发服务合同的函，以驼老大公司确认其将于2019年3月1日前完成第一阶段的产品开发，并根据2019年3月2日及3日相关明星粉丝见面会购票情况于2019年3月10日完整交付经实际用户测试及优化的统梦APP，但驼老大公司2019年2月11日却提出第一阶段产品开发预计三月底上线，铳梦公司无法使用该APP进行售票，且截至2019年3月20日，驼老大公司开发的该APP在登陆及页面设计上均未有完整完成测试，APP互动性低，页面图片甚至无法自动调整至合适尺寸等为由，认为驼老大公司并未按时完成APP的相关开发，故发函通知驼老大公司解除涉案合同。 三、其他事实 （一）2019年2月26日，铳梦公司（甲方）与南京宁融信网络科技有限公司（乙方）签订《维护服务合同》，约定甲方委托乙方就统梦DreamReunionAPP系统提供技术指导和维护支持服务；乙方于签订合同后至2019年2月11日提供所有统梦DreamReunionAPP开发相关的档案及资料予甲方；开始维护时间为2019年1月30日至2019年3月31日；系统维护费为税后30,000元，甲方应于2019年2月28日向乙方一次性支付合同款项。 （二）铳梦公司提供的其官方微博截图显示，“孟瑞•香港见面会”会员注册时间：已开启；售票时间：2019年3月4日（周一）晚上7时开启。 （三）一审审理中，原审法院组织当事人当庭登录双方测试涉案软件时用于提交bug问题的系统，共计显示bug问题102项（包括问题标题、问题描述、创建时间、操作日志等），其中铳梦公司提交的bug问题为25项，提交时间为2019年3月18日至3月22日，其余bug问题均为驼老大公司自行提交，提交时间为2019年3月18日至3月28日。原审法院使用技术调查官的电脑登录驼老大公司的GITLAB账号查看GITLAB网站上涉案软件源代码的上传记录，当庭下载2019年3月27日的安卓版本源代码、2019年3月30日的iOS版本源代码、2019年3月31日的H5版本源代码、2019年3月29日的管理平台源代码和后台部分源代码，并组织当事人就涉案软件当时双方提交bug问题系统的102项bug问题的修改完成情况等进行演示。 （四）铳梦公司主张涉案合同自其向驼老大公司发送关于解除统梦系统开发服务合同的函之日即2019年4月15日已解除。一审审理中，驼老大公司同意涉案合同自该日解除，但表示相关违约责任及合同解除的后果由法院判定。 （五）驼老大公司为委托律师参与诉讼，向北京市君泽君（深圳）律师事务所支付律师费2.2万元。 原审法院认为：涉案合同系双方当事人真实意思表示，依法成立，合法有效，对双方当事人具有法律约束力。当事人应当按照合同约定全面履行自己的义务。根据双方当事人的诉辩意见，案件的主要争议焦点在于：一、双方当事人在合同履行过程中是否各自存在对方主张的违约行为；二、涉案合同解除的责任和合同解除以后的处理。 关于第一项争议焦点，驼老大公司认为，铳梦公司存在未对工作成果进行验收，未按约定支付剩余服务费用，以及在合同履行过程中延期提供UI设计成果、延期确认功能需求确认单、未及时回复需要修复的bug问题等不配合工作的违约行为。铳梦公司则认为，其不存在驼老大公司主张的违约行为，反而是驼老大公司存在逾期履行合同义务和提交测试的开发成果不符合合同约定的违约行为。 第一，涉案合同约定客户化开发的服务时间为2018年12月27日至2019年3月10日，但并未约定每个阶段开发工作完成的具体时间，故驼老大公司主张铳梦公司存在延期提供UI设计成果的违约行为，原审法院不予采纳。第二，根据原审法院查明的事实，涉案合同签订前双方已经就《统梦APP需求清单（V1.0.0）》进行确认，驼老大公司亦未提供证据证明涉案合同签订后其曾要求铳梦公司确认其他的功能需求确认单，故驼老大公司主张铳梦公司存在延期确认功能需求确认单的违约行为，原审法院亦不予采纳。第三，驼老大公司于2019年2月告知铳梦公司涉案软件“预计三月底上线”“三月初还是只能用原来的老系统”，并在相关微信群中发送了开发计划表，铳梦公司法定代表人曾为此与驼老大公司进行交涉，驼老大公司也解释了无法于涉案合同约定的时间完成开发工作的原因是铳梦公司未能及时完成UI设计等工作导致，双方相关人员的微信聊天记录亦可以显示，驼老大公司曾几次催促铳梦公司及时完成UI设计工作。之后，铳梦公司未再对驼老大公司的开发计划即于2019年3月31日完成开发工作提出异议，且双方亦按照上述开发计划表中所列的时间节点履行涉案合同，故可以视为双方在涉案合同的实际履行过程中对软件开发的完成时间进行了变更。因此，铳梦公司关于驼老大公司逾期履行合同义务的违约主张不能成立，原审法院不予采纳。第四，涉案合同第三条约定，合同签订完成后铳梦公司需向驼老大公司付款40%，驼老大公司完成《客户化软件需求规格说明书》及《需求变更确认单》的全部内容后铳梦公司付款30%，并在双方签订项目验收报告后的5个工作日内铳梦公司应将客户化开发费用的余款30%一次性支付给驼老大公司。一审审理中，双方确认涉案合同履行过程中并没有制作合同约定的《客户化软件需求规格说明书》，双方确定一致的是《统梦APP需求清单（V1.0.0）》，且不涉及《需求变更确认单》，故驼老大公司完成《统梦APP需求清单（V1.0.0）》的全部内容后铳梦公司应付款30%，双方签订项目验收报告后的5个工作日内铳梦公司应支付余款30%。根据原审法院查明的涉案合同履行情况，驼老大公司于2019年3月17日将开发完成的软件提供给铳梦公司测试，并要求铳梦公司将测试中发现的问题提交到bug系统。同年3月22日，驼老大公司再次将更新后的软件提供给铳梦公司测试，并约定了测试截止时间。测试期间双方共计向bug系统提交问题102项（其中铳梦公司提交的问题仅为25项）。一审审理中，经当庭演示，上述102项问题中除10余项问题仍存在外，其他问题均已解决，存在的问题亦多是由于当时相关功能需求双方未能明确约定所致，且存在的问题均非实质影响软件正常运行的问题。因此，涉案合同约定的支付第二期款项即总服务费用30%的付款条件已经成就。对于第三期款项即余款30%的支付条件和时间，合同条款中虽约定为“在双方签订项目验收报告后的5个工作日内”，但并未约定签订项目验收报告的时间以及铳梦公司不履行验收义务产生的后果，故铳梦公司是否履行验收义务直接关系到余款的收取。而在案证据显示，驼老大公司将软件测试时出现的bug问题进行修复后，于2019年3月31日之前和之后多次要求铳梦公司进行验收，铳梦公司虽表示软件存在问题，但并未将其所称的问题提交给驼老大公司，亦未对软件进行验收，故驼老大公司关于铳梦公司未及时回复需要修复的bug问题的违约主张成立。2019年4月14日，驼老大公司发现涉案软件的测试服务器密码被修改。次日，铳梦公司向驼老大公司发送了解除统梦系统开发服务合同的函，以自己的行为明确表示不再履行验收义务，其上述行为阻碍了驼老大公司收取余款条件的成就。因此，驼老大公司关于铳梦公司未对驼老大公司的工作成果进行验收和未按约支付剩余服务费用的违约主张成立，原审法院予以认定。铳梦公司关于驼老大公司提交测试的开发成果不符合合同约定的违约主张，原审法院不予采纳。 关于第二项争议焦点，铳梦公司主张涉案合同自其向驼老大公司发送关于解除统梦系统开发服务合同的函之日即2019年4月15日已解除，驼老大公司同意涉案合同自该日解除，但表示相关违约责任及合同解除的后果由法院判定，并无不当，原审法院予以准许，涉案合同自2019年4月15日解除。 《中华人民共和国合同法》（以下简称合同法）第九十七条规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。涉案合同因铳梦公司的原因而解除，涉案合同解除前，驼老大公司收取合同第二期款项的条件已经成就，铳梦公司的违约行为虽阻碍了驼老大公司收取合同余款条件的成就，但驼老大公司并不因此丧失收取该合同余款的权利。同时，原审法院考虑到，在涉案合同履行过程中，因无法在原约定的时间完成涉案软件开发，铳梦公司与案外人签订《维护服务合同》，维护原使用的老系统用于相关活动的售票，为此产生了一定费用。此外，如果铳梦公司按约履行项目验收义务，驼老大公司需要对之前测试时已经提出但尚未修改完成的相关问题继续进行修改或与铳梦公司协商明确功能需求后予以修改，需要对验收过程中铳梦公司可能提出的问题进一步进行修改和完善，软件提交相关应用市场审核通过后驼老大公司需要将软件部署上线。驼老大公司尚未履行上述义务，现涉案合同已经解除，驼老大公司也不需要再履行上述义务。因此，综合上述情况，原审法院对于支付合同欠款的诉讼请求，酌情支持26万元。需要指出的是，铳梦公司支付全部应付款项后，驼老大公司应向铳梦公司交付涉案开发成果的源代码及相关文档。 合同法第一百一十四条规定，当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金，也可以约定因违约产生的损失赔偿额的计算方法。涉案合同第八条约定，双方任一方不履行合同或履行合同义务不符合约定条件即构成违约，另一方有权要求违约方继续履行合同或采取相应补救措施，并有权要求赔偿损失。具体赔偿金额由双方协商确定，最高赔偿额不超过合同款的50%。现驼老大公司按照上述合同约定要求铳梦公司从涉案合同解除之日即2019年4月15日起支付欠付款项的逾期利息，并无不当，且驼老大公司明确的利息计算标准合理有据，原审法院予以支持。关于驼老大公司要求赔偿律师费2.2万元的诉讼请求。由于涉案合同中并未明确约定违约方应承担守约方的律师费，该项费用亦不属于因铳梦公司的违约行为给驼老大公司造成的直接损失，故原审法院对该项诉讼请求不予支持。但原审法院注意到，涉案合同第八条约定违约方赔偿守约方的损失“最高赔偿额不超过合同款的50%”，故驼老大公司要求赔偿的逾期利息损失总额不应超过合同款的50%即24万元。 据此，原审法院判决如下：一、铳梦公司于判决发生法律效力之日起十日内支付驼老大公司合同款项26万元及逾期利息[以26万元为基数，支付自2019年4月15日起至实际还款之日止的利息，2019年8月19之前按同期中国人民银行公布的贷款基准利率计付；2019年8月20日之后按同期全国银行间同业拆借中心公布的贷款市场报价利率（LPR）计付]；铳梦公司按上述判决支付的逾期利息总额不应超过24万元；二、驳回驼老大公司的其余诉讼请求。如果未按判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条之规定，加倍支付迟延履行期间的债务利息。一审案件受理费人民币5986元，财产保全申请费1972元，由驼老大公司负担1274元，铳梦公司负担6684元。 二审中，双方当事人均没有提交新证据。 原审查明的事实基本属实，本院予以确认。 根据当事人的诉辩称，结合已查明的事实可知，本案二审争议焦点为：（一）驼老大公司是否存在迟延交付的违约行为，该违约行为是否导致合同目的无法实现；（二）涉案合同第二、三期付款条件是否已经成就。 一、驼老大公司是否存在迟延交付的违约行为，该违约行为是否导致合同目的无法实现 铳梦公司上诉称其未与驼老大公司就合同开发期限变更达成一致，因涉案合同目的是在2019年3月初运用开发成果进行售票，因此，驼老大公司应严格按照合同约定在2019年3月10日前完成开发。驼老大公司迟延交付开发成果已构成违约，且导致合同目的无法实现。 本院认为，计算机软件开发合同的履行需要委托方与开发方密切配合，共同推进开发进行并完善开发成果。针对该类型合同，是否构成履行迟延的认定，不能仅以软件开发方超过合同约定时间交付软件即简单认定构成迟延履行，而要针对导致迟延交付的原因，结合合同履行中双方是否在履行中对于交付时间进行了变更等事实综合认定。在计算机软件的开发过程中，因需求的确定、开发的情形等变化往往可能存在对于合同的变更。此时，双方均应本着尽可能实现合同目的原则进行沟通和配合，共同推动合同顺利进行；若确实存在障碍，则应当及时协调终止开发以避免双方更大的损失。本案中，根据双方的聊天记录，驼老大公司在2019年2月就根据双方前期工作情况及开发情况进行评估后，告知铳梦公司涉案软件难于在三月初上线，预计三月底上线，并解释无法在约定时间内完成开发工作的原因是UI设计确认延迟。而聊天记录也确实存在驼老大公司催促铳梦公司完成UI设计的记录。驼老大公司在告知无法按时完成后，制定了开发计划表，对此，铳梦公司并未提出异议，且后续双方也按照开发计划表共同配合进行了开发工作。因此，可以视为双方按照开发计划表约定的时间对合同履行时间节点进行了变更。开发计划表中完整记录整个开发各个节点，将已完成节点记录在内不影响其对后续节点完成时间的变更。驼老大公司按照开发计划表在铳梦公司的配合下，于开发计划表规定的时间内提交了开发软件供铳梦公司进行测试，不构成违约。 对于铳梦公司称合同目的在于3月初运用开发软件为其3月底的活动进行售票，因交付时间晚于3月初导致合同目的不能实现的问题。本院认为，驼老大公司在2月告知无法于3月初完成开发的同时，就铳梦公司3月活动售票提出了优化并继续使用原系统的解决方案，铳梦公司对该解决方案予以了采纳，售票活动于3月4日开启了，因此产生的费用原审法院也在最终应付款项中予以考虑并进行了扣除。且，即使根据变更前的书面合同约定时间即3月10日完成开发服务，铳梦公司也很难于其实际开启售票的3月4日启用新开发的系统。综上，现有证据难以证实驼老大公司的行为导致涉案合同目的无法实现。 二、涉案合同第二、三期付款条件是否已经成就 涉案合同约定完成《客户化软件需求规格说明书》及《需求变更确认单》全部内容后付款30%，在双方签订项目验收报告后5个工作日内支付余款30%。双方确定以《统梦APP需求清单（V1.0.0）》为开发标准，即完成符合《统梦APP需求清单（V1.0.0）》的软件后铳梦公司应支付30%款项。双方均认可驼老大公司于3月17日和3月22日交付了测试版软件进行测试，测试期间双方共计向bug系统提交问题102项（其中铳梦公司提交的问题仅为25项），经一审庭审当庭演示，不存在实质影响软件正常运行的问题。开发计划表显示服务端打包上线阶段为3月28日至3月31日，且涉案软件在开发完成后曾布置于铳梦公司要求的运行环境中，后因铳梦公司4月14日修改了服务器密码驼老大公司无法进入。一审庭审演示的版本虽为驼老大公司提供，但根据其源代码最后更新日期为3月31日，因此，不存在铳梦公司所称演示版本是驼老大公司后续多次修改完善后的版本的问题。并且，铳梦公司所称支付问题未向驼老大公司反馈且在一审庭审演示中系统并无此问题。至于铳梦公司所称可能存在的其他问题，其并未明确指出，且计算机软件在运行中可能存在部分非实质影响软件正常运行的问题，对该部分问题可以通过运维和修复完善，不属于影响软件正常运行、不符合合同约定的问题。因此，铳梦公司关于驼老大公司交付的软件不符合合同约定的上诉理由不能成立，涉案合同约定的支付第二期款项即总服务费用30%的付款条件已经成就。 对于第三期款项，驼老大公司修复bug后曾多次要求铳梦公司进行验收，铳梦公司虽表示软件存在问题但未将其所称的问题提交给驼老大公司。并且，驼老大公司4月14日修改了服务器密码，并于次日以发送解除合同函的方式明确表示不再履行验收义务。铳梦公司称其忙于活动而未能及时验收的责任不应由驼老大公司承担。因此，涉案合同未按约定进行验收的责任主要在铳梦公司，其行为虽阻碍了驼老大公司收取该余款条件的成就，但驼老大公司不因此丧失收取该款项的权利。 驼老大公司依约履行了其软件开发义务，铳梦公司未按约支付款项，在扣除因变更期限而导致的旧系统维护费用和因合同解除而无需履行的可能存在的系统维护等费用部分后，原审法院酌情确定铳梦公司支付26万元无误，应予以维持。 综上，铳梦公司的上诉请求不能成立，应予驳回。原审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下： 驳回上诉，维持原判。 二审案件受理费5200元，由上海铳梦市场策划推广有限公司负担。 本判决为终审判决。 审判长  徐卓斌 审判员  邓 卓 审判员  雷艳珍 二〇二〇年十二月十日 法官助理罗瑞雪 书记员吴迪楠 裁判要点                            案  号                       （2020）最高法知民终1739号                               案  由                       计算机软件开发合同纠纷                               合 议 庭                       审判长：徐卓斌             审判员：邓卓、雷艳珍                                                     法官助理：罗瑞雪                       书记员：吴迪楠                               裁判日期                       2020年12月10日                               关 键 词                       迟延履行开发义务的认定                               当 事 人                       上诉人（原审被告）：上海铳梦市场策划推广有限公司；             被上诉人（原审原告）：驼老大信息技术（深圳）有限责任公司。                               裁判结果                       驳回上诉，维持原判。             原判主文：             一、上海铳梦市场策划推广有限公司于本判决发生法律效力之日起十日内支付驼老大信息技术（深圳）有限责任公司合同款项26万元及逾期利息[以26万元为基数，支付自2019年4月15日起至实际还款之日止的利息，2019年8月19之前按同期中国人民银行公布的贷款基准利率计付；2019年8月20日之后按同期全国银行间同业拆借中心公布的贷款市场报价利率（LPR）计付]；上海铳梦市场策划推广有限公司按上述判决支付的逾期利息总额不应超过24万元；             二、驳回驼老大信息技术（深圳）有限责任公司的其余诉讼请求。                               相关法条                       《中华人民共和国民事诉讼法》第一百七十条                               法律问题                       迟延履行开发义务的认定                               裁判观点                       是否构成履行迟延的认定，不能仅以软件开发方超过合同约定时间交付软件即简单认定构成迟延履行，而要针对导致迟延交付的原因，结合合同履行中双方是否在履行中对于交付时间进行了变更等事实综合认定。对于开发方分阶段交付成果时存在迟延，但委托方并未提出异议，而是继续配合开发方履行合同，与开发方进行沟通的，不宜简单认定构成履行迟延。                               注：本摘要并非判决书之组成部分，不具有法律效力。