中华人民共和国最高人民法院 民 事 判 决 书 （2019）最高法知民终248号 上诉人（原审原告）：中国人民解放军96881部队。住所地：河南省洛阳市高新区。 法定代表人：廉春毅，该部队部队长。 委托诉讼代理人：王军，河南坤达律师事务所律师。 委托诉讼代理人：刘世军，河南坤达律师事务所律师。 被上诉人（原审被告）：无锡尚士数码科技有限公司。住所地：江苏省无锡市滨湖区绣溪路50号k-park商务中心4号楼318-b-31。 法定代表人：高天倚，该公司董事长。 委托诉讼代理人：郝萍，北京市炜衡律师事务所律师。 委托诉讼代理人：丁奕，江苏正盛律师事务所律师。 上诉人中国人民解放军96881部队（以下简称96881部队）因与被上诉人无锡尚士数码科技有限公司（以下简称尚士数码公司）计算机软件开发合同纠纷一案，不服江苏省苏州市中级人民法院于2019年4月29日作出的(2018)苏05民初998号民事判决，向本院提起上诉。本院于2019年7月26日受理后，依法组成合议庭，于2019年9月2日对本案公开开庭进行了审理。96881部队的委托诉讼代理人王军、刘世军，尚士数码公司的委托诉讼代理人郝萍、丁奕到庭参加诉讼。本案现已审理终结。 96881部队上诉请求：撤销原审判决；改判支持96881部队原审全部诉讼请求；判令由尚士数码公司承担本案诉讼费用。事实与理由：（一）原审判决认定事实错误。1.原审判决关于“双方间争议内容主要反映为履约瑕疵，但非根本违约”的认定是错误的。尚士数码公司系根本性违约，合同目的根本无法实现，有证据支持，是显而易见的。2.原审判决关于“双方对《应急救援虚拟教学训练系统技术开发合同书》（以下简称涉案合同）履行期限的实际变更予以认可，且尚未明确新的履行期限”的认定是错误的。3.原审判决对双方经充分磋商后达成对涉案合同的变更不予认定，是错误的。（二）原审判决适用法律错误。涉案合同已经依法解除，原审判定“合同继续履行”不符合法律规定。2018年6月1日，96881部队以传真形式向尚士数码公司传真一份《关于“应急救援虚拟教学训练系统”项目退款的协商函》，明确提出了要求尚士数码公司退回已付全部款项及利息这一解除合同的意思表示。该协商函尚士数码公司已收到，涉案合同已经依法解除。 尚士数码公司答辩称：原审判决认定事实清楚，适用法律正确，应予维持。96881部队的上诉请求没有依据，请求予以驳回。 96881部队向原审法院提起诉讼，原审法院于2018年8月27日立案受理。96881部队起诉请求：1.判令解除双方之间签订的涉案合同；2.判令尚士数码公司向96881部队返还支付的合同款本金350万元及利息725481.95元；3.判令尚士数码公司向96881部队支付违约金35万元；4.判令尚士数码公司承担本案诉讼费用。事实和理由：2014年2月17日，96881部队（原为96520部队）（甲方）与尚士数码公司（乙方）在洛阳市高新技术产业开发区签订涉案合同，约定由尚士数码公司为96881部队开发地震救援虚拟训练软件，研发进度为三期,合同总价款480万元，支付方式采取节点付款，2014年2月20日前支付350万元，2014年5月20日前支付116万元，2014年11月20日前支付14万元。涉案合同签订后，96881部队按约定支付给尚士数码公司350万元。为此项目，双方分别于2014年11月6日、2015年3月23日、2018年5月9日召开第一阶段研发成果验收并形成《验收纪要》，尚士数码公司提供的产品均不能通过验收。现因尚士数码公司违约致涉案合同无法继续履行，且尚士数码公司的行为给96881部队造成严重损害。 尚士数码公司向原审法院提出反诉请求：1.判令96881部队支付第二阶段软件开发费用58万元；2.判令96881部队支付违约金35万元；3、判令96881部队承担反诉费用。事实和理由：双方签订涉案合同后，96881部队违反约定延迟至2014年5月20日才向尚士数码公司支付第一笔费用350万元，在此之前，尚士数码公司垫资为96881部队开发项目；2014年7月，尚士数码公司完成第一阶段任务申请96881部队验收，96881部队一再拖延，直至2014年11月6日才同意验收申请。据此次《验收纪要》记载，96881部队对尚士数码公司的工作基本满意，只是提出了一些小建议和额外要求，希望继续改进，但96881部队未支付第二阶段价款。2015年3月23日，96881部队重新组成专家组进行了第二次验收，据《验收纪要》记载，96881部队提出了建议要求深化第二阶段工作，但拒绝支付第二阶段价款。2017年11月，96881部队重新组成专家组进行第三次验收，承认尚士数码公司已经按照涉案合同约定完成第一阶段工作，但因为整个项目工作量大，提出中止，并要求尚士数码公司将已经完成的项目做个列表。这次验收纪要双方都签了字，96881部队拒绝给尚士数码公司副本。2018年4月16日，96881部队又提出不中止涉案合同，且愿意支付第二阶段费用。双方达成如下口头协议：96881部队先支付65万作为第二阶段研发费用，完成后再支付30多万尾款，剩余款项作为管理费。2018年5月9日，96881部队因该项目的审计事宜要求尚士数码公司前来协助配合，在评审会上，96881部队以尚士数码公司未按照2014年11月6日和2015年3月23日的《验收纪要》进行修改为由拒绝通过尚士数码公司验收，要求尚士数码公司继续整改。实际上，在本次评审会上96881部队才将两次《验收纪要》给尚士数码公司，尚士数码公司不知道《验收纪要》细节，且均是单方签字，纪要补充的内容并不具有效力。2018年5月31日，尚士数码公司向96881部队邮寄根据其要求修改的第一阶段工作成果，请求验收，却遭96881部队拒收。尚士数码公司于2018年6月1日收到96881部队要求退款的协商函。综上，自2014年2月17日涉案合同签订，尚士数码公司一直积极努力履行合同内容，而96881部队不仅迟延三个月支付首期价款，还一直怠于验收尚士数码公司的工作。尚士数码公司第一阶段的任务早在2014年7月就已经完成，96881部队不仅不按合同约定支付第二阶段价款，且因没有明确项目负责人，内部工作交接混乱，互相推诿，令早该在2014年就结束的第一阶段验收工作整整推迟了四年，结果仍不予通过。并且96881部队一直没有提供完成项目所需要的地震救援方面的专业资料，属于对涉案合同的根本违约。因为96881部队的原因，项目延长了四年，仍然无法完成，给尚士数码公司造成了巨大的经济损失。由于合同双方已经不存在继续合作的信任基础，并且96881部队也没有可能提供进行项目第二阶段开发的相关专业资料，合同不存在继续履行的基础，因此尚士数码公司同意解除合同，但是要求96881部队承担相应的违约责任。 原审法院认定事实： 2014年2月17日，96881部队（原为96520部队）（甲方）与尚士数码公司（乙方）签订涉案合同，约定96881部队委托尚士数码公司完成地震救援虚拟训练软件专项开发，其内容包括：第三条、合同标的。研发内容为开发《应急救援虚拟教学训练系统》的软件基础部分以及“地震救援”功能模块；虚拟训练软件类型为3D第一视角；虚拟训练软件功能和要求为以地震应急救援队训练任务为主题，包含多个虚拟地震灾害现场，具备符合专业训练要求的虚拟训练科目和训练环节，使官兵在使用过程中系统掌握地震救援相关理论知识，作为二炮地震救援训练多样性建设新成果；具体开发方案见附件《应急救援虚拟教学训练系统第一期项目开发方案》。第四条、研发进度。一期完成周期90天，主要内容为开始软件基础设计和项目所有美术资源制作，包括3D场景模拟、3D人物模型和3D工具模型等，成果形式为3D模型美术资源；二期完成周期45天，主要内容为与地震救援基层单位共同设定地震救援策划案，明确各科目训练方式、操作规范、技术规范、技术细节、编写项目所需程序代码，完成项目所有功能，成果形式为项目策划案；三期完成周期15天，主要内容为在二炮地震救援基层部队进行安装、测试、完善，成果形式为软件成品。合同总价款480万元，支付方式采取节点付款，2014年2月20日前支付350万元，2014年5月20日前支付116万元，2014年11月20日前支付14万元。第八条、验收与交付。乙方完成合同规定的全部任务后，应及时向甲方提出合同验收申请，并提交相关研制方案、技术资料、测试报告等，说明合同完成情况及经费使用情况；甲方接到合同验收申请后，应及时按合同要求，组织验收工作；合同测试验收合格且乙方交付任务后六个月内，甲方付清全部合同尾款，并办理结算有关事宜；2014年7月20日乙方向甲方提供软件产品和技术资料。第九条、违约责任。因甲方直接原因不能履行合同时，甲方所付款额不得返回，并支付乙方已付价款的10%作为违约金。若给乙方造成的损失超过违约金，甲方应全部赔偿；因乙方直接原因不能履行合同时，乙方应退回甲方已付全部款额及利息，并支付甲方已付款额的10%作为违约金，若给甲方造成的损失超过违约金，乙方应全部赔偿；违约金、赔偿金在确认违约责任后15天内，由违约方向对方偿付。甲、乙双方均在涉案合同上盖章并分别由杨洪明、戴浩军签字。 作为合同附件，《〈应急救援虚拟教学训练系统〉第一期项目技术指标》就主要内容及功能、技术指标、技术方案三个方面作出了详细约定。其中，主要内容及功能包括：本项目设置有基础训练、分队训练、综合演练3个晋级式关卡，每个关卡根据科目任务设置游戏环节，通过虚拟灾区场景、灾害环境、救灾任务，让官兵系统学习地震救援工作流程、规范、步骤，感受现场气氛，提高心理承受能力。项目表现为一个独立的3D虚拟训练软件系统，能够同时支持单人单机和多人局域网联网使用，能够组织虚拟训练竞赛。本项目游戏主界面设4个主菜单，点击主菜单选项后进入相应训练项目，点击进入后列出具体训练科目。技术指标包括：（一）通用性要求，包括可靠性、可维护性、兼容性、安全性、环境适应性五个方面。（二）标准化要求，包括1.内容要求。实现项目需求方案中提出的所有工作内容。软件工作内容具体量化（见列表）。2.其它要求。技术方案包括：本项目使用全球领先的实时3D虚拟开发工艺，同时具备先进的3D图形图像、科学高效的素材管理机制、快捷的场景搭建功能、高效安全的程序模块、灵活合理的程序框架。分为：1.程序框架开发，包括客户端程序开发、网络部分程序开发、逻辑功能实现、逻辑过程优化、对作为行业标准图形引擎、物理引擎、声效引擎的应用；2.客户端开发，采用微软VisualStidio2010为程序开发环境，以微软C++语言为编程语言，建立程序框架。采用面向对象设计思路，每个功能模块具有高度灵活的应用接口，可根据软件逻辑需要方便快捷地调用，程序模块间耦合度低，与美术资源耦合度低。软件配置与软件程序框架分离，方便动态修改或调用；3.软件网络部分程序开发；4.软件逻辑功能实现；5.软件逻辑过程优化；6.功能模块应用；7.美术素材制作；8.3D模型制作；9.2DGUI设计制作；10.3D音效音乐制作；11.动画制作；12.特效制作；13.场景设计制作。 涉案合同签订后，96881部队于2014年5月6日支付尚士数码公司350万元。 就项目履行，双方分别于2014年11月6日、2015年3月23日、2018年5月9日召开第一阶段研发成果验收并形成《验收纪要》。其中，2014年11月6日，甲方接到乙方验收邀请函后在河南洛阳就第一阶段研发情况进行了检查验收，乙方代表按照合同约定，对软件策划方案及18类素材模型进行了逐一展示说明，就下一步任务情况进行了阐述；甲方验收小组对素材模型情况、项目构架和功用、数据库建设、用户计算机配置要求等情况进行了询问，就具体研发工作提出了意见建议，双方间形成《〈应急救援虚拟教学训练系统〉第一阶段验收纪要》，内容为：1.“应急救援”范围较大，项目名称《应急救援虚拟教学训练系统》不太贴切，建议改为《地震生命救援教学训练系统》。2.乙方按合同约定，从数量上超额完成了素材模型的建模工作，但缺少装备模型（挖掘机、发电照明机、工程机械、输变电线路、各种救援担架等模型），缺少的模型由乙方在后期研发中完善。3.乙方策划方案可行，但软件系统结构、软件运行环境基础等软件基础设计需进一步完善。甲方提出，要兼顾后续其他模块开发建设需要，构建一级综合性训练场景、预设二级各专业模块训练场景、细化三级高难度科目训练场景，实现各训练场景素材的资源共享，要求乙方补充完善一些场景模型，增加宜阳训练场模型和一些地震救援安全场景，乙方表示同意。4.目前，软件功能尚未体现，甲方要求乙方先开发部分系统程序，完成一个能充分展示软件功能的小模块，经甲方认可后，甲方按合同约定支付第二阶段进度款，乙方展开后期开发。5.甲方按合同约定支付合同进度款后，乙方应将软件研发阶段成果交甲方备案。《验收纪要》由甲方与会人员张国梁、刑云东、尹宗润和乙方戴浩军签字。 2015年3月23日，由甲方训练团组织，根据第一阶段成果验收纪要要求，对乙方制作的一个展示模块（演示内容主要是软件结构框架组成和破拆作业虚拟训练）进行初步检查，形成《验收纪要》，提出：问题集中在两个方面，一是缺乏破拆搜救专业技术资料，所有资料从网上收集，制作的虚拟破拆作业缺乏专业技术数据支撑，与地震救援中心联系没有收到回应，缺乏专业人员指导；二是框架结构需要部队认可，因为还需要根据部队意见进行修改，所以软件没有优化处理，显得比较粗糙。与会人员对软件模块提出意见建议，集中在以下几个方面：1.软件中的人物要突显二炮特色，衣服字号改为“第二炮兵搜索救援”；2.破拆搜救资料获取及破拆专业技术人员的支持是软件公司的事，需要软件公司自行解决。部队可牵头联系，具体协商事宜及费用由软件公司负责，软件公司表示认可；3.软件模块太过简单，体现不出虚拟作业程序、方法，在展现形式上采用问答的形式不合适，需要增添采用语音和图片的展示形式，能够让操作人员通过虚拟训练掌握工具操作的方法和作业程序；4.软件结构分本地模式和联网模式两个类别。本地模式中原来的单项训练、综合演练、模拟实战三个分类名字改为基础训练、科目训练和模拟实战。基础训练要侧重于个人技能操作，熟悉作业要求、作业分工。科目训练主要是指定条件的小组救援，侧重于小组成员的协商配合训练和救援作业程序、方法训练。模拟实战是复杂条件下的综合训练，侧重于救援方案的制定实施、救援工具的选取，小组成员的分工协同、安全防护等，主要用于对抗考核评定；5.本地训练模式下，训练者可以任意选定角色完成基础和科目作业训练任务，其他成员由计算机模拟配合。在联网模式下，可以组队训练，不足的人员由计算机模拟形成；6.下一步的工作，训练团配合，在宜阳训练场完成基础训练视频、照片、课件资料等素材收集，软件公司将技术资料添加到展示模块中，进一步完善展示模块，待工作完成后再组织验收；7.需要部队与地震救援中心沟通，确定时间，软件公司与地震救援中心联系，所有费用开支及洽谈公关由软件公司自行负责。《验收纪要》由甲方陈克涛、张国梁、尹宗润、王飞、李明雨、刑云东签字。 2017年10月26日，尚士数码公司向96881部队提出验收申请报告。根据尚士数码公司提供录音证据及双方庭审陈述，反映，在2017年11月某日，由96881部队参谋部副参谋胡鹏主持了双方间的验收会议，开场部分胡鹏表述有“今天组织对应急救援虚拟教学软件进行一个第一阶段的一个成果进行验收”“特意邀请了我们基地参谋部的刑云东参谋，还有……一些相关人员对这个软件进行一个评审”“之后咱们形成一个验收纪要”等段落；戴浩军表述有“今天就是我们专门制作了一个地震训练，地震训练软件的这个第一期的一个回报片”“由于专家在上两次验收的时候提出一些后续的要求，那我们又进行了第二阶段开发工作”等段落。后一阶段录音内容中，胡鹏表述“第一次验收的时候提出要求开发一个模块，这个模块是一个直接交互的模块，能够……但是呢刚才阐述的时候没有这一块”“让你开发出一个模块，都没有完成”“现在这个东西，说终止还不是这么好终止嘞，终止了这个，这前期付的款要有说法的啊”“现在专家都走了，你们做的这个，让我签我都不会签。你们做的那个小模块根本就不是我们想象中的小模块”“像你那个剪压，我是直着剪，我看你那个效果，我斜着剪呢，你们也是那种效果，你这根本就没有交互……没有一点点体验效果”“我们先验收完了，把这个第一阶段任务先完成再说”等段落；戴浩军表述“没有标准，没有要求，没有负责人说第一个模块最终是要是具体什么样子的”“这个事情最好的方法就是让我们把它做完，目前商讨下来就是，我们现在只是要后续经费的40%，我们自己去国家地震救援局去找专家，了解完具体的技术，有这些信息以后我们马上……”“通过网络资料我们只能获取这些，然后地震救援局我们去联系了，作为一个地方企业根本联络不进去啊，如果能够做出来，肯定是第一家，我们肯定想做好呀”“如果要有真实体验，真的就得上VR”等段落。 2018年4月18日上午11:05，戴浩军（邮箱119×××＠ｑｑ.ｃｏｍ）向96881部队参谋部的朱奕参谋（邮箱645×××＠ｑｑ.ｃｏｍ）发送邮件，附件为“地震救援.ｒａｒ”。 2018年5月9日下午，96881部队由基地参谋部作训处、施工技术管理中心和训练团共10人组成验收组，对“应急救援虚拟教学训练系统”研发项目第一阶段研发成果进行验收，形成《验收纪要》，载明验收内容为：1.3D模型美术资源的数量和质量是否符合合同约定；2.两次验收时专家提出的意见整改完善情况。验收情况为：验收组听取了尚士数码公司项目经理工作完成情况汇报，观看了任务完成情况演示汇报片，查看了3D模型素材，并对有关问题进行了质疑。经验收讨论，一致认为：乙方按照合同要求完成了软件的基础设计方案拟制，完成了大部分3D场景模型、3D人物模型和3D工具模型等资源建设，但合同约定的《软件工作内容具体量化表》中第4、9、14、16项中3D资源有缺项漏项。同时，根据汇报情况和观看演示无法判断模型的质量是否符合合同中的量化清单要求，并且前两次验收所提出的整改意见未完全按要求整改到位，本次验收不通过。建议乙方对所有问题整改到位后，甲方组织包含三维开发、游戏开发、地震救援等专业专家组成的验收组进行验收。96881部队验收组成员、监督人以及尚士数码公司戴浩军在《验收纪要》上签字确认。 至2018年5月31日，尚士数码公司戴浩军向胡鹏发微信提出向其快递第一期工作汇报材料光盘（根据上月最近一次验收纪要甲方要求做的修改工作），胡鹏回复“现在我们不是谈整改的问题，我们电话也沟通了，现在是谈退款问题”。同日，96881部队向尚士数码公司发出“关于‘应急救援虚拟系统训练系统’项目退款的协商函”，主张“贵公司对该项目的技术开发已无法继续履行合同，造成根本性违约”，要求尚士数码公司就退款并支付违约金。 就前述尚士数码公司举证的录音证据，胡鹏到庭作证，证词内容涉及以下几个方面：1.我是2017年4月接手这项工作，2017年5月份联系了戴浩军让他到部队解释任务完成情况。2017年11月份尚士数码公司带了相关资料到部队来，提交的研发成果我们进行了初审，由于乙方提供的资料与我们的要求相差甚远，最多20分钟专家提出很多意见，后来会议就进行不下去了。2.2018年5月份进行了专家会议评审，评审会议汇总认为我们多次跟尚士数码公司说我们需要什么样的软件，但是乙方提供的素材跟我们的要求差距很大。3.组织第一阶段评审均是电话通知的，书面通知基本没有。验收纪要都是会给尚士数码公司一份的，签字就是双方都认可，签了就会给的，没有通过就没有，2017年11月的评审就没有进行完。 原审法院认为：本案本、反诉争议焦点在于：（一）双方履约是否符合涉案合同约定；（二）涉案合同是否得以解除。 （一）关于双方履约是否符合涉案合同约定 首先，就双方履约期限来看，在长达四年的履约过程中双方并未对履行期限发生过争议。从以上涉案合同履行的全过程来看，应认定双方对涉案合同履行期限的实际变更予以认可，且尚未明确新的履行期限。故就此判断，本案合同双方主张对方逾期违约均不成立。 其次，就双方履约内容来看，在本诉方面，尚士数码公司主张研发项目第一阶段研发成果在第一次验收中即已通过，显然与事实不符，不能成立。尚士数码公司主张在2017年11月的验收中双方签字确认通过验收，缺乏有效证据证明，且与2018年5月9日验收结论明显相悖，该论述主张不符合基本的逻辑，不予采信。但是，乙方于5月31日提出交付第一期研发整改成果，甲方直接拒绝接收并在未经组成验收组进行验收的情况下即主张乙方不能履约造成根本性违约，也缺乏法律和事实的依据，难以成立。 在反诉方面，尚士数码公司主张研发项目第一阶段研发成果在第一次验收中已通过与事实不符，不能成立。至于尚士数码公司提出的支付第二阶段合同款主张，双方《验收纪要》协商及履行内容应视为双方就第二阶段所作补充约定，具有合同效力。尚士数码公司举证证据不能证明其所展示软件功能的小模块经甲方认可，其所提第二阶段付款诉讼主张，不能成立。 （二）关于涉案合同是否应当解除 96881部队请求解除合同的理由在于乙方不能履约造成根本性违约。涉案合同双方在合同履行过程中实际变更了履行期限，乙方根据2018年5月9日验收结论于5月31日提出交付第一期研发整改成果以供再次验收，该履行期限尚属合理，故尽管乙方履约尚未经验收确认达到合同要求，但不应认定为当事人一方迟延履行主要债务经催告后在合理期限内仍未履行。至于96881部队还提及软件基础设计没有完成、展示软件小模块没有完成、本地模式和联网模式只部分完成了本地模式、向权威专业机构寻求破拆搜救专业资料和技术支持没有完成四项内容，所涉及的均是第二期研发内容，在第一期研发履约内容尚未经验收确定之前，合同履行尚未进入第二期研发，不能成为解除合同的适当理由，其所主张的“没有完成”也缺乏有效的验收结论支持。尚士数码公司主张乙方已通过第一阶段验收以及甲方未按约支付第二阶段价款构成违约，亦不能成立。故本案中本、反诉双方各自所主张解除合同的事实基础均不成立。 通过对涉案合同的性质、目的、履约状况及利益实现等方面进行考量，应当以继续履行为宜，而非解除合同及追究违约责任，故对双方之诉请，均不予支持，就本案发生诉讼费用，应由双方各半负担。 原审法院判决：（一）驳回96881部队的全部诉讼请求；（二）驳回尚士数码公司的全部反诉请求。本诉案件受理费43404元，反诉案件受理费8075元，共计51479元，由96881部队负担25739.5元，尚士数码公司负担25739.5元。 原审查明的事实基本属实，本院予以确认。 本院另查明：尚士数码公司向原审法院提供的录音及其转录文字等证据显示，在涉案合同履行期间，96881部队曾联系国家地震局地震救援中心，并派人与尚士数码公司员工一同前往地震救援中心商谈合作，但最终合作未果；尚士数码公司进入到宜阳训练场，拍摄了视频，采集了模型素材。 本院认为，根据当事人的上诉请求、答辩情况及案件事实，本案在二审阶段的主要争议焦点问题有三：其一，双方履约是否符合涉案合同约定；其二，涉案合同是否应当解除；其三，涉案合同解除后的责任承担。 （一）关于双方履约是否符合合同约定 《中华人民共和国合同法》（以下简称合同法）第七十七条规定，当事人协商一致，可以变更合同。 1.关于双方是否存在逾期履行 涉案合同约定研发进度分三期进行，并对应于三期研发内容，约定合同总价款480万元采取节点付款方式分三期进行支付。实际履行中，96881部队于2014年5月6日支付第一期合同款350万元，迟于合同约定的2014年2月20日；尚士数码公司收款后开展研发，至2014年11月6日提出验收邀请函，双方开展第一阶段研发成果第一次验收，该履约期限亦迟延于涉案合同关于一期完成周期90天的约定；此后，双方又就完善第一阶段研发内容以及为第二阶段研发内容先行开发展示模块开展多次验收，直至2018年5月9日验收形成《验收纪要》。在前述长达四年的履约过程中，双方并未对履行期限发生过争议。从以上合同履行的全过程来看，应认定双方对涉案合同履行期限的实际变更予以认可，且尚未明确新的履行期限，故本案合同双方主张对方逾期违约均不成立。 2.关于双方是否存在违约行为 （1）关于尚士数码公司是否存在违约行为 本案中，双方先后三次对“应急救援虚拟教学训练系统”研发项目第一阶段的研发成果进行验收，并分别形成《验收纪要》。其中，2014年11月6日《验收纪要》结论明确“数量上超额完成了素材模型的建模工作，但缺少装备模型（挖掘机、发电照明机、工程机械、输变电线路、各种救援担架等模型），缺少的模型由乙方在后期研发中完善”“要求乙方补充完善一些场景模型，增加宜阳训练场模型和一些地震救援安全场景，乙方表示同意”“甲方要求乙方先开发部分系统程序，完成一个能充分展示软件功能的小模块，经甲方认可后，甲方按合同约定支付第二阶段进度款”；2018年5月9日《验收纪要》结论明确“乙方按照合同要求完成了软件的基础设计方案拟制，完成了大部分3D场景模型、3D人物模型和3D工具模型等资源建设，但合同约定的《软件工作内容具体量化表》中第4、9、14、16项中3D资源有缺项漏项”“并且前两次验收所提出的整改意见未完全按要求整改到位”“本次验收不通过”，该两次《验收纪要》由双方项目负责人签字确认，内容清楚表明尚士数码公司提交的研发项目第一阶段研发成果完成了大部分但尚有缺项需要乙方完善和整改。原审法院认为，结合2015年3月23日《验收纪要》来看，提及“缺乏破拆搜救专业技术资料，所有资料从网上收集，制作的虚拟破拆作业缺乏专业技术数据支撑，与地震救援中心联系没有收到回应，缺乏专业人员指导”等内容，亦印证尚士数码公司提交的研发项目第一阶段研发成果尚有缺项需要完善。双方当事人均认可进行过三次验收。虽第二次《验收纪要》仅由一方人员签字而缺少尚士数码公司项目负责人的签字确认，不能充分表明双方对结论意见的一致认可，但仅就三次验收意见表达来看，未通过验收的意见是明确的。原审法院上述认定正确，本院予以确认。 综上，本院认为，双方于2014年11月6日共同签字的《验收纪要》，属于双方协商一致后对涉案合同约定的第一阶段开发成果作出了变更，尚士数码公司应当完成一个能充分展示软件功能的小模块，96881部队认可后向尚士数码公司支付第二阶段进度款。双方此后于2015年3月23日和2018年5月9日的两次验收纪要均表明，尚士数码公司未能完成变更后的第一阶段开发成果。上述事实足以证明尚士数码公司已无实际能力完成软件开发行为，尚士数码公司的行为已经构成实质性违约，其行为导致涉案合同的目的不能实现。96881部队主张尚士数码公司构成违约具有事实和法律依据，本院予以认可。尚士数码公司主张其已经完成第一阶段的开发成果并通过验收，与事实不符，本院不予支持。 （2）关于96881部队是否存在违约行为 ①关于96881部队是否应支付第二阶段合同款 涉案合同约定对应于第二期研发内容的付款为2014年5月20日支付116万元，实际履行中双方变更了履行期限。在履行内容上，如前所述，2014年11月6日双方签字确认的《验收纪要》明确“目前，软件功能尚未体现，甲方要求乙方先开发部分系统程序，完成一个能充分展示软件功能的小模块，经甲方认可后，甲方按合同约定支付第二阶段进度款，乙方展开后期开发”，属于双方协商一致后对涉案合同约定的第一阶段开发成果作出了变更；2015年3月23日验收主题内容即为“根据第一阶段成果验收纪要要求，对乙方制作的一个展示模块（演示内容主要是软件结构框架组成和破拆作业虚拟训练）进行初步检查”；2018年5月9日《验收纪要》明确“前两次验收所提出的整改意见未完全按要求整改到位”“本次验收不通过”。双方于2015年3月23日和2018年5月9日的两次验收纪要均表明，尚士数码公司未能完成变更后的第一阶段开发成果，尚士数码公司也未能举证证明双方约定的展示软件功能的小模块已经得到96881部队认可，故96881部队无需支付第二阶段合同款。 ②关于96881部队是否履行了其他合同义务 尚士数码公司主张，其缺乏破拆搜救专业技术资料，与地震救援中心联系没有收到回应，缺乏专业人员指导，且无法进入宜阳训练场内部获取场景与模型，以上事项96881部队应当提供协助。根据查明的事实，在合同履行期间，96881部队曾联系国家地震局地震救援中心，并派人与尚士数码公司员工一同前往地震救援中心商谈合作，但最终合作未果；尚士数码公司也进入到宜阳训练场，拍摄了视频，采集了模型素材。并且，2015年3月23日《验收纪要》明确“破拆搜救资料获取及破拆专业技术人员的支持是软件公司的事，需要软件公司自行解决。部队可牵头联系，具体协商事宜及费用由软件公司负责”。 根据上述事实，首先，涉案合同约定开发“应急救援虚拟教学训练系统”，该教学系统必须应当具备地震救援方面的专业知识内容，且能应用于训练教学。其次，根据涉案合同，96881部队作为甲方的合同义务是：按照合同约定支付开发经费、做好协调工作，并按照合同约定及时组织做好项目节点检查和合同验收工作等；而作为乙方，尚士数码公司应当开发完成该应急救援虚拟教学训练系统。因此，96881部队履行了联系、协调相关事务的合同义务。 （二）关于涉案合同是否应当解除 合同法第九十四条规定，有下列情形之一的，当事人可以解除合同：（一）因不可抗力致使不能实现合同目的；（二）在履行期限届满之前，当事人一方明确表示或者以自己的行为表明不履行主要债务；（三）当事人一方迟延履行主要债务，经催告后在合理期限内仍未履行；（四）当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的；（五）法律规定的其他情形。第九十六条第一款规定，当事人一方依照本法第九十三条第二款、第九十四条的规定主张解除合同的，应当通知对方。合同自通知到达对方时解除。 本案中，自2014年至2018年的四年间，尚士数码公司未能完成变更后的第一阶段开发成果，未能通过验收，其主要原因在于尚士数码公司始终未能获取破拆搜救专业技术资料，且其自身也无能力完成软件开发，致使双方约定的开发地震救援虚拟教学训练系统的合同目的无法实现，而96881部队并无明显违约行为。据此，基于尚士数码公司的根本违约行为，96881部队享有法定解除权。2018年5月31日，96881部队向尚士数码公司发出“关于‘应急救援虚拟系统训练系统’项目退款的协商函”，主张“贵公司对该项目的技术开发已无法继续履行合同，造成根本性违约”，要求尚士数码公司就退款并支付违约金。该协商函属于解除合同的意思表示，自到达尚士数码公司处时，涉案合同应当予以解除。因此，96881部队以尚士数码公司构成根本违约为由要求解除合同，具有事实和法律依据。原审法院认定涉案合同应继续履行，没有事实依据，本院依法予以纠正。 （三）关于涉案合同解除后的责任承担 合同法第九十七条规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。第一百零七条规定，当事人一方不履行合同义务或者履行合同义务不符合约定的，应当承担继续履行、采取补救措施或者赔偿损失等违约责任。合同法第一百一十四条规定，当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金，也可以约定因违约产生的损失赔偿额的计算方法。 本案中，尚士数码公司未能完成双方合意变更后的第一阶段开发成果，导致涉案合同的目的无法实现，应当承担根本违约责任。计算机软件开发合同在开发过程中有一定的商业风险，从公平原则考虑，尚士数码公司为履行合同已付出一定的合理支出和工作成本，亦应酌情予以考虑，本院对96881部队要求返还合同款本金350万元及利息的上诉主张不予全部支持，尚士数码公司应当返还96881部队已支付的合同款300万元。鉴于涉案合同已经约定违约金的计算方式，尚士数码公司应当承担合同约定的违约责任。原审判决关于一审反诉案件受理费计算有误，本院予以纠正。 综上，原审判决认定事实清楚，但适用法律错误，应予撤销。96881部队的部分上诉主张成立，对其上诉请求，本院予以部分支持。依照《中华人民共和国合同法》第九十四条第四项、第九十六条第一款、第九十七条、第一百零七条、第一百一十四条以及《中华人民共和国民事诉讼法》第一百七十条第一款第二项规定，判决如下： 一、撤销江苏省苏州市中级人民法院（2018）苏05民初998号民事判决； 二、中国人民解放军96881部队与无锡尚士数码科技有限公司签订的《应急救援虚拟教学训练系统技术开发合同书》于2018年5月31日解除； 三、无锡尚士数码科技有限公司于本判决生效之日起十个工作日内向中国人民解放军96881部队返还合同本金300万元； 四、无锡尚士数码科技有限公司于本判决生效之日起十个工作日内向中国人民解放军96881部队支付违约金35万元； 五、驳回中国人民解放军96881部队其他诉讼请求； 六、驳回无锡尚士数码科技有限公司的反诉请求。 如果未按本判决指定的期间履行给付金钱的义务，应当按照《中华人民共和国民事诉讼法》第二百五十三条规定，加倍支付迟延履行期间的债务利息。 一审本诉案件受理费43404元，由中国人民解放军96881部队负担11625元，由无锡尚士数码科技有限公司负担31779元；一审反诉案件受理费6550元，由无锡尚士数码科技有限公司负担；二审案件受理费43404元，由中国人民解放军96881部队负担11625元，由无锡尚士数码科技有限公司负担31779元。 本判决为终审判决。 审判长 焦 彦 审判员 佘朝阳 审判员 魏 磊 二〇二〇年三月二十五日 法官助理刘洋 书记员管众 裁判要点                            案  号                       （2019）最高法知民终248号                               案  由                       计算机软件开发合同纠纷                               合 议 庭                       审判长：焦 彦             审判员：佘朝阳、魏 磊                                                     法官助理：刘洋                       书记员：管众                               裁判日期                       2020年3月25日                               关 键 词                       计算机软件开发合同；履行；违约；解除                               当 事 人                       上诉人（原审原告）：中国人民解放军96881部队；             被上诉人（原审被告）：无锡尚士数码科技有限公司；                               裁判结果                       一、撤销江苏省苏州市中级人民法院（2018）苏05民初998号民事判决；             二、中国人民解放军96881部队与无锡尚士数码科技有限公司签订的《应急救援虚拟教学训练系统技术开发合同书》于2018年5月31日解除；             三、无锡尚士数码科技有限公司于本判决生效之日起十个工作日内向中国人民解放军96881部队返还合同本金300万元；             四、无锡尚士数码科技有限公司于本判决生效之日起十个工作日内向中国人民解放军96881部队支付违约金35万元；             五、驳回中国人民解放军96881部队其他诉讼请求；             六、驳回无锡尚士数码科技有限公司的反诉请求。             一审本诉案件受理费43404元，由中国人民解放军96881部队负担11625元，由无锡尚士数码科技有限公司负担31779元；一审反诉案件受理费6550元，由无锡尚士数码科技有限公司负担；二审案件受理费43404元，由中国人民解放军96881部队负担11625元，由无锡尚士数码科技有限公司负担31779元。             原判主文：一、驳回中国人民解放军96881部队的全部诉讼请求；二、驳回无锡尚士数码科技有限公司的全部反诉请求。本诉案件受理费43404元，反诉案件受理费8075元，共计51479元，由中国人民解放军96881部队负担25739.5元，无锡尚士数码科技有限公司负担25739.5元。                               相关法条                       《中华人民共和国合同法》第九十四条第四项、第九十六条第一款、第九十七条、第一百零七条、第一百一十四条。                               法律问题                       1.合同的解除             2.合同解除后责任的承担                                                                                                       裁判观点                                                                                                                       当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的，当事人可以解除合同。当事人主张解除合同的，应当通知对方。合同自通知到达对方时解除。合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。                               注：本摘要并非判决书之组成部分，不具有法律效力。