中华人民共和国最高人民法院 民 事 判 决 书 （2019）最高法知民终335号 上诉人（原审被告、反诉原告）：北京企迪信息技术有限公司。住所地：北京市顺义区赵全营镇牛板路板桥段43号。 法定代表人：罗权，该公司总经理。 委托诉讼代理人：李由军，北京市盈科律师事务所律师。 被上诉人（原审原告、反诉被告）：相悦四季（北京）商贸有限公司。住所地：北京市顺义区马坡镇顺安路33号院三区16号楼7层719。 法定代表人：张丹，该公司执行董事。 委托诉讼代理人：秦峰，北京实地律师事务所律师。 上诉人北京企迪信息技术有限公司（以下简称企迪公司）因与被上诉人相悦四季（北京）商贸有限公司（以下简称相悦四季公司）计算机软件开发合同纠纷一案，不服北京知识产权法院于2019年6月18日作出的（2018）京73民初703号民事判决，向本院提起上诉。本院于2019年8月16日立案后，依法组成合议庭并指派技术调查官薛梅参与诉讼。本案现已审理终结。 企迪公司上诉请求：依法撤销原审判决的第二、三、四、五项，发回重审或依法改判：1.驳回相悦四季公司的所有诉讼请求；2.相悦四季公司向企迪公司支付剩余合同款项20000元并支付自2018年4月23日起按照200元/日标准计算的违约金20000元；3.相悦四季公司向企迪公司支付额外增加的工作费用50000元；4.一、二审的诉讼费用由相悦四季公司承担。事实和理由：（一）相悦四季公司提交了（2018）京长安内经证字第20063、20064号公证书证明企迪公司交付的涉案软件（安卓版）有多处bug问题，但原审中因法庭网络问题无法登陆邮箱和下载软件，故并未进行现场勘验核实，企迪公司自行下载该软件版本运行、使用、测试均未发现公证书中记载的问题，相悦四季公司在公证视频中所反映的卡顿、反映迟缓等问题，与现场网络运行环境有关而与软件产品本身无关。（二）企迪公司于2018年5月10日交付给相悦四季公司的涉案软件（IOS版）并不存在不能打开的问题，5月17日，相悦四季公司找企迪公司的工程师私自更改功能结构后未经测试即上架，才导致公证视频反映的IOS版本软件无法打开的问题，故不能依据公证视频认定企迪公司交付的软件产品不合格，原审法院亦未对IOS版本进行现场勘验核实。（三）在软件产品开发过程中，相悦四季公司多次提出修改设计、增加工作量及垫付软件著作权申请费用等要求，原审未予查明并判决，企迪公司为相悦四季公司垫付的软件著作权申请费3000元应由相悦四季公司返还，且因双方合同中并未约定涉案APP上架事宜，相悦四季公司要求企迪公司全程配合上架涉案APP耗费了企迪公司极大的精力和时间，故相悦四季公司也应承担该部分增加的费用。 相悦四季公司提交书面答辩意见称：原审判决认定事实清楚，适用法律正确，应予维持。事实和理由：（一）相悦四季公司在原审中提交的（2018）京长安内经证字第20063、20064号公证书具有证据效力。（二）双方在原审庭审中均认可以企迪公司于2018年5月10日交付的2.7.3版本来判断本案中企迪公司的履行是否符合合同约定，故安卓版本和IOS版本中任何一个不符合合同约定即视为交付不合格。公证显示从苹果商店下载的版本号为2.7.3四季淘APP无法打开，足以证明企迪公司交付的工作成果不符合合同约定，相悦四季公司可据此解除合同。（三）企迪公司未按照合同约定完成开发义务，故其要求相悦四季公司支付额外工作费用的主张显然没有法律依据。 相悦四季公司于2018年6月19日向原审法院起诉，请求判令：1.双方签署的编号为bj-2017102701的《项目合作文件》（以下简称涉案合同）于2018年5月31日解除；2.企迪公司向相悦四季公司退还已经支付的80000元合同款；3.企迪公司向相悦四季公司支付合同总金额2%（即2000元）的违约金；4.企迪公司向相悦四季公司赔偿28016.92元的损失（其中APP推广服务费损失21278.92元，APP所需硬件及相关设备损失5750元，微信认证费用300元，苹果商店费用688元）；5.企迪公司承担5740元的公证费；6.企迪公司承担50000元的律师费。 企迪公司向原审法院提出反诉，请求判令：1.相悦四季公司向企迪公司支付剩余合同款20000元；2.相悦四季公司自2018年4月23日起按照200元/日的标准向企迪公司支付违约金，共主张20000元；3.相悦四季公司向企迪公司支付额外增加的工作费用50000元。 原审法院认定事实： （一）涉案合同约定的情况 2017年11月1日，相悦四季公司（甲方）与企迪公司（乙方）签订涉案合同。 涉案合同第二条约定了项目内容及工作要求：2.1APP建设需求以合同附件《APP建设需求》为准。2.2甲方在项目中的工作内容（以下各项工作具有相同的重要性）：自甲方付款之日起32个工作日完成全部开发工作，并正式上线测试，如果因为甲方要求修改或其他需要修改的情形则时间顺延。在APP开发过程各阶段时间点可根据具体情况，双方协商解决。 涉案合同第三条约定了产品的交付：3.1交付物：APP涉及的网页文件、图片、FLASH及APP开发过程中的全部设计、安装、使用手册及程序源代码。3.2乙方所提供的任何文件都必须是没有病毒的，也不得设置任何恶意的内容，一经发现，甲方将不支付任何费用给乙方，由此而造成的损失甲方将追究乙方的法律责任及相关连带损失。3.3乙方所提供的软件系统必须真实有效，并且乙方有义务指导甲方安装系统与现场调试系统，并保证真实有效。3.4交付方式：乙方将交付物以光盘两份、及上传至甲方指定服务器一份的形式进行交付。甲方在收到交付物后，应以邮件回复或纸质形式出具接收回执。3.5产品经甲方验收后视为交付完成。 涉案合同第四条约定了合同金额为100000元整。第五条约定了付款时间、方式：5.1经甲乙双方协商，决定按照以下付款方式付款：（1）自合同签订之日起3个工作日内，甲方向乙方支付APP建设40%预付款40000元；（2）乙方完成APP的开发工作，并提供测试APP版本，甲方支付40%项目款40000元；(3)APP测试完毕，甲方支付20%尾款20000元。 涉案合同第六条约定了产品验收：6.1甲方在收到乙方所提交每阶段交付物之日起，须在1个工作日内出具书面形式验收意见，验收意见分为“同意且无需修改”和“需修改”两种。如出具意见为“同意且无需修改”，则视为验收完成，结论为通过，即进入付款流程。如出具意见为“需修改”，乙方按甲方修改意见进行修改。如甲方在1个工作日内未作出相关响应，则视为方案通过，验收完成。6.2甲方如认为乙方提交的产品需要调整，则需以书面形式向乙方提出修改意见，此确认过程中所占沟通时间不计入乙方工作时间期限。乙方在收到修改意见之日起3天（含休息日）完成代码调整并重新提交验收，如改动工作较大和需求文档功能不一致，无法在3天（含休息日）内完成，须提前通知甲方，并告知具体工作计划，费用可根据工作量另议。6.3甲方验收完成后，以书面形式出具产品验收结论，作为付款的依据。 涉案合同第八条约定了甲方的权利和义务：8.1甲方有权在国家法律及法规的规定之要求范围内按本合同约定要求乙方按期保质提供服务。8.2甲方有权要求乙方提供与产品相关的配套服务，包括APP操作培训等。8.3在开发过程中对于乙方提出的相关确认、反馈要求及需甲方提供的图片、材料等，甲方须在3个工作日进行反馈。如遇特殊情况，须及时向乙方说明，延迟工期。8.4甲方应按本合同约定支付合同价款。8.5如果乙方产品不能达到其所承诺的功能和质量标准，甲方有权要求乙方对有缺陷服务返工；如果乙方无法以合理方式达到合同规定的性能标准或取得甲方认可，甲方可以终止相应服务，并索回在该项有缺陷服务上已经支付乙方的相应款项。 涉案合同第九条约定了乙方的权利和义务：9.1对于甲方提出的开发需求，如存在违反我国有关法律法规及相关政策或明显违背社会伦理道德的情况，乙方有权拒绝为该需求进行开发并终止合同。9.2乙方应按本合同约定的开发建设内容、服务方式及行业标准为甲方提供服务。9.3乙方应根据本合同的约定提交相关文件、资料，并配合甲方的检查与监督。9.4甲方提供给乙方的所有资料如涉及侵犯第三方知识产权等法律问题，乙方不为其承担连带责任。9.5乙方对于甲方的业务需求、技术资料、数据信息负有保密义务。乙方应对由于乙方原因给甲方造成的资料泄密等承担赔偿责任。9.6乙方为履行本合同而从第三方采购的产品或服务，乙方应按供应商的授权转售给甲方。 涉案合同第十三条约定了违约责任：13.1甲方无正当理由不按合同约定支付应付款项的，则每延期一日，应向乙方支付总款项的1%作为违约金。13.2乙方无正当理由终止本合同，除应返还甲方已支付的全部款项外，还应向甲方支付应付款项的2%作为违约金。13.3如在项目开发过程中，乙方因出现在现有技术水平和条件下难以克服的技术困难，导致项目无法继续进行，属于乙方的违约行为，乙方应退还甲方已支付的全部款项，并支付甲方合同全部金额的2%作为违约金。13.4迟延交付：如乙方未能如期交付产品，则每延期一日，应向甲方支付合同金额的1%作为违约金。迟延交付超过15日（含休息日）的，甲方有权解除合同，乙方应返还甲方已支付价款。13.6其他违约责任：乙方有其他违约行为，经甲方书面形式通知而未在甲方指定的期限内更正的，甲方有权解除合同，乙方应赔偿甲方遭受的实际损失。 （二）合同履行情况 2017年11月1日，相悦四季公司通过微信向企迪公司支付40000元合同款以及所需硬件及相关设备费用5750元。 2017年12月15日，企迪公司向相悦四季公司索要微信公众平台和微信商家支付的账号密码。12月20日，相悦四季公司在企迪公司的协助下申请到微信支付的接口信息。12月25日，双方进行内部测试的沟通。 2018年1月4日，企迪公司通过微信提醒相悦四季公司支付项目中期款，其中提及APP上架的问题。1月11日，相悦四季公司通过微信向企迪公司支付40000元合同款。同日，在微信中提及“这样我增加的那块，我开个价格吧，10000”。1月22日，相悦四季公司催促“APP尽快成型，软著尽快弄，拖的时间太长了”，企迪公司回复“嗯，软著的事情我已经在和他们沟通了，提交资料了”。1月30日，企迪公司答应相悦四季公司帮助其申请软件著作权，花费3000元，由双方平摊，企迪公司先行垫付。2月15日，相悦四季公司通过微信发送截图，显示“四季淘”未通过腾讯科技的上线审核。 2018年3月23日，相悦四季公司向企迪公司发送文档，显示“软件卡顿，响应慢”。3月30日，相悦四季公司向企迪公司反馈，产品图片可以浏览，但不能单独打开图片放大的问题。同日，双方就邀请注册的功能进行讨论。4月22日，相悦四季公司向企迪公司发送“四季淘压测要求.txt”。 2018年5月10日，相悦四季公司要求产品交付，企迪公司向相悦四季公司交付2.7.3版涉案软件。相悦四季公司制作了涉案软件交付清单，并表示其将在自签字之日起5个工作日针对交付清单进行测试、核查。 2018年5月11日，相悦四季公司向企迪公司发出《工作联系函》，要求企迪公司3日内补充说明，于2018年5月15日17点前送达相悦四季公司，过期视为未交付。主要内容如下：（1）软件需求说明书：要求有需求设计文档而不是需求说明书，需求说明太单薄。缺少设计思路和E-R图。（2）数据库设计说明书：数据库设计内容太少，缺少表功能描述，部分表的字段描述缺失。（3）系统功能测试报告：功能测试报告太宽泛，没有落到具体的功能点，并且与实际不符，目前依然有功能没有完善。(4)系统设计说明书：设计说明书内容太少，缺少系统层次划分，系统功能模块划分，模块执行流程等说明。（5）系统维护手册：系统维护手册缺少用户使用流程介绍，功能点使用说明。（6）性能测试：缺少性能测试文档、提供压测脚本、提供压测结果文件、稳定性测试结果文件、场景描述不清楚，不知道压测的是接口功能点，压测发压从什么地方压的，内网还是外网，压力机的配置，服务器的配置，并发的TPS曲线图，并发的响应时间曲线图。(7)功能测试：缺少功能测试用例，测试轮次，发现的BUG数量，修复BUG的数量和BUG列表。（8）架构说明要求图纸表达，用到技术点都要说明。 2018年5月13日，相悦四季公司向企迪公司发出《督促交付工作联系函》，通知企迪公司1日内补齐说明，于2018年5月16日17时前补充下述材料：（1）分销详细操作说明；（2）分销、后台功能测试报告；（3）后台、分销性能测试报告；（4）后台、分销的运行报告；（5）分销手机端操作说明。 2018年5月15日，企迪公司通过微信向相悦四季公司发送“项目交付验收项目.rar”，相悦四季公司回复打不开。5月16日，企迪公司表示文件已经发送到相悦四季公司邮箱中。此后，相悦四季公司表示对APP的开发存在不满，提供两种解决方案：第一，尾款不再支付，1周内解决测试报告指出的问题，若源代码出现问题还需进一步修改；第二，退40000元，不再追究任何问题。企迪公司表示不能接受上述方案，企迪公司认为项目时间是双方沟通过的，不应追究，而APP经测试没有问题，所以相悦四季公司应当支付尾款。 2018年5月17日，相悦四季公司向企迪公司发出了《关于“四季淘”APP软件及相关文档交付核查回复函》，内容为：针对贵公司2018年5月10日交付我公司的“四季淘”APP应用软件及相关文档，经我方测试、查阅，发现问题如下：1.“四季淘”APP应用软件存在主导应用使用问题；2.APP相关文档经查阅，无法正常与软件匹配使用。综上所述，对于“四季淘”APP应用软件及相关文档存在大量的问题，我方需要更多时间做测试、核查，关于“四季淘”APP应用软件及相关文档核查结果，以我方正式书面通知为准。另，同日，企迪公司工作人员向相悦四季公司交付了另外一版涉案软件，并称“苹果版本更新了，但是有点不对，您看一下，是不是打不开”。 2018年5月18日，相悦四季公司通过北京市长安公证处进行公证，公证过程显示，从苹果商店下载的版本号为2.7.3，更新日期为2018年5月18日的四季淘APP无法打开。相悦四季公司还通过公证，分别下载了此前企迪公司向相悦四季公司交付的“相悦四季交付文档.rar”及“项目交付验收项目.rar”，解压后分别得到“四季淘”安卓版软件的安装包，并将之安装到手机，通过手机操作软件并进行讲解。操作中显示上述软件存在运行出错、部分页面无法显示以及部分功能缺失等BUG。 2018年5月30日，相悦四季公司委托北京实地律师事务所律师秦峰向企迪公司发出律师函，通知企迪公司：1.依据涉案合同的第十三条解除合同，并要求企迪公司收到律师函后3日内退还80000元合同款及利息；2.要求企迪公司收函后3日内支付合同全部金额2%（2000元）的违约金；3.要求企迪公司赔偿52750元的损失。 （三）其他相关事实 1.双方在原审庭审中均认可以2018年5月10号企迪公司交付的2.7.3版本来判断本案中企迪公司的履行是否符合合同约定。 2.企迪公司认为在苹果商店下载的IOS版的APP系经过相悦四季公司修改后的版本，和其交付的版本不同，其交付的版本是可以正常运行，符合合同约定的。 原审法院认为，本案中相悦四季公司与企迪公司签订的涉案合同系当事人真实意思表示，且不违反法律、行政法规的强制性规定，应系合法有效，双方均应依约全面履行义务。 根据原审庭审中双方的意见，本案争议焦点如下： （一）涉案合同是否应当解除 本案中，相悦四季公司主张依据涉案合同第十三条的内容行使约定解除权。 涉案合同13.3约定，如在项目开放过程中，乙方因出现在现有技术水平和条件下难以克服的技术困难，导致项目无法继续进行，属于乙方的违约行为，乙方应退还甲方已支付的全部款项，并支付甲方合同全部金额的2%作为违约金。13.4约定，如乙方未能如期交付产品，则每延期一日，应向甲方支付合同金额的1%作为违约金。迟延交付超过15日（含休息日）的，甲方有权解除合同，乙方应返还甲方已支付价款。13.6约定，乙方有其他违约行为，经甲方书面形式通知而未在甲方指定的期限内更正的，甲方有权解除合同，乙方应赔偿甲方遭受的实际损失。 相悦四季公司主张企迪公司的违约行为有二，一为迟延交付，二为所交付的涉案软件不符合合同约定，并经书面形式通知后仍未更正。基于企迪公司违约的事实，其有权行使约定解除权解除合同。 关于迟延交付的问题，根据涉案合同2.2.1的约定，企迪公司应在相悦四季公司付款之日起32个工作日完成全部开发工作，并正式上线测试，如果因为甲方要求修改或其他需要修改的情形，则时间顺延。根据查明的事实，相悦四季公司支付第一笔款项的日期为2017年11月1日，结合合同约定，企迪公司应在2017年12月15日之前交付开发成果，但实际交付成果日为2018年5月10日。企迪公司认为，履行过程中，由于存在相悦四季公司提出修改意见以及增加需求的情形，履行期限应顺延。但现有证据未能明确显示，存在相悦四季公司同意企迪公司要求顺延期限的要求，或者企迪公司基于其主张的理由要求延长与增加的工作量对应期限的情形，且实际交付成果的时间远超合同约定的开发时间。因此，原审法院认为，企迪公司主张履行期限顺延缺乏事实依据，其行为构成迟延交付的违约行为。但由于相悦四季公司在迟延交付日后长时间内未基于此主张解除合同，且就履行问题继续与企迪公司进行交互，实际交付时仍接收了开发成果，直至发送律师函解除合同时亦未明确以迟延交付作为解除理由，因此，相悦四季公司将迟延交付作为行使约定解除权的理由不成立。 关于履行不符合约定的问题，鉴于双方均认可以2018年5月10日企迪公司交付的2.7.3版本来判断本案中企迪公司的履行是否符合合同约定，故原审法院将审查该版本是否符合合同约定，从而判断相悦四季公司是否享有约定解除权。 结合原审法院查明的事实，虽然企迪公司交付了涉案成果，但该交付并不意味着交付成果符合合同约定。2018年5月11日，相悦四季公司向企迪公司发出《工作联系函》，要求企迪公司3日内补充说明，并列出涉案软件中主要存在8项问题。2018年5月13日，相悦四季公司向企迪公司发出《督促交付工作联系函》，通知企迪公司1日内补齐5项相关说明。同时，公证证据显示企迪公司2018年5月10日交付的涉案软件安卓端发现若干严重影响使用的bug及苹果端无法打开的情形。上述事实，使原审法院有理由相信企迪公司交付的成果存在导致软件无法正常使用的缺陷。虽然企迪公司对此提出了异议，但一方面其未在举证期限内提交证据，展示其交付的版本符合合同约定；另一方面，其提出的关于相悦四季公司私下接触其工程师从而导致苹果端无法打开的主张，亦无直接证据支持，故对企迪公司的主张，原审法院不予采信。综上，原审法院认为，企迪公司存在履行不符合合同约定的违约行为，且经相悦四季公司书面通知后未在指定期限内更正，符合涉案合同13.6所约定的情形，相悦四季公司可以据此解除合同。 企迪公司于2018年5月31日收到解除通知，因此，原审法院确认涉案合同于2018年5月31日解除。 （二）合同解除的后果及违约责任的承担 涉案合同系由于企迪公司违约行为导致解除，因此，企迪公司应向相悦四季公司返还合同款80000元，其要求相悦四季公司支付尾款20000元的主张，原审法院不予支持。 鉴于原审法院已认定企迪公司未按照合同约定完成开发义务，相悦四季公司未向其支付尾款的行为不构成违约，不承担相应的违约责任。同时，企迪公司要求相悦四季支付额外工作费用的主张原审法院亦不予支持。 关于企迪公司的违约责任，相悦四季公司主张了违约金和赔偿损失。违约金部分，由于企迪公司的违约行为并非属于涉案合同13.3所描述的情况，因此，该条所描述的违约金条款原审法院不予适用，就相悦四季公司基于该条主张的违约金原审法院不予支持；赔偿损失部分，相悦四季公司对遭受的损失进行了举证。其中live800购销合同、今日头条数据推广服务协议、微信朋友圈网络推广服务协议、广点通网络推广服务协议、百度推广服务合同未显示涉案软件名称，无法体现与本案的关联，就该笔款项，原审法院无法确认为基于企迪公司违约产生的损失。APP所需硬件及相关设备损失5750元、微信认证费用300元、苹果商店费用688元与本案有关联，企迪公司亦承认上述费用系基于涉案软件的开发产生的，原审法院在此予以确认。由于企迪公司的违约行为，使得上述费用对应的设备或服务内容无法发挥相应的价值，属于违约行为导致的损失。因此，企迪公司应当承担赔偿损失的责任，应赔偿相悦四季公司6738元的损失。 至于相悦四季公司主张的公证费和律师费，原审法院认为，由于涉案合同中并未对公证费和律师费的承担做约定，该笔费用不属于违约行为直接导致的损失，其主张缺乏事实和法律依据，原审法院对此不予支持。综上所述，对于相悦四季公司的诉讼请求，原审法院予以部分支持；对于企迪公司的诉讼请求，原审法院不予支持。 原审法院判决：一、相悦四季公司与企迪公司签订的编号为bj-2017102701的《项目合作文件》于2018年5月31日解除；二、企迪公司向相悦四季公司返还合同款80000元；三、企迪公司向相悦四季公司支付赔偿款6738元；四、驳回相悦四季公司的其他诉讼请求；五、驳回企迪公司的全部反诉诉讼请求。本诉案件受理费3615元，由相悦四季公司负担1723元（已交纳），由企迪公司负担1892元（于判决生效之日起七日内交纳）。反诉案件受理费2050元，由企迪公司负担（已经交纳1849元，剩余201元于判决生效之日起七日内交纳）。 二审中，当事人没有提交新证据。 本院另查明，双方均确认2018年5月10日企迪公司完成“四季淘”APP应用软件安卓和IOS2.7.3版本的交付，同月16日，企迪公司在对该软件进行调整后又再次通过电子邮箱将软件发送给相悦四季公司。企迪公司主张其于5月16日发送的软件版本即是相悦四季公司的公证版本，并主张对该版本进行现场勘验。二审勘验中，比照《相悦四季APP功能测试报告》所列举的双方存在争议的功能需求项目对安卓版本进行勘验，确认如下事实：1.“修改密码”：可输入新密码并需发送手机短信确认，但手机短信无法发送，企迪公司主张是由于相悦四季公司未向短信发送服务平台充值；2.“积分商城商品”及“积分兑换”：用积分兑换商品后总积分没有减少而是增多，用积分购买下单及确认订单收货时均赠送积分，没有区分积分兑换和普通付款购买。普通付款购买商品时，支付方式包括支付宝和微信，微信支付请求失败、网络异常，支付宝可成功支付，支付成功后，确认发货时积分不变，确认收货后积分增加，增加的积分即是赠送的积分。企迪公司主张兑换商品与普通购买商品是设置在不同的分类区域，数据是分开的，且截至6月8日微信支付尚为正常；3.“添加商品”：可在后台管理商城的内容管理添加并可设置商品图片、价格、积分、货号、库存、规格等，但无法即时在APP上看到新添加的商品；4.“获取配送方式”：重新购买下单后在手机前端的待收货中可以显示物流信息和订单号等；5.“（删除、修改）订单操作”：企迪公司主张该项属于双方对委托开发事项存在约定不明的情况；6.“申请邀请码”：演示会员中心可以申请邀请码，也可删除邀请码。企迪公司主张该项与分销商管理有关，属于新增加的功能需求，相悦四季公司否认是新增需求；7.“是否开启快捷登录”：OAuth设置在2018.4.27-2018.5.4期间后台的测试数据可以显示通过qq或微信做了技术准备；8.“首页加载所有的信息”“类别数据源”“添加收藏”“搜索数据（tags标签搜索）”“获取兑换记录”“获取不同状态的订单”“获取没有评论的商品”“添加评论”等功能均可实现。 二审审理中，相悦四季公司自述，计算机软件只有在获得计算机软件著作权后才可以在苹果应用商店上架测试，在涉案APP（IOS版）的2.7.3版本之前曾存在可以从苹果应用商店下载、使用的2.7.2版本。 本院认为，本案的二审争议焦点问题是：（一）企迪公司是否存在违约行为；（二）涉案合同是否应当解除以及如果合同解除，合同解除的后果。 （一）企迪公司是否存在违约行为 《中华人民共和国合同法》第八条第一款规定，依法成立的合同，对当事人具有法律约束力。当事人应当按照约定履行自己的义务，不得擅自变更或者解除合同；第六十条第一款规定，当事人应当按照约定全面履行自己的义务。本案中，企迪公司与相悦四季公司于2017年11月1日签署了涉案合同，该合同是双方真实的意思表示，双方均应按照合同约定全面履行自己的义务。依据双方签订的软件开发合同，相悦四季公司作为委托方，其主要义务是按照约定支付开发费用；企迪公司作为开发方，其主要义务是按照约定交付合格的开发成果。判断企迪公司是否存在违约行为，主要涉及到企迪公司交付的开发成果是否合格以及是否如期交付两方面问题。 涉案合同第五条约定了付款时间、方式，第八条、第九条分别约定了双方权利和义务等。根据上述内容可知，涉案合同需分阶段履行，第一阶段，合同签订后三个工作日内，相悦四季公司支付APP建设40%预付款40000元；第二阶段，企迪公司开发完成并提供APP测试版本，相悦四季公司支付40%项目款40000元；第三阶段，APP测试完毕，相悦四季公司支付20%尾款20000元。双方对合同第一阶段履行情况无争议；在合同履行第二阶段，2018年1月11日，相悦四季公司应企迪公司之请，先行支付了第二阶段40000元项目款，2018年5月10日，企迪公司完成APP软件交付并与相悦四季公司签订了书面的《“四季淘”APP应用软件及相关文档交付清单》。至此，双方均已履行完毕合同的前两个阶段。双方对合同第三阶段的履行情况存在分歧，主要焦点在于，企迪公司交付的软件是否符合合同约定。对此，本院评述如下： 第一，关于企迪公司交付的成果是否符合合同约定。本院认为，首先、关于涉案APP安卓版本。经勘验，企迪公司交付的成果虽尚存在不完善之处，但基本能够实现涉案合同约定的功能需求。鉴于在软件开发过程中，开发方需要不断完善、修正软件运行中发现的功能缺陷，甚至在软件正式运行后也要不断进行维护更新，要求开发方在交付时即确保软件运行完美无瑕，不符合软件开发项目的客观规律，是对开发方的过分苛责。同时，软件开发项目自软件交付至最终验收合格通常需要给予开发方一定时限进行修改完善，这也是基于善意履行、共同实现合同目的的需要。本案中，企迪公司在5月10日完成交付后，针对相悦四季公司通过工作文件函形式提出的问题，并未明显怠于回应和配合验收，相悦四季公司于5月16日提出不再支付尾款或者要求企迪公司退还40000元的解决方案，并于5月18日进行公证，5月30日向企迪公司发出律师函通知解除合同。对比合同整体履行期限，双方自软件交付至相悦四季公司提出变更履行直至单方通知解除合同的时间较短，企迪公司未及时完成自交付至验收合格期间的修改完善工作，确实存在客观原因。综合考虑上述情况，本院认定，企迪公司已基本完成涉案APP安卓版的开发并已实际交付。 其次、关于涉案APP的IOS版本。首先，相悦四季公司确认在企迪公司最终交付涉案APP软件（IOS版）之前曾存在可以从苹果应用商店下载、使用的2.7.2版本，考虑到计算机软件具有版本更新、升级迭代的属性，2.7.2版本虽不是企迪公司最终交付的版本，但可以据此反映在最终版本交付之前企迪公司完成了IOS版软件的初步开发、测试。并且，在企迪公司完成安卓和IOS两个版本的交付后，相悦四季公司向企迪公司发出的《关于“四季淘”APP软件及相关文档交付核查回复函》中，列举了经测试发现的软件使用问题，但并未提及存在IOS版本不能打开这一显然容易被测试发现的问题；其次，相悦四季公司在二审审理中自述，计算机软件只有在获得计算机软件著作权后才可以在苹果应用商店上架测试。根据公证书记载，涉案APP（IOS版）虽然下载后无法打开，但显示软件更新日期为2018年5月18日，版权由相悦四季公司享有，说明该软件版本已获得计算机软件著作权。此外，相悦四季公司在收到企迪公司交付的软件后，并未向企迪公司及时反馈IOS版本存在何种具体问题。基于上述情况，相悦四季公司以公证书反映IOS系统2.7.3版本软件不能打开为由，主张企迪公司交付成果不合格，本院不予支持。 第二，关于企迪公司是否存在迟延交付的违约行为。本院认为，一方面，涉案合同第二条约定，在APP开发过程各阶段时间点可根据具体情况，双方协商解决；另一方面，在相悦四季公司提出解除合同之前较长时间内，企迪公司客观上已经未能在合同约定的时限内交付开发成果，期间双方还就增加的工作内容协商了相应的对价，并一直保持沟通磋商，在企迪公司交付开发成果时，相悦四季公司予以接收、进行测试，并向企迪公司发送回复函件，其实际默认了合同履行期限的变更。此外，相悦四季公司向企迪公司发送律师函要求解除合同时也未明确以迟延交付作为解除事由。因此，不能认定企迪公司因迟延交付开发成果构成违约。 综上，本院认为，虽然企迪公司交付的软件尚有不完善之处，但已经履行了基本符合合同约定的软件开发任务，并按期予以交付。原审判决认定企迪公司的履行不符合合同约定确有不当，本院不予认可。 （二）涉案合同是否应当解除以及如果合同解除，合同解除的后果 相悦四季公司主张，企迪公司在合同履行的过程中存在迟延交付的违约行为，交付的涉案软件不符合合同约定，并经书面形式通知后仍然未予更正，故其有权依据涉案合同第十三条的约定行使约定解除权。如前所述，企迪公司的履行不构成相悦四季公司主张的违约行为，相悦四季公司行使约定解除权的条件不成就，本院对其上述主张不予支持。但，鉴于相悦四季公司作为委托方要求解除合同，并考虑到涉案合同成立生效至今历经两年有余，涉案软件作为一款在线购物APP产品，从电商行业的发展速度、态势等客观因素，合同目的已难以实现，因此，结合本案的实际情况，本院确认涉案合同于本判决生效之日起解除。 关于合同解除的后果，根据《中华人民共和国合同法》第九十七条规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。本案中，首先，涉案合同第一阶段、第二阶段已实际履行完毕，按照合同约定，企迪公司基本完成APP软件的开发工作并交付了基本符合合同约定的软件，其获得相悦四季公司支付的80000元合同款项的条件已经成就。其次，鉴于合同第三阶段尚未履行完毕，涉案软件尚存在不完善之处，综合评价企迪公司所付出的劳动、交付成果的质量、双方合同履行的进度等情况，本院酌定企迪公司的劳务与其已获得的80000元对价基本相当，故判令企迪公司无需返还80000元合同价款，相悦四季公司也无需支付20000万元合同尾款。此外，鉴于企迪公司已经按照合同约定基本完成了开发义务并交付成果，原审判决判定企迪公司承担违约责任，向相悦四季公司支付赔偿款6738元不当，故对该判项予以撤销。企迪公司主张相悦四季公司支付其额外增加的工作费用以及因延期付款而应承担的违约金，但企迪公司并未提交证据证明双方已就增加的工作量商定了相悦四季公司应额外支付的金额，且在前述酌定企迪公司获得80000元合同价款时已予以一并考虑，故对其相关上诉请求不予支持。 综上所述，企迪公司的上诉理由部分成立，对其上诉请求，本院予以部分支持。依照《中华人民共和国合同法》第九十四条第一款第四项、第九十六条第一款、第九十七条，《中华人民共和国民事诉讼法》第一百七十条第一款第二项规定，判决如下： 一、撤销北京知识产权法院（2018）京73民初703号民事判决； 二、相悦四季（北京）商贸有限公司与北京企迪信息技术有限公司签订的编号为bj-2017102701的《项目合作文件》于本判决生效之日起解除； 三、驳回相悦四季（北京）商贸有限公司的全部本诉诉讼请求； 四、驳回北京企迪信息技术有限公司的全部反诉诉讼请求。 本诉案件受理费3615元，由相悦四季（北京）商贸有限公司负担；反诉案件受理费2050元，由北京企迪信息技术有限公司负担。二审案件受理费3834元，由相悦四季（北京）商贸有限公司负担2684元、北京企迪信息技术有限公司负担1150元。 本判决为终审判决。           审 判 长  焦彦   审 判 员  佘朝阳   审 判 员  魏磊         二○一九年十二月十九日     法官助理  刘  乐   技术调查官  薛梅   书 记 员  韩丰               裁判要点                            案  号                       （2019）最高法知民终335号                               案  由                       计算机软件开发合同纠纷                               合 议 庭                       审判长：焦彦             审判员：佘朝阳、魏磊                                                     法官助理：刘乐                       书记员：韩丰                               裁判日期                       2019年12月19日                               关 键 词                       计算机软件开发；合同；违约；合同解除                               当 事 人                       上诉人（原审被告、反诉原告）：北京企迪信息技术有限公司；             被上诉人（原审原告、反诉被告）：相悦四季（北京）商贸有限公司。                               裁判结果                       一、撤销北京知识产权法院（2018）京73民初703号民事判决；二、驳回相悦四季（北京）商贸有限公司的全部本诉诉讼请求；三、驳回北京企迪信息技术有限公司的全部反诉诉讼请求；四、相悦四季（北京）商贸有限公司与北京企迪信息技术有限公司签订的编号为bj-2017102701的《项目合作文件》于本判决生效之日起解除。             原判主文：一、相悦四季（北京）商贸有限公司与北京企迪信息技术有限公司签订的编号为bj-2017102701的《项目合作文件》于2018年5月31日解除；二、北京企迪信息技术有限公司向相悦四季（北京）商贸有限公司返还合同款80000元；三、北京企迪信息技术有限公司向相悦四季（北京）商贸有限公司支付赔偿款6738元；四、驳回相悦四季（北京）商贸有限公司的其他诉讼请求；五、驳回北京企迪信息技术有限公司的全部反诉诉讼请求。                               涉案法条                       《中华人民共和国合同法》第九十四条第一款第四项、第九十六条第一款、第九十七条                               法律问题                       软件开发方是否构成违约的判断                               裁判观点                       在软件开发过程中，开发方需要不断完善、修正软件运行中发现的功能缺陷，甚至在软件正式运行后也要不断进行维护更新，要求开发方在交付时即确保软件运行完美无瑕，不符合软件开发项目的客观规律，是对开发方的过分苛责。同时，软件开发项目自软件交付至最终验收合格通常需要给予开发方一定时限进行修改完善，这也是基于善意履行、共同实现合同目的的需要。                               注：本摘要并非判决书之组成部分，不具有法律效力。