中华人民共和国最高人民法院 民 事 判 决 书 （2020）最高法知民终1849号 上诉人：（原审原告、反诉被告）：北京东方京融教育科技股份有限公司。住所地：北京市西城区西直门外大街**北京展览馆宾馆**。 法定代表人：王宇，该公司董事。 委托诉讼代理人：谢辉，男，该公司员工。 委托诉讼代理人：张天越，北京东然律师事务所律师。 被上诉人：（原审被告、反诉原告）：北京东方友信科技有限公司。住所地：北京市房山区良乡凯旋大街建设路1。住所地：北京市房山区良乡凯旋大街建设路**&mdashyle="font-size: 15pt; font-family: 宋体; margin: 0.5pt 0cm; line-height: 25pt; text-indent: 30pt"> 法定代表人：马永忠，该公司执行董事。 委托诉讼代理人：侯海明，北京市仁杰律师事务所律师。 上诉人北京东方京融教育科技股份有限公司（以下简称东方京融公司）因与被上诉人北京东方友信科技有限公司（以下简称东方友信公司）计算机软件开发合同纠纷一案，不服北京知识产权法院于2020年7月29日作出的（2018）京73民初406号民事判决，向本院提起上诉。本院于2020年11月23日立案后，依法组成合议庭对本案进行了审理。本案现已审理终结。 东方京融公司上诉请求：撤销原审判决，依法改判支持东方京融公司全部诉讼请求或将本案发回重审；一、二审诉讼费用由东方友信公司承担。事实和理由：1.东方友信公司根本没有履行合同义务。东方友信公司违背诚信原则，私自将开发项目承包给案外人，致使软件开发工作未能按其完成。2017年6月19日，东方京融公司于本案涉诉后才知悉此事，此前，东方京融公司一直认为赵新峰及其他工作人员是东方友信公司的软件开发人员。2.原审法院认定软件开发工作已基本完成没有事实依据。涉案软件没有开发完成，更谈不上测试验收。案外人公司连上传PPT的问题都没有解决，而上传超过1G视频只能通过第三方“七牛云”服务器，不能满足东方京融公司在线教育平台基本需求。 东方友信公司辩称：原审判决认定部分事实清楚，东方友信公司已经完成全部的软件开发，并且完成交付，只是没有交付源代码。开发工作完成后东方友信公司不存在没有履行合同义务、合同目的不能实现的情形。原审法院已经查明软件开发的细节问题，东方京融公司原审提出的6个问题，东方友信公司已经按约定完成。 东方京融公司向原审法院提起诉讼，原审法院于2018年5月8日立案受理，东方京融请求判令：1.解除东方京融公司与东方友信公司签订的《技术开发合同》《技术开发补充合同》；2.东方友信公司向东方京融公司返还已经支付的服务费用162000元；3.东方友信公司向东方京融公司支付违约金486000元。东方友信公司辩称，东方友信公司已按照合同及其补充协议约定全面履行了合同义务，完成了开发工作并提交了验收，在合同履行及交付验收过程中不存在迟延等违约行为，东方京融公司无权主张解除合同。 东方友信公司反诉请求:1.判令东方京融公司向东方友信公司支付余款81000元；2.判令东方京融公司向东方友信公司支付迟延付款的违约金（以81000元为基数，按照24%年利率计算，自2017年4月8日起至实际付款之日止，暂计至2018年10月10日为29768元）。东方京融公司辩称：东方友信公司的开发工作多次超过约定期限，其提交的开发成果基本功能无法实现，系统无法正常运行。东方友信公司未经东方京融公司同意即私自将开发工作转委托给案外人开发，违反了《中华人民共和国合同法》第四百条的规定及《技术开发合同》第8.1条的约定。 原审法院认定事实： 一、关于合同关系成立的事实以及约定的内容 2016年6月24日，东方京融公司（甲方）与东方友信公司（乙方）签订《技术开发合同》，约定甲方委托乙方开发京融教育在线教育平台项目。该合同的主要条款包括：“……（二）系统综述。京融教育在线教育平台是一个集在线购买课程、在线讲座视频、讲师课件管理、学员报名、学员管理、持续教育等为一体的综合应用系统。……系统详细描述详见附件《系统功能需求说明书》。（三）系统开发内容。3.1项目开发。项目详细设计方案经由双方书面确认之后，在乙方开发期间，甲方应尽量避免对内容和需求做实质性的更改，以免影响及拖延整体工作进度，如仅需做形式上的更改，与乙方协商后进行，如需作实质性更改，可签订项目的补充合同；如果在程序验收后该项目详细设计方案需要变更，甲方应当向乙方提出书面变更要求，经双方协商签订《项目开发补充合同》后，增加部分工作的费用按照乙方收费标准相应收取。……3.2项目开发周期。工期安排：项目开发工期为50个工作日。项目启动日期以同时满足下列两个条件之日为准：1.甲方已将项目预付款支付到乙方账户；2.甲乙双方确定需求，并达成一致。3.3项目测试。1.测试系统在乙方的服务器运行，乙方应提前5个工作日通知甲方进行项目测试；2.甲方可以通过任何与因特网进行网络连接的移动终端浏览自己的项目；3.甲方应当在测试日期后5个工作日内提出修改意见，在合同规定期限内，甲方未提出异议的，乙方视为系统验收合格；甲方提出异议后的3个工作日内，乙方应完成修改并再次通知甲方进行项目测试，直至甲方不再提出修改意见，乙方才算完成全部项目测试；4.如果遇到特殊情况致使测试日期推延，导致期限推延一方应在测试日期前以书面或邮件方式通知对方；5.甲方签收确认后要求做大范围实质性更改的，乙方有权根据改动情况按照研发成本收取费用。3.4售后服务。1.免费服务期：标的验收合格后12个月内，乙方对此软件系统向甲方提供免费维护服务；2.免费服务范围包括：排除、解决系统运行中由乙方产品技术及其他原因造成的故障，并对系统定期进行升级改造（仅限乙方原因造成的BUG，不包换功能的变更与新增），保证系统正常运行。3.后期维护费用：免费维护期满后，甲方应向乙方交付合同标的额10%，即18600元/年；4.乙方需免费提供全年的7×24小时电话支持服务及故障上门服务，以及每月三次的定期上门服务；5.如项目包含系统后台，乙方应向甲方提供免费培训服务，保障甲方工作人员能独立操作系统后台功能。……（五）系统价格及付款。5.1合同标的、价款。1.合同标的（项目需求及功能详细文档）详见附件《系统需求功能说明书》；2.总价款186000元（含税，开具增值税专用发票）。5.2支付方式。1.合同签订后，甲方在收到乙方发票后3个工作日内支付合同金额的30%，即55800元，此项费用称“预付款”；2.系统所有原型图及UI、UE效果图确认后，甲方在收到乙方发票后3个工作日内支付合同金额的30%，即55800元，此项费用称“中期款”;3.由乙方提供测试报告，甲方在乙方的配合下完成系统验收工作，系统在测试服务器上验收合格并完成系统上线后，甲方签署《项目验收单》，甲方在收到乙方发票后3个工作日内支付合同金额的30%，即55800元，此项费用称“上线款”；4.系统上线正常运行1个月后，甲方在收到乙方发票后3个工作日内支付项目10%尾款，即18600元；5.注：标的交付：甲方支付“上线款”后2个工作日内，乙方进行系统交接，包括：以公网访问地址及管理员账号及产品使用说明文档的形式交付给甲方并安装部署在甲方指定的服务器上（注：只能接受阿里云服务器，其他需要甲方自行安装运行环境）。……（六）违约金或者损失赔偿额的计算方法。6.1甲方未按期付款的，视为甲方违约。如甲方违约，甲方除应足额支付应付款项外，还应向乙方支付违约金，违约金金额每日按照应付金额的0.1%计算。6.2由于乙方原因造成项目停滞的，乙方应承担违约责任，需支付违约金，违约金金额每日按照甲方已支付金额的0.1%计算。并须按照合同完成项目。6.3由于甲方对网站项目开发内容做实质更改或延期提供乙方索要的网站项目开发内容所需资料、不按时间计划确认乙方已提交的阶段性工作成果，以及延期提供开发接口等从而延误乙方正常建设期的，乙方不负担因此造成延误的责任。6.4由于乙方原因导致项目延期，或乙方最终交付项目不符合本合同、相关附件约定及甲方要求，乙方应向甲方承担完全的赔偿责任。（七）履行期限、地点和方式。…&hellip、地点和方式由乙方将开发、测试好的京融教育在线教育平台以公网访问地址及管理员账号的形式安装、部署在服务器上。7.2由乙方提供书面装订好的《系统功能使用说明书》。（八）技术情报和资料的保密。8.1没有甲方事先书面同意，乙方不得将甲方或代表甲方提供的有关合同或任何合同条文、业务技术资料、文档等资料提供给乙方雇佣于履行本合同以外的任何其他人，即使向本合同的雇员提供，也应注意保密和限于履行合同必须的范围。……（九）技术协作和技术指导的内容。9.1甲方须严格按照《系统需求说明书》的要求按时做好必要的准备工作，包括资料、素材的提交和开发接口及接口文档的提供。9.2甲方需在乙方递交设计图后3个工作日内，提出修改要求或者确认邮件，乙方应在3个工作日内完成修改，直至甲方不再提出修改意见，乙方的设计图才算达到甲方的要求。9.3甲方需要有至少1名指定的工作人员配合乙方工作（最好是系统管理员和应用管理员）。……（十一）验收的标准和方式。研究开发所完成的技术成果，达到了本合同第二条所列功能技术需求指标，按本合同第一条的内容为标准，采用试运行方式验收，书面形式提供《验收报告》、甲乙双方共同确定并签字。11.1功能程序开发部分以合同附件《系统需求说明书》项目方案为标准.11.2静态页面无文字拼写及图片（以甲方提供的材料为标准）错误.11.3设计工作以甲方签收后的模板为标准。……”该合同附件包括《系统需求功能说明书》《项目开发排期表》《网站需求-持续教育》。 2016年12月15日，东方京融公司（甲方）与东方友信公司（乙方）签订《技术开发补充合同》，约定甲方委托乙方进行京融教育在线教育平台变更、新增需求开发。该合同的主要条款包括：“（一）项目开发周期。按开发排期表，详见《附件二：京融教育在线教育平台变更&新增需求开发排期表》。（二）售后服务。后期维护费用：免费后期维护期满后，甲方如需乙方继续维护本系统，每年应在原合同基础上向乙方追加本补充合同额的10%，即8400元/年的后期维护费用。（三）系统价格及付款。合同标的（项目需求及功能详细文档）详见《附件一：京融教育在线教育平台变更&新增需求功能说明书》，总价款为84000元。支付方式：1.合同签订后，甲方在收到乙方发票后3个工作日内支付合同金额的30%，即25200元，此项费用称“预付款”；2.（2016年）12月30日，甲方在乙方的配合下初步验证系统功能实现情况。系统在测试服务器上初步验证合格，于（2016年）12月31日完成系统上线后，甲方在收到乙方发票后3个工作日内支付合同金额的30%，即25200元，此项费用称“中期款”;3.2017年1月6日，乙方完成全部开发工作后，由乙方提供测试报告，甲方在乙方的配合下完成系统验收工作，系统在测试服务器上验收合格并完成系统上线后，甲方签署《项目验收单》，甲方在收到乙方发票后3个工作日内支付合同金额的30%，即25200元，此项费用称“上线款”；4.系统验收完成正常运行2个月后，甲方在收到乙方发票后3个工作日内支付项目10%尾款，即8400元；5.注：标的交付：甲方支付“上线款”后2个工作日内，乙方进行系统交接，包括：以公网访问地址及管理员账号及产品使用说明文档的形式交付给甲方并安装部署在甲方指定的服务器上（注：只能接受阿里云服务器，其他需要甲方自行安装运行环境）。……（四）履行期限、地点和方式。4.1本合同自2016年12月、地点和方式18年12月15日在北京市履行。4.2履行方式：软件由乙方将开发、测试好的京融教育在线教育平台以公网访问地址及管理员账号的形式安装、部署在服务器上；由乙方提供书面装订好的《系统功能使用说明书》。……（六）违约金或者损失赔偿额的计算方法。6.1甲方未按期付款的，视为甲方违约，甲方除应足额支付应付款项外，还应向乙方支付违约金，违约金金额每日按照应付金额的2%计算。6.2由于乙方原因造成项目延期的（根据甲乙双方协定，乙方应在合同规定的工作日内开发完成所有功能（不包含一定量的bug的修复）并上线，否则视为乙方延期），乙方应承担违约责任，需支付违约金，违约金金额每日按照甲方已支付金额的2%计算。6.3甲方付款时间以银行转账时间为准。（七）合同说明。本合同作为2016年6月16日签署的《京融教育-项目开发合同》的补充合同，除上述变更、新增及完善内容外，其余合同约定条款与原合同保持一致。”该合同附件包括《附件一：京融教育在线教育平台变更&新增需求功能说明书》《附件二：京融教育在线教育平台变更&新增需求开发排期表》。 二、关于合同履行的事实 东方京融公司先后于2016年6月29日、2016年9月8日、2016年12月22日、2017年1月5日向东方友信公司支付合同款项55800元、55800元、25200元、25200元，合计162000元。 2017年3月22日，东方京融公司与东方友信公司召开网站开发例会，议题为网站开发阶段性目标内容确认，会议决定：1.双方就网站开发阶段性内容做了确认，具体内容见附件《京融教育在线学习平台修改内容汇总0322》；2.双方约定于2017年4月2日完成附件《京融教育在线学习平台修改内容汇总0322》内容；3.经过双方对第一、第二次原合同需求的验收，附件《京融教育在线学习平台修改内容汇总0322》内容为该项目最后一次最终提出的所有需求和改动。甲方承诺东方京融公司不再提出新需求，之后在此附件之外提出的任何需求需要双方签署补充协议，追加费用；4.乙方完成附件《京融教育在线学习平台修改内容0322》工作并验收通过后，甲方在收到发票后3个工作日内支付乙方第一、第二次合同总额的30%作为上线款，甲方支付上线款后1个工作日内，乙方提供甲方本网站所有源代码；5.原合同与本纪要不一致之处，以本纪要为最终标准。附件《京融教育在线学习平台修改内容0322》显示了东方京融公司对现有开发成果提出的5个主要问题及11个次要问题。其中，5个主要问题为：1.视频问题：超过1G的视频文件无法上传（上传大小不应该有限制）；2.视频问题：播放视频的缓冲时间过长（开始播放时间不应超过3秒，保证视频清晰流畅播放）；3.播放记忆问题（断点续播）；4.上传讲义格式PPT；5.支付问题：pc端需支持支付宝和微信支付，移动端需支持微信支付。 双方当事人的QQ沟通记录记载：2017年4月3日，东方友信公司称“截止到昨天（2号）晚上，剩余的最后一个问题上传PPT格式文件已经解决了。请按照合同执行我们的约定吧”，东方京融公司则要求东方友信公司解决视频的断点续播问题。2017年4月5日，东方友信公司称视频的断点续播问题已经解决。2017年4月6日，东方友信公司应东方京融公司的要求对其相关工作人员进行了培训，并向其交付了后台网址及管理员账号信息。2017年4月12日，东方友信公司向东方京融公司交付了京融后台用户使用手册。 庭审中，东方京融公司主张东方友信公司未制作微信公众号及相应小程序，东方友信公司认可完成微信端开发系涉案合同的应有之义，但主张其已向东方京融公司交付了微信公众号的账号信息，并提交了双方当事人的QQ沟通记录作为证据。东方京融公司主张东方友信公司提交的工作成果仍存在超过1G的视频文件无法上传、超过1G的视频文件播放时的缓冲时间过长、无法实现断点续播、无法实现正常缴费、无法上传PPT文件等功能障碍，东方友信公司称上述问题均已得到解决，并提交了双方当事人的QQ沟通记录作为证据。东方友信公司认可其尚未向东方京融公司开具上线款81000元的发票，但主张其未及时开具发票的原因是东方京融公司拖延验收。东方京融公司主张其已委托案外人开发了类似的教育平台并进行了运行，涉案合同事实上已无继续履行之必要。 原审法院认为：《中华人民共和国合同法》（以下简称合同法）第八条规定，依法成立的合同，对当事人具有法律约束力。当事人应当按照约定履行自己的义务，不得擅自变更或者解除合同。依法成立的合同，受法律保护。本案中，东方京融公司与东方友信公司签订的《技术开发合同》及《技术开发补充合同》系双方真实意思表示，合同内容不违反法律及行政法规的强制性规定，应属合法有效，双方均应恪守履行。 根据东方京融公司与东方友信公司于2017年3月22日签订的《网络开发例会会议纪要》可知，双方当事人已经对涉案合同及其补充协议中的合同需求进行了验收，《京融教育在线学习平台修改内容汇总0322》中的内容为该项目最终提出的所有需求和改动，涉案合同及其补充协议与该会议纪要不一致之处，以该纪要的约定为准。可见，双方当事人通过会议纪要的形式对涉案合同及其补充协议进行了变更，达成了自2017年3月22日起按照会议纪要约定的内容继续履行的合意。 根据双方当事人的诉辩意见，本案的争议焦点为：一、东方友信公司是否存在部分履行、迟延履行以及履行不符合约定等违约行为；二、“上线款”的付款条件是否已经满足；三、涉案合同及其补充协议是否应当解除以及相应的法律后果。 合同法第六十条规定，当事人应当按照约定全面履行自己的义务。当事人应当遵循诚实信用原则，根据合同的性质、目的和交易习惯履行通知、协助、保密等义务。本案中，依照《京融教育在线学习平台修改内容汇总0322》的约定，东方友信公司应于2017年4月2日完成《京融教育在线学习平台修改内容汇总0322》所提及的需求和改动，东方京融公司应在验收通过后且收到东方友信公司开具的发票后3个工作日内支付合同总额的30%（即81000元）作为上线款，东方友信公司应在东方京融公司支付上线款后1个工作日内交付所涉源代码。东方友信公司主张其已于2017年4月2日晚完成了《京融教育在线学习平台修改内容汇总0322》中所提及的需求和改动。东方京融公司对此不予认可，并提出东方友信公司未履行微信公众号及相应小程序的开发义务，且东方友信公司提交的工作成果存在超过1G的视频文件无法上传、超过1G的视频文件播放时的缓冲时间过长、无法实现断点续播、无法实现正常缴费、无法上传PPT文件等功能障碍。 首先，关于东方京融公司主张东方友信公司未履行微信公众号及相应小程序的开发义务的问题。根据原审法院查明的事实，2017年4月6日，东方友信公司应东方京融公司的要求对其相关工作人员进行了培训，并向其交付了后台网址及管理员账号信息，其中包括微信公众号账号及密码。在双方的沟通记录中，东方京融公司后续亦未对此提出异议。故原审法院认为东方友信公司已履行了微信公众号的开发义务，并向东方京融公司进行了交付。而涉案合同并未约定相关微信小程序的具体指向及功能，故东方京融公司要求东方友信公司履行微信小程序开发义务的请求于合同无据。 其次，关于东方京融公司主张东方友信公司交付的开发成果不符合约定的问题，原审法院具体认定如下：第一，关于大文件无法上传以及视频播放缓冲时间过长的问题。根据涉案合同及其补充协议的约定，涉案教育平台应具备课程上传、在线播放的基本功能，虽然该合同并未对视频文件的大小作出明确约定，但依照《京融教育在线学习平台修改内容汇总0322》，东方友信公司应解决超过1G的视频文件无法上传以及播放缓冲时间过长的问题。通过双方当事人在2017年3月10日至2017年3月29日的沟通记录可知，东方友信公司告知东方京融公司大文件上传建议使用七牛云提供的客户端，将文件上传到服务器后，再在网站后台添加相应的资源地址链接，并向东方京融公司发送了上传工具网址。2017年3月29日，东方友信公司称视频播放缓存时间过长的问题已经解决，东方京融公司回复称将在第二天进行验证。后东方友信公司向东方京融公司交付了七牛云的账号信息和密钥，并应东方京融公司要求对其相关工作人员进行了包括使用工具上传视频文件在内的培训。在双方的沟通记录中，东方京融公司后续未对上述问题提出异议。第二，关于断点续播的问题。2017年3月29日，东方友信公司称视频断点续播的问题已经解决，东方京融公司回复称将在第二天进行验证。通过双方当事人在2017年3月29日至2017年4月5日的沟通记录可知，其对断点续播问题的理解曾产生分歧。在双方当事人充分沟通后，东方友信公司按照东方京融公司的客观需求对断点续播功能进行了相应修改，东方京融公司回复称将对此问题进行验证。在双方的沟通记录中，东方京融公司后续未对上述问题提出异议。第三，关于无法上传PPT文件的问题。通过双方当事人在2017年3月29日至2017年4月3日的沟通记录可知，东方友信公司称添加PPT文件后会自动转化成多张jpg文件，以此解决无法上传PPT文件的问题。通过双方当事人在2017年4月24日至2017年5月11日的沟通记录可知，东方京融公司再次提出无法上传PPT文件的问题，东方友信公司回复称该问题与服务器有关，更换东方京融公司的服务器后即可解决，且东方友信公司表示其将在东方京融公司支付上线款后解决服务器的问题。而与服务器相关的问题并不在《京融教育在线学习平台修改内容汇总0322》的约定范围内。第四，关于无法实现正常缴费的问题。通过双方当事人在2017年3月30日的沟通记录可知，东方友信公司已安排相关工作人员对微信pc扫码付款问题进行了完善。2017年4月6日，东方友信公司向东方京融公司交付了后台网址及管理员账号信息，其中包括微信支付商户平台账号、支付宝对接账号及相应的密码。虽然东方京融公司于2017年4月11日提出关于微信pc扫码支付成功，但网页未进行跳转提示的问题，但原审法院认为在案证据可以证明涉案教育平台已能够实现基本的缴费功能，上述跳转问题不会影响正常缴费功能的实现。 同时，根据已查明的事实可知，东方友信公司曾于2017年4月6日对东方京融公司的相关工作人员进行了培训，交付了后台网址及管理员账号信息，于2017年4月12日交付了京融后台用户使用手册。通过双方当事人在2017年4月24日至2017年5月11日的沟通记录可知，东方京融公司在上述期间对涉案教育平台进行了测试，并就平台中存在的相关问题与东方友信公司进行了沟通。2017年5月10日，东方京融公司表示视频目前没有问题，但是无法上传PPT文件。2017年5月11日，东方京融公司表示除了上传PPT文件的问题外没有其他问题了。 原审法院认为，综合考虑上述事实以及双方当事人提交的在案证据，可以认定东方友信公司在约定的履行期限内基本完成了涉案教育平台的开发，课程上传、在线支付、在线播放、后台管理等基本功能能够实现。如上所述，虽然在履行期限届满后，双方当事人仍就涉案教育平台的开发问题进行反复沟通和修改，但上述沟通和修改均不涉及涉案教育平台基本功能的实现，且东方友信公司对上述问题予以了一定的回应和解决，故对东方京融公司关于东方友信公司存在部分履行、迟延履行以及履行不符合约定等违约行为的相关主张，原审法院不予支持。 另外，关于东方友信公司是否存在违约转委托的问题。根据原审法院查明的事实，自涉案合同签订时起，即由赵新峰团队与东方京融公司相关工作人员接洽沟通、确认需求、进行开发并汇报阶段性成果，在双方的沟通记录中，东方京融公司亦未对该问题提出过异议。东方京融公司以东方友信公司存在违约转委托的情形为由主张其违反了合同法第四百条的规定及《技术开发合同》第8.1条的约定，缺乏事实和法律依据，原审法院不予支持。 根据合同法第九十四条第四项规定，当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的，可以解除合同。本案中，东方京融公司认为东方友信公司的违约行为已经构成根本违约，致使其合同目的无法实现，故依据上述条款请求解除涉案合同及其补充协议。对此原审法院认为，根据涉案合同及其补充协议约定的内容可知，东方京融公司与东方友信公司签订上述合同的目的是委托东方友信公司开发京融教育在线学习平台，东方友信公司的主合同义务是按照合同约定的功能要求及期限完成开发任务。如上所述，根据原审法院查明的事实，东方友信公司在约定的履行期限内基本完成了涉案教育平台的开发，课程上传、在线支付、在线播放、后台管理等基本功能能够实现，故可以认定东方友信公司已经履行了合同的主要义务，不存在致使不能实现合同目的的情形，东方京融公司解除合同的相关主张不能成立，原审法院不予支持。 按照双方当事人于2017年3月22日签订的《网站开发例会会议纪要》第四条的约定，东方京融公司应在验收通过，且收到东方友信公司开具的发票后3个工作日内支付合同总额的30%（即81000元）作为上线款，东方友信公司应在东方京融公司支付上线款后1个工作日内提供源代码。虽然原审法院已认定东方友信公司在约定的履行期限内基本完成了涉案教育平台的开发，但考虑到东方友信公司未提交证据证明其曾向东方京融公司交付测试报告，亦未向其开具上线款的发票，故原审法院认为该笔款项的付款条件尚未成就。因此，对东方友信公司关于东方京融公司应向其支付81000元上线款的主张，原审法院不予支持。 综上所述，原审法院依照《中华人民共和国合同法》第八条、第六十条，《中华人民共和国民事诉讼法》第六十四条、第一百五十二条规定，判决：一、驳回东方京融公司的全部诉讼请求；二、驳回东方友信公司的全部诉讼请求。本诉案件受理费10280元，由东方京融公司负担；反诉案件受理费1258元，由东方友信负担。 二审中，当事人没有提交新证据。 原审法院查明的事实属实，本院予以确认。 本院认为，本案二审的争议焦点问题是：东方友信公司履约是否适当，应否承担违约责任。涉案合同应否予以解除，东方友信公司应否承担返还合同款及支付违约金等责任。 本案中，东方京融公司上诉主张东方友信公司存在违约行为，致使合同目的已经不能实现，主要理由有三点：一是东方友信公司未经东方京融公司许可将合同项目承包给案外人履行；二是东方友信公司已交付的软件不能正常使用，东方友信公司在双方限定的最后期限内未完成软件开发；三是软件未经验收。东方友信公司则抗辩称，赵新峰自合同履行伊始即作为东方友信公司的技术人员参与软件开发工作，东方京融公司对此明知且未提出过异议；根据双方2017年3月22日网站开发例会会议纪要，合同项目已经双方验收，东方京融公司所谓软件不能正常使用问题属于软件优化；东方友信公司已于2017年5月16日向东方京融公司发送了项目验收单。本院认为，根据本案已查明的事实可以确认，双方当事人先后于2016年6月24日、2016年12月15日就京融教育在线教育平台项目签订了《技术开发合同》和《技术开发补充合同》。其中，《技术开发补充合同》约定的合同期限是2016年12月15日至2018年12月15日，项目初验时间为2016年12月30日，东方京融公司已依约支付了项目初验款。东方友信公司一方实际合同履行者为赵新峰及其技术团队。2017年3月22日，双方例会对网站开发阶段性目标内容进行确认，形成会议纪要及《京融教育在线学习平台修改内容汇总0322》。会议纪要载明：“经过双方对第一、第二次原合同需求的验收，附件《京融教育在线学习平台修改内容汇总0322》内容为该项目最后一次最终提出的所有需求和改动”“双方约定于2017年4月2日完成附件《京融教育在线学习平台修改内容汇总0322》内容”。据此，在双方对京融教育在线学习平台已进行初验的基础上，本案应依照双方当事人最终确认的《京融教育在线学习平台修改内容汇总0322》内容对东方友信公司的履约行为是否适当进行审查。 首先，关于合同实际履行主体的问题。本案中，东方友信公司认可将京融教育在线学习平台承包给赵新峰的北京视创博奥科技有限公司，软件项目实际由赵新峰及其技术团队开发。因东方友信公司并未提交证据证明其已告知东方京融公司上述事实并取得该公司同意，东方友信公司上述擅自将合同项目转由他人实施的行为确有不当。但是因双方合同对此未有禁止性约定，且双方合同实际履行过程中亦未因此产生过争议，东方京融公司在本案涉诉后以新发现的东方友信公司履约不当行为，依据合同法第四百条的规定和双方《技术开发合同》第8.1条的约定主张合同目的不能实现，依据不足，不能成立。 其次，关于东方友信公司是否完成软件开发任务、软件是否验收的问题。结合双方当事人确认的《京融教育在线学习平台修改内容汇总0322》进行审查，东方友信公司应在2017年4月2日之前，解决完成包括视频问题（视频文件上传大小不应该有限制、开始播放缓冲时间不应超过3秒、视频播放清晰流畅、支持断点续播）、上传讲义格式PPT、支付问题（支持支付宝和微信（PC端）移动端，支持微信支付）等项目需求。根据双方QQ聊天记录，截至4月2日，东方友信公司解决了视频上传（依托“七牛云”第三方平台）、上传PPT格式（可转图片）、微信PC扫码支付等问题，但软件仍存在视频上传第三方平台使用不畅、不支持断点续播、微信支付成功网页没有提示等问题；截至5月11日，视频问题基本解决但是PPT无法正常上传，东方友信公司表示是其服务器问题，更换为东方京融公司服务器就没问题了。其间，东方有信公司应东方京融公司要求进行了员工培训，交付了后台网址及管理员账号信息，交付了京融后台用户使用手册。因双方当事人对先付费还是先解决PPT正常上传问题产生争议，导致本案诉讼（东方京融公司于2017年5月27日向北京市西城区人民法院提起本案诉讼）。至于东方京融公司上诉主张的视频上传、微信支付等其他问题或者已解决、或者不构成双方履约实质争议，不能据此确认为东方友信公司未完成软件开发任务。本院认为，根据双方合同及《京融教育在线学习平台修改内容汇总0322》，东方友信公司开发的软件应实现PPT正常上传功能，东方友信公司在该软件功能存在瑕疵的情形下要求东方京融公司先付款后解决问题，不符合双方约定，构成违约。但在东方友信公司已完成软件主要功能开发并交付使用、东方京融公司对软件已实质进行测试验收的情形下，东方友信公司上述履约瑕疵并非不可弥补，并不足以导致合同目的不能实现，不构成根本违约。软件虽未完成最终验收，但原审法院认定东方友信公司在约定的履行期限内基本完成软件开发任务，并无不当，本院予以确认。 最后，关于合同应否予以解除，东方友信公司应否承担返还合同款、支付违约金责任的问题。如前文所述，东方友信公司履约确有不当，但不足以导致合同解除，东方京融公司以东方友信公司根本违约为由请求解决合同，不能成立。根据合同法第一百零七条关于“当事人一方不履行合同义务或者履行合同义务不符合约定的，应当承担继续履行、采取补救措施或者赔偿损失等违约责任。”的规定，东方京融公司、东方友信公司在双方争议发生后，应及时协商解决继续履行合同。但现因本案诉讼，双方合同停止履行距今已三年有余，双方当事人已丧失了继续合作的基础，东方京融公司亦明确表示合同已无实际履行之可能。因此，东方京融公司、东方友信公司对合同实际停止履行均负有责任。现因合同实际停止履行，根据合同法第九十七条关于“合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。”的规定，东方京融公司在东方友信公司已基本完成软件开发任务的情形下，主张东方友信公司返还合同款并支付违约金，缺乏事实和法律依据，不能成立，本院不予支持。 综上所述，东方京融公司的上诉请求不能成立，应予驳回；原审判决认定事实清楚，适用法律正确，予以维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下： 驳回上诉，维持原判。 二审案件受理费10280元，由北京东方京融教育科技股份有限公司负担。 本判决为终审判决。 审判长  徐燕如 审判员  刘晓梅 审判员  詹靖康 二〇二〇年十二月三十日 法官助理毛涵 书记员谭秀娇 裁判要点                            案  号                       （2020）最高法知民终1849号                               案  由                       计算机软件开发合同纠纷                               合 议 庭                       审判长：徐燕如             审判员：刘晓梅、詹靖康                                                     法官助理：毛涵                       书记员：谭秀娇                               裁判日期                       2020年12月30日                               涉案合同                       《京融教育在线教育平台技术开发合同》                               关 键 词                       合同瑕疵履行；违约责任；解除合同。                               当 事 人                       上诉人（原审原告、反诉被告）：北京东方京融教育科技股份有限公司；             被上诉人（原审被告、反诉原告）：北京东方友信科技有限公司。                               裁判结果                       驳回上诉，维持原判。             原判主文：一、驳回北京东方京融教育科技股份有限公司的全部诉讼请求；二、驳回北京东方友信科技有限公司的全部诉讼请求。                               相关法条                       《中华人民共和国合同法》第八条、第六十条，《中华人民共和国民事诉讼法》第六十四条、第一百五十二条                               法律问题                       合同瑕疵履行责任                               裁判观点                       当事人一方不履行合同义务或者履行合同义务不符合约定的，应当承担继续履行、采取补救措施或者赔偿损失等违约责任。                               注：本摘要并非判决书之组成部分，不具有法律效力。