中华人民共和国最高人民法院民 事 判 决 书（2021）最高法知民终855号上诉人（原审原告、反诉被告）：首州汽车租赁（佛山）有限公司。住所地：广东省佛山市禅城区工业路2号内自编4号第六层610室。法定代表人：谢彬南，该公司执行董事。被上诉人（原审被告、反诉原告）：广州德菁信息科技有限公司。住所地：广东省广州市番禺区东环街番禺大道北555号天安总部中心2号楼202房之八。法定代表人：郭淳熙，该公司总经理。委托诉讼代理人：黄浩，广东创杰律师事务所律师。上诉人首州汽车租赁（佛山）有限公司（以下简称首州公司）与被上诉人广州德菁信息科技有限公司（以下简称德菁公司）计算机软件开发合同纠纷一案，不服广州知识产权法院于2021年2月9日作出的（2020）粤73知民初451号民事判决，向本院提起上诉。本院于2021年4月26日立案后，依法组成合议庭，并于2021年6月16日询问当事人。上诉人首州公司的法定代表人谢彬南，被上诉人德菁公司的委托诉讼代理人黄浩到庭参加询问。本案现已审理终结。首州公司上诉请求：撤销原审判决，改判支持首州公司一审的全部诉讼请求；一审诉讼费、二审上诉费由德菁公司承担。事实和理由：（一）原审判决认定的首州公司与德菁公司双方签订的1.0版本与德菁公司所说的2.0版本不一致，首州公司与德菁公司双方约定的2.0版本软件实际为合同约定的1.0版本，原审法院基于涉案合同约定的1.0版本来评判德菁公司是否已经完成软件开发错误。（二）原审判决认定德菁公司通过邮件方式发送源代码并通知验收即完成了软件交付错误。德菁公司辩称：（一）合同签订后德菁公司开始履行合同义务时，首州公司提出很多合同未约定的功能，导致在合同履行过程中德菁公司需要对涉案软件功能进行修改。德菁公司已经按照合同约定完成了相关功能的开发，后续增加的功能不符合合同约定，故形成2.0版本。原审判决已经对1.0版本的程序进行查验。（二）2019年5月31日德菁公司已经向首州公司发送了验收文档，根据合同约定，在首州公司收到验收申请后应当出具验收意见，德菁公司已经完成合同义务。请求驳回上诉，维持原判。首州公司向原审法院提起诉讼，原审法院于2020年4月17日受理。首州公司起诉请求：1.解除《租车小程序》合同，德菁公司返还首州公司已经支付的开发款15000元；2.德菁公司赔偿首州公司损失50000元；3.德菁公司承担本案诉讼费。事实和理由：首州公司与德菁公司于2017年12月28日签订《租车小程序》合同，合同总开发金额25000元，工期65天（从2018年1月2日到2018年3月15日开发完毕），付款方式分ABCD共4个阶段：A：合同预付款，支付合同总金额的30%即7500元；B：UI设计完成，支付合同总金额的30%即7500元；C：开发完成，支付合同总金额的30%即7500元；D：上架付款：系统上架完成3个工作日内，支付合同总金额的10%即2500元。首州公司通过支付宝方式向德菁公司法定代表人郭淳熙支付了A、B两阶段的费用共15000元。德菁公司于2018年4月24日上午10：43分才把UI设计图文档发送给首州公司。按合同约定德菁公司已经违约，首州公司考虑到委托开发项目软件的重要性，给予德菁公司时间继续进行开发。首州公司曾在微信中多次催促德菁公司软件尽快上线，但德菁公司以各种理由推托，涉案项目软件仍未能上线。首州公司从2018年4月27日下午5：34分起催促德菁公司至2020年4月15日发送起诉告知书，德菁公司整整拖了2年未完成开发上线。首州公司委托德菁公司开发的《租车小程序》商业模式是共享类型汽车出租，缺少核心软件无法经营，由于德菁公司的故意违约致使合同开发目的不能实现并给首州公司造成极大经济损失。一审中，首州公司撤回其第2项诉讼请求。德菁公司辩称：首州公司提出的诉讼请求没有事实依据，也不符合合同约定。德菁公司自签订合同后，一直积极履行合同，并于2018年1月17日完成UI设计，首州公司确认UI设计后向德菁公司支付了第二阶段费用7500元。德菁公司于2018年2月13日开始小程序端的系统搭建，并于2018年3月15日邀请首州公司进行测试上架。2018年3月21日，首州公司到德菁公司处测试小程序后，不但拒绝验收，而且多次提出了增加多项超过合同约定的项目内容，并以德菁公司修改不符合要求为由拒绝验收及支付尾款。德菁公司已按照合同约定内容完成软件开发并测试符合上线要求，首州公司未支付开发费用，且不断提出增加项目内容，导致德菁公司额外支付了人工费用等费用。首州公司的行为已构成违约，根据合同约定，首州公司除了须支付尚欠的开发费用外，还应向德菁公司支付违约损失。德菁公司向原审法院提出反诉请求：1.首州公司向德菁公司支付开发费用10000元；2.首州公司向德菁公司支付违约损失25000元；3.首州公司承担本案诉讼费用。事实和理由：与本诉答辩意见一致。首州公司就反诉辩称：德菁公司的反诉请求没有法律依据，答辩意见与本诉起诉意见一致。原审法院审理查明：（一）涉案合同的签订情况2017年12月28日，佛山市轩熙商贸有限公司（首州公司的原企业名称，以下统称为首州公司、委托方、甲方）与德菁公司（受托方、乙方）签订了《软件产品委托开发合同》（以下简称涉案合同），约定首州公司委托德菁公司开发“租车小程序”项目，合同约定的主要内容为：第一条项目内容及开发计划。1.开发计划：软件预计开发周期为65天，从2018年1月2日至2018年3月15日。A.需求分析阶段：从2018年1月2日到2018年1月8日；B.系统设计阶段：从2018年1月8日到2018年1月30日；C.系统开发阶段：从2018年1月8日到2018年2月28日；D.系统测试阶段：从2018年2月28日到2018年3月5日；E.系统验收阶段：从2018年3月5日到2018年3月15日；若因甲方原因耽误延迟（包括不限于签订合同时间、付款时间、确认需求时间、需求变动等），则项目周期需要按耽误工时延期。第二条乙方在开发过程中的责任。4.在合同履行过程中，如因乙方单方面原因造成无法按双方约定的计划进行开发及交付开发成果的，乙方应以书面形式及时将延误时间、理由及后续工作计划通知甲方。甲方在收到上述书面通知后3个工作日内，应书面回复乙方是否同意延期；如甲方未予书面回复的，视为甲方同意乙方延期及后续工作计划。5.开发完成验收合格后，乙方需向甲方交付关于本软件的全部源代码（包括各个版本的代码），且乙方保证所提供的全部源代码与系统当前正在运行的前后台程序是同一版本，利用所提供的源代码及相关资源可以直接编译生成当前系统的应用程序部分。在软件交付使用时向甲方提交的软件产品包括含有软件全部源代码的载体（光盘或磁盘）和相应文档。软件载体中包括可安装的程序运行文件、加密模式及解密方式、软件的全部源代码文件以及相关文档。第三条甲方在开发过程中的责任。1.参与整个项目全过程，协助配合乙方做好需求调研、方案设计等工作，对各项业务的需求报告及时确认，组织相关部门参加各阶段验收工作。甲方与乙方共同对项目实施结果进行验收，出具验收结论性报告。第四条甲方应按以下方式支付开发经费和报酬。1.本合同开发经费和报酬不含税总计为人民币25000元。2.开发经费和报酬由甲方按下列方式支付给乙方。分期付款，具体付款方式为：A.合同预付款：合同签订后的3个工作日内支付合同总金额的30%，即7500元；B.UI设计完成：UI验收后的3个工作日内，支付合同总金额的30%，即7500元；C.系统开发完成3个工作日内，支付合同总金额的30%，即7500元；D.系统上架完成3个工作日内，支付合同总金额的10%，即2500元。第六条双方确定按以下标准及方法对乙方完成的开发成果进行验收。1.由甲乙双方根据合同内容、需求分析、技术协议及双方均认可的其他文件载明的内容，共同确定验收标准，双方及实际使用人根据上述标准共同完成验收。2.甲乙双方按验收标准完成准备后，由乙方向甲方以电子邮件方式或书面方式提出验收申请报告。甲方应在收到乙方验收申请报告3个工作日内提出验收意见（逾期未提出验收意见，则视为验收合格），直至达到验收标准。第七条技术支持及项目培训。1.技术服务和指导内容：自项目验收之日起乙方提供为期12个月的免费技术服务，免费服务期满，如需乙方继续提供服务，双方需另签服务合同。2.双方确定，乙方应在向甲方交付研究开发成果后，根据甲方的请求，为甲方指定的人员提供技术指导和培训，或提供该项目开发成果相关的技术服务。第九条双方确定出现下列情形致使本合同的履行成为不必要或不可能的，本合同可以解除：4.如果系统设计或开发存在严重缺陷，导致整个系统无法运行或不能达到甲方的使用目的，甲方保留追回所有投入费用的权利，并要求乙方向甲方支付合同总金额的5%作为违约金；如果设计或开发缺陷导致部分功能不能正常运行，乙方要在甲方要求的时间内解决问题，如果问题不能按期解决，导致甲方仍然不能正常使用，乙方必须协助解决系统问题。第十条违约责任。如因甲方单方面原因导致合同解除的，乙方有权不退还甲方已支付款项。第十五条附件二为网站开发需求（开发主要内容），为合同组成部分。首州公司在合同尾部的“甲方”处加盖公章，德菁公司在合同尾部的“乙方”处加盖公章。（二）附件二《网站需求》情况主要包含以下内容：1.关于“功能描述”的主要约定3.1项目整体开发范围。小程序前端，主要包括6大模块：1.注册界面；2.首页界面；3.发布汽车租赁服务；4.租车详情；5.订单流程；6.我的个人中心（个人信息、资格验证、我的钱包、我的发布、消息通知、设置）。后台功能，主要包括9大模块：1.用户管理；2.车源发布管理；3.提现管理；4.订单管理；5.权限管理；6.收入统计；7.短信通知；8.支付接入；9.导航接入。3.2前端功能明细表。包括：1.注册、登录，均使用微信第三方登陆并绑定手机号码；2.首页，包括搜索、GPS定位、附近车源、车辆发布、立即发布、租车详情、客服、订单流程；3.个人中心，包括个人资料、资格验证、我的钱包、我的发布、消息通知、设置。3.3后台功能明细表。包括用户管理、车源发布管理、提现管理、权限管理、收入统计、短信通知（短信接口）、导航接入（高德地图）。4.1用户租车页面，功能：租车，说明：通过手机轻松找到租车地点、车型，附有一张页面截图。4.2用户个人中心页面，功能：个人中心，说明：个人中心、资料修改、订单查询，附有一张页面截图。4.3加盟商页面，功能：加盟商页面，说明：后台发布、店铺管理，附有一张页面截图。4.4车型页面，功能：车型选择，说明：车型选择，附有一张页面截图。2.关于“工作描述”的主要约定5.1项目里程碑。1.需求确定，德菁公司项目小组确认需求，工时为5天；2.移动端UI，由德菁公司负责，先出1、2级菜单界面，工时为15天；3.小程序端，由德菁公司负责完成1.0内测版，工时为30天；4.WEB管理后台，由德菁公司负责完成1.0内测版，工时为15天；5.客户确认日期，系统1.0内测版，工时为10天。（三）涉案合同的履行情况德菁公司在庭审中确认收到首州公司支付的合同款项15000元。首州公司、德菁公司双方均提交了微信聊天记录截图，主要记载了双方在涉案软件开发过程中的沟通，包括首州公司法定代表人谢彬南与德菁公司法定代表人郭淳熙的对话、“租车小程序”微信群的聊天记录，双方对微信聊天记录的真实性及人员身份均无异议，原审法院摘录部分聊天记录并结合双方提交的证据，认定如下事实：1.关于UI确认的情况2018年1月18日15时32分，郭淳熙在“租车小程序”微信群中发送了一组截图并说“这个风格有没问题”，谢彬南回复“这个没有问题，你们团队的设计非常OK，就差后台数据分流问题。现在前端设计已经完成”。2.关于新增需求的情况2018年1月18日17时57分，谢彬南在“租车小程序”微信群中说“郭兄，租车度（处）加入不计免赔。保障点好，一年到头出车，事故报保险多了车主不愿意”。2018年1月20日，谢彬南在“租车小程序”微信群中说“可以接入芝麻分吗？招商计划书需要软件功能”。2018年1月22日，郭淳熙对谢彬南说“芝麻认证接入不了”，谢彬南说“试试，用户租车那里缴纳1千元押金租车，冻结在微信看看行不行”“那个押金能不能加一个期限”“退还押金申请有没有自动审核的功能？到时候用户数量多了，手工审核比较麻烦，工作量大”，郭淳熙回复“我要问下技术才能回复你，现在已经在做前端，后台也差不多了，同时也在做了”。2018年1月26日，谢彬南对郭淳熙说“我们这个小程序能不能加一个端口，让一些油站注册，做一个难不难，要不要加钱？”“好像滴滴一样，增加车生活页面，比如加油站，放一些产品例如燃油宝或机油，在这页面发布，后台结算，是不是这样？”郭淳熙回复“是的，这样就等于加一个商城上去了。”谢彬南说“我明后天去谈一下，那这个版块预留，到时什么时候谈好什么时候上线都可以的吗？”郭淳熙回复“这个不急，1.0版本先推出，到时下个版本功能再出也可以。”“可以啊，加些时间”。2018年1月31日，谢彬南对郭淳熙说“加油站板块研究得怎样了”，郭淳熙回复“可以加上去，要重新设计一下，评估时间中”。2018年3月5日，郭淳熙对谢彬南说“那个多商家商城加上去要加20天工作日，1万左右费用”，谢彬南回复“最便宜了吗”“我的版本1.0好像差很多，如何升级呢”，郭淳熙说“这周把1.0出来。你测试看要加什么”，谢彬南回复“好，出左来（出来）再升级2.0加入去了”。2018年4月9日，郭淳熙对谢彬南说“明天我发些图片让你再确定一下。因为跟之前需求有点出入。我们又修改了一个。”“明天发你微信上。”谢彬南发送了一张图片并说“郭先生，这个是后端新功能需求，优惠券返利系统统一抵扣各项费用后再返还。同时增加自动统计车主单数达额度后归类，一键分配利润给车主，还有优惠券派送功能”。3.关于软件开发进度的情况2018年1月31日，郭淳熙对谢彬南说“前端这周给你看，后台也同步在做”。2018年2月28日，郭淳熙对谢彬南说“这几天我们上传微信测试1.0版本。等下要你验证下”。2018年3月16日，郭淳熙对谢彬南说“前端下星期一给你对下，后台星期一对接，有时间可以过来指点下”。2018年4月17日，谢彬南对郭淳熙说“软件目前是什么情况”，郭淳熙回复“在做前端和设计图了”，谢彬南说“估计要多久上线”，郭淳熙回复“5月上线”。2018年4月20日，郭淳熙向谢彬南发送了一份《20180420酷租车项目进度表_德菁.xlsx》文件并说“晚点或早上发重新的设计图”。2018年4月24日，郭淳熙向谢彬南发送了一份《租车.rar》文件并说“你有空看一下页面，我们安排做前端”。双方当事人确认该文档为2.0版本的UI设计。2018年5月2日，谢彬南说“郭兄租车小程序尽量帮帮我加快少少，我怕撑不到，每个月支出过大”，郭淳熙回复“这个月会加快了，之前的推倒，现在开始重做前端”。2018年7月28日，谢彬南向郭淳熙发送了两张照片，其中一张是卡户许可证。2018年8月6日，郭淳熙向谢彬南发送了一张照片并说“后台还要显示什么。后台在做。这个月内一定要上线”。2019年2月27日，郭淳熙对谢彬南说“还没对接支付接口。后台前端都可以使用”。4.关于软件交付及测试的情况2018年3月20日，谢彬南说“我现在在东莞，晚点会过去你们公司验收一下软件功能”，郭淳熙表示“我可以直接把软件测试版发给你看看，或者你有空过来再谈”，谢彬南对郭淳熙说“要不我明天早上再过去你们公司验收吧。那我明天早上去银行办理完业务后，尽快过去你公司验收”。2018年3月21日16时32分，谢彬南表示“现在过去，你有空吗？”郭淳熙表示“可以”，谢彬南当天18时27分问“到几楼”，郭淳熙发送了地址“总部中心2号楼202”。首州公司在庭审中也确认在2018年4月7日前德菁公司向其交付了涉案软件的体验版。2018年5月29日，郭淳熙向谢彬南发送了一张二维码截图，二维码备注“德菁科技测试号2体验版”。德菁公司主张该二维码所载的是涉案软件2.0版本，首州公司提交了演示该软件部分功能的录屏光盘。首州公司确认本案软件开发应当以涉案合同约定的开发内容为准，微信聊天记录中提出的超出合同约定的功能只是探讨性质。德菁公司认为在德菁公司向首州公司交付1.0版本的软件后，首州公司提出新的需求，德菁公司为此交付了2.0版本的软件，2.0版本的前端和后台均与涉案合同约定的内容不一致。2019年4月29日，郭淳熙发送了“http://zuche.dejingtech.com/admin/index.php?act=login&op=login”“admin123456”并说“你看下后台要加什么，我叫她们对接下支付”。2019年5月31日，郭淳熙对谢彬南说“我们已经找到了之前版本，可以用，对接回来。你上去先看一下。完全可以用的。只是没有用你们的支付接口。因为你们申请没有通过。你看能不能让你股东看一下。发你邮件了。”“我们公司提出验收！”2019年5月31日，郭淳熙通过邮箱向谢彬南发送主题为“首州租车项目”的邮件，邮件内容为“现在首州租车项目，已经完成测试，请查看文档内库回复。项目需求基本完成，请查验验收。如3天内未提出异议，默认同意验收”，邮件有3个附件，均为压缩包。德菁公司认为该邮件发送的是涉案软件1.0版本，附件为涉案软件源代码、后台的账号密码。首州公司认为该软件是德菁公司在本案提起诉讼后修改过的版本。5.关于涉案软件的勘验情况德菁公司为证明其完成了涉案软件1.0及2.0版本的开发并交付给首州公司，向原审法院提交了一张光碟（展示涉案软件1.0及2.0版本的视频），德菁公司主张1.0版本是2019年5月31日通过邮箱发送给首州公司的软件，2.0版本是2018年5月29日通过微信将二维码发送给首州公司的软件。原审法院组织双方对涉案软件进行勘验，其中，1.0版本的现场勘验画面与德菁公司提交的光碟内容一致；2.0版本的二维码已无法打开，德菁公司确认该版本内容与首州公司提交的涉案软件2.0版本演示界面内容一致。勘验结果为：涉案软件1.0版本的前端，小程序名称显示为“德菁内部测试”，进入小程序后，首页顶部有海报介绍，中部有“上门接送”“到店取还”“套餐”“优惠券”“签到积分”“限时活动”“车型推荐”“二手车推荐”及车型图片、价格等，底部有“我的”“附近”“订单”“我的”。分别查看上述模块，经与涉案合同约定的模块比对，涉案软件1.0版本首页中无“车辆发布”“立即发布”“客服”，个人中心中无“资格验证”“我的钱包”“消息通知”；部分功能分散设置在不同模块中。打开涉案软件1.0版本的后台，左上角显示“酷租车”，左侧栏目显示有“平台数据”“车辆管理”“二手车管理”“门店管理”“订单管理”“活动管理”“套餐管理”“营销设置”“用户管理”“帮助反馈”“系统设置”。分别查看上述栏目，经与涉案合同约定的模块比对，涉案软件1.0版本无“提现管理”“收入统计”“支付接入”，权限管理设置在“用户管理”模块中，导航接入使用的是腾讯地图key，短信配置内容为“是否开启短信配置”。涉案软件2.0版本，界面及功能模块设置与涉案合同约定的不一致。（四）其他事实2019年11月4日，谢彬南在微信中向郭淳熙发送了一份《关于广州德菁信息科技有限公……知书.pdf》文件，郭淳熙回复说“我们测试版本都给你了”，上述文件是《关于广州德菁信息科技有限公司未完成开发起诉通知书》。首州公司在庭审中明确要求解除合同，德菁公司认为涉案合同已经履行完毕，不存在解除情形。原审法院认为：本案属于计算机软件开发合同纠纷。涉案合同是双方当事人真实的意思表示，未违反法律和行政法规的禁止性规定，属有效合同，双方均应按照约定履行合同义务和享有权利。根据双方当事人诉辩意见，本案争议焦点如下：（一）关于双方当事人是否已按照合同约定履行其合同义务根据《中华人民共和国合同法》（以下简称合同法）第六十条的规定，当事人应当按照约定全面履行自己的义务。即双方当事人均应当按照合同约定的标的、质量、数量、履行期限、履行方式等内容完成自己应尽的合同义务。根据双方提交的证据及庭审陈述，原审法院对双方当事人是否按照合同约定履行其合同义务的情况，分析如下：1.关于首州公司的履行情况首州公司主张其已向德菁公司支付了合同款项15000元，虽未提交相关支付凭证，但德菁公司在原审庭审中确认其已收到首州公司支付的15000元，由此可以认定首州公司已按照合同约定履行了第一期、第二期款项的付款义务。2.关于德菁公司的履行情况德菁公司主张其已按合同约定完成软件开发义务并已将涉案软件交付给首州公司。涉案合同对软件的功能进行了具体的约定，根据双方当事人在合同履行期间的微信聊天记录可见，本案德菁公司开发的软件包括1.0版本和2.0版本两个不同版本的软件，由于没有证据证明双方之间就软件开发的内容、开发的时间等形成新的合意并以新的合意替代原合同的约定，故德菁公司交付的软件应当以合同约定的功能为准。双方当事人确认2.0版本的软件与合同约定的功能不一致，经原审庭审勘验，该2.0版本的软件的界面及功能模块设置也与合同约定不一致，故本案应当审查德菁公司是否交付了1.0版本的软件以及1.0版本的软件交付是否符合合同约定。关于德菁公司是否向首州公司交付了1.0版本的软件问题，根据双方当事人提交的微信聊天记录，德菁公司于2018年3月16日通知首州公司验收软件，2018年3月21日首州公司到德菁公司处对涉案软件进行验收，验收的软件版本为1.0，首州公司并未在合同约定的期限内提出异议。此后，首州公司提出新增功能需求，德菁公司开始研发2.0版本。后德菁公司于2019年5月31日通过邮件方式向首州公司交付了涉案软件1.0版本的源代码和后台账号密码。根据上述事实，足以认定德菁公司已经向首州公司交付了1.0版本的软件。关于德菁公司交付的软件是否符合合同约定问题，根据原审庭审勘验结果，虽然德菁公司已经完成了涉案软件的前端和后台的开发工作，但是根据勘验结果可知，德菁公司交付的1.0版本软件的前端和后台均存在不同程度的功能缺陷或质量问题，作为租车类软件，前端无“车辆发布”“立即发布”“客服”，个人中心中无“资格验证”“我的钱包”“消息通知”，部分功能分散设置在不同模块中；后台无“提现管理”“收入统计”“支付接入”。上述功能模块的缺失，严重影响软件的使用，且无法实现软件的使用目的。原审法院认定德菁公司交付给首州公司的涉案软件不符合合同约定。关于德菁公司是否按照合同约定的时间交付软件问题。首先，涉案合同明确约定了涉案软件开发的各阶段完成时间要求，其中关于软件测试的时间要求为“从2018年2月28日到2018年3月5日”，关于软件验收的时间要求为“从2018年3月5日到2018年3月15日”，首州公司在确定UI设计后提出功能新增或修改需求，德菁公司曾提出增加工时的要求，故应当给予德菁公司一定合理期限处理。德菁公司于2018年3月20日表示可以将涉案软件测试版发给首州公司进行验收，首州公司于2018年3月21日去到德菁公司的公司进行现场验收，该验收行为应当是测试验收，并非最终验收。涉案合同约定交付的方式为“软件全部源代码的载体（光盘或磁盘）和相应文档，软件载体中包括可安装的程序运行文件、加密模式及解密方式、软件的全部源代码文件以及相关文档”，德菁公司于2019年5月31日通过邮件发送的软件源代码和后台管理账号密码，德菁公司主张此次交付为涉案软件的最终交付。从德菁公司的履行时间看，即使扣除合理期限，德菁公司交付涉案软件的期限已严重逾期。综上，德菁公司存在迟延交付涉案软件的行为，原审法院认为德菁公司在履行合同期限上构成违约。综上所述，原审法院认为，德菁公司在交付内容与履行期限上均构成违约。3.关于首州公司对德菁公司没有按照合同约定交付软件的行为是否存在过错问题。原审法院认为，首州公司于2018年3月21日在德菁公司对1.0版本的软件进行现场验收后，并未在合同约定的期限内提出异议，随即要求德菁公司开发2.0版本的软件，导致德菁公司无法在合理期限内对涉案软件进行修改和交付，对德菁公司没有按照合同约定交付软件亦存在一定过错，应承担相应法律责任。（二）关于涉案合同是否符合解除条件根据合同法第九十四条第一款第二项的规定，在履行期限届满之前，当事人一方明确表示或者以自己的行为表明不履行主要债务的，当事人可以解除合同。首州公司向原审法院提起诉讼要求解除合同，符合解除合同的条件，原审法院予以支持。（三）关于双方的各项诉请是否应当得到支持根据合同法第九十七条的规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。首州公司以德菁公司交付的软件不符合合同约定为由要求德菁公司退还合同款项15000元，根据前述分析，德菁公司已完成部分的软件开发工作并提交验收，虽其交付的软件不完全符合合同约定，但首州公司对德菁公司没有在合理的期限内交付符合合同约定的软件负有过错，对于德菁公司所完成的工作首州公司仍应当支付相应的开发款。因此，首州公司诉请德菁公司退还15000元合同款项的依据不足，原审法院不予支持。德菁公司未按照涉案合同约定向首州公司交付合格的软件，其行为已构成违约，其认为其交付的软件符合合同约定，请求首州公司支付剩余的款项并赔偿损失的反诉请求缺乏事实和法律依据，原审法院不予支持。综上所述，首州公司要求解除合同的诉讼请求，依法有据，原审法院予以支持；其他的诉讼请求缺乏事实和法律依据，原审法院不予支持。德菁公司的反诉请求依据不足，原审法院不予支持。原审法院依照《中华人民共和国合同法》第六十条、第九十四条第一款第二项、第九十七条，《中华人民共和国民事诉讼法》第六十四条第一款、第一百四十二条，《最高人民法院关于适用的解释》第九十条之规定，判决：一、解除首州公司与德菁公司签订的《软件产品委托开发合同》；二、驳回首州公司的其他诉讼请求；三、驳回德菁公司的全部反诉请求。案件本诉受理费175元，由首州公司负担；反诉受理费675元，由德菁公司负担。原审法院认定的事实属实，本院予以确认。二审期间，首州公司提交了以下证据：2018年5月20日至2019年4月19日德菁公司技术负责人（微信名：德菁科技_伍生）与首州公司法定代表人谢彬南的微信聊天记录。拟证明德菁公司所说的2.0版本就是涉案合同约定的1.0版本以及德菁公司未完成开发车主端以及后台，属于严重违约。德菁公司的质证意见为：针对该证据的真实性、合法性予以认可，不认可关联性及其相应的证明目的，该组证据不能证明德菁公司未按照合同约定完成软件开发任务，反而可以证明首州公司在软件开发过程中一再变更诉求提出新的需求，德菁公司一直在按照合同约定及首州公司提出的需求进行开发。本院的认证意见为：认可该证据的真实性、合法性，关于该证据的关联性以及是否能够达到其证明目的，将结合全案事实在说理部分予以综合认定。本院另查明：（一）关于涉案合同的约定涉案合同第九条约定，双方确定出现下列情形致使本合同的履行成为不必要或不可能的，本合同可以解除：“3.因对方违约使合同不能继续履行或没有必要继续履行”。（二）关于项目履行情况首州公司法定代表人谢彬南与德菁公司法定代表人郭淳熙的微信对话记录载明：2018年3月16日，郭淳熙对谢彬南说“前端下星期一给你对下，后台星期一对接，有时间可以过来指点下”。2018年3月17日，谢彬南对郭淳熙说“好的”。2018年3月20日下午，谢彬南对郭淳熙说“郭先生，好的，我现在在东莞，晚点会过去你们公司验收一下软件功能”；郭淳熙对谢彬南说“好的”。2018年3月20日晚，谢彬南对郭淳熙说“要不明天早上我再过去你们公司验收吧”；郭淳熙对谢彬南说“明天早上可以的。我们早上九点上班，你可以随时过来。”谢彬南对郭淳熙说“那我明天早上去银行办理完业务后，尽快过去你公司验收。”郭淳熙对谢彬南说“好的，要核对一下，验收后我就可以把后台数据交接给你。”谢彬南对郭淳熙说“明天见。”本院认为，本案系计算机软件开发合同纠纷案件。《中华人民共和国民法典》（以下简称民法典）自2021年1月1日起施行，合同法同时废止。根据《最高人民法院关于适用时间效力的若干规定》第一条第二款的规定：“民法典施行前的法律事实引起的民事纠纷案件，适用当时的法律、司法解释的规定，但是法律、司法解释另有规定的除外”。因本案合同订立、履行等相关法律事实均发生于民法典施行前，故本案应适用合同法的相关规定进行审理，但是法律、司法解释另有规定的除外。根据当事人的诉辩意见以及案件事实，本案二审阶段的争议焦点问题为：（一）德菁公司是否应当返还首州公司支付的开发款15000元；（二）德菁公司对1.0版本软件的交付是否符合合同约定；（三）原审判决解除涉案合同是否正确。对此，本院分析如下：（一）关于德菁公司是否应当返还首州公司支付的开发款15000元合同法第七十八条规定：“当事人对合同变更的内容约定不明确的，推定为未变更。”首先，本案中，首州公司上诉主张，原审判决基于涉案合同约定的1.0版本的约定来评判德菁公司是否已经完成软件开发错误。根据双方当事人的微信聊天记录可知，合同履行期间，在涉案合同附件二《网站需求》对软件功能进行约定的基础上，首州公司对软件功能及相应的实现方式提出了新的需求，双方也对此进行了磋商，双方均曾表示“1.0版本先推出”，“再升级2.0（版）”。但是，没有证据表明首州公司与德菁公司就软件开发的主要内容对附件二《网站需求》的规定进行了变更，或者在其之外形成新的合议。另外，原审中，原审法院对涉案软件1.0版本和2.0版本进行勘验，表明2.0版本的软件的界面及功能模块设置与合同约定不一致。因此，本院认为，原审法院根据涉案合同附件二《网站需求》约定的“功能描述”对1.0软件进行比对，以此评判德菁公司是否完成了合同约定软件开发义务，并无不当。其次，根据原审法院查明的事实，首州公司已向德菁公司共计支付合同款项15000元，分别对应涉案合同第四条所约定的“A.合同预付款”7500元、“B.UI设计完成”款项7500元。根据双方当事人的微信聊天记录，2018年1月18日德菁公司向首州公司发送UI设计图，首州公司确认“现在前端设计已经完成”。此后，双方就涉案软件开发继续合作，德菁公司完成1.0版本软件。根据原审法院的勘验结果，1.0版本软件的前端和后台的完成情况与附件二《网站需求》的约定存在不同程度的功能缺陷或质量问题。对此，本院认为，尽管1.0版本软件存在上述功能缺陷和问题，但是，根据涉案合同第一条、第四条对项目开发阶段和开发费用分阶段付款方式的约定，首州公司对于德菁公司所完成的工作仍应当支付相应的开发款。因此，原审判决对首州公司诉请德菁公司返还15000元开发款不予支持，并无不当，本院予以支持。（二）关于德菁公司对1.0版本软件的交付是否符合合同约定合同法第六十条规定：“当事人应当按照约定全面履行自己的义务。当事人应当遵循诚实信用原则，根据合同的性质、目的和交易习惯履行通知、协助、保密等义务。”本案中，涉案合同第六条约定，“2.甲乙双方按验收标准完成准备后，由乙方向甲方以电子邮件方式或书面方式提出验收申请报告。甲方应在收到乙方验收申请报告3个工作日内提出验收意见（逾期未提出验收意见，则视为验收合格），直至达到验收标准。”根据双方当事人提交的微信聊天记录可知，德菁公司于2018年3月16日对首州公司提出验收邀请，首州公司于2018年3月17日作出接受答复，双方于3月20日就验收的具体时间作出进一步约定，2018年3月21日首州公司到德菁公司处对涉案软件进行验收，验收的软件版本为1.0，首州公司在合同约定的期限内未提出异议或验收意见。此后，2018年4月9日开始，首州公司提出新增功能需求，德菁公司开始研发2.0版本。2019年5月31日，德菁公司通过邮件方式向首州公司发送涉案软件1.0版本的源代码和后台账号密码。因此，根据合同约定、软件开发行业的交易惯例和双方的合同履行情况，原审法院认定德菁公司完成了1.0版本软件的交付，并无不当，本院予以支持。（三）关于原审判决解除涉案合同是否正确合同法第九十三条第二款规定：“当事人可以约定一方解除合同的条件。解除合同的条件成就时，解除权人可以解除合同。”合同法第九十六条第一款规定：“当事人一方依照本法第九十三条第二款、第九十四条的规定主张解除合同的，应当通知对方。合同自通知到达对方时解除。对方有异议的，可以请求人民法院或者仲裁机构确认解除合同的效力。”《最高人民法院关于适用时间效力的若干规定》第十条规定：“民法典施行前，当事人一方未通知对方而直接以提起诉讼方式依法主张解除合同的，适用民法典第五百六十五条第二款的规定。”民法典第五百六十五条第二款规定：“当事人一方未通知对方，直接以提起诉讼或者申请仲裁的方式依法主张解除合同，人民法院或者仲裁机构确认该主张的，合同自起诉状副本或者仲裁申请书副本送达对方时解除。”根据本院查明，涉案合同第九条约定“因对方违约使合同不能继续履行或没有必要继续履行”的，合同可以解除。根据该约定，首州公司在德菁公司交付的涉案软件内容不符合合同约定且存在迟延交付的情况下，首州公司可以解除合同。本案中，首州公司未通知德菁公司，直接以提起诉讼的方式主张解除合同，合同自起诉状副本送达德菁公司时解除。本案起诉状副本送达德菁公司的时间为2020年5月30日，故本院依法认定，2020年5月30日为涉案合同解除之日。原审法院判决解除涉案合同并无不当，但适用法律错误，且未明确涉案合同的解除时间，本院予以纠正。综上所述，首州公司的上诉请求不能成立，应予驳回；原审判决适用法律虽有瑕疵，但裁判结果正确的，本院在纠正的基础上予以维持。依照《中华人民共和国民法典》第五百六十五条第二款、《最高人民法院关于适用时间效力的若干规定》第十条、《中华人民共和国合同法》第九十三条第二款、第九十六条第一款、《中华人民共和国民事诉讼法》第一百七十条第一款第一项、《最高人民法院关于适用〈中华人民共和国民事诉讼法〉的解释》第三百三十四条之规定，判决如下：驳回上诉，维持原判。二审案件受理费1425元，由首州汽车租赁（佛山）有限公司负担。本判决为终审判决。审 判 长 原晓爽审 判 员 何 隽审 判 员 薛 淼二〇二一年六月二十八日法官助理 刘清启书 记 员 汪 妮裁判要点案号（2021）最高法知民终855号案由计算机软件开发合同纠纷合议庭审判长：原晓爽审判员：何隽、薛淼法官助理：刘清启书记员：汪妮裁判日期2021年6月28日关键词合同履行；合同变更；合同解除；民法典时间效力当事人上诉人（原审原告、反诉被告）：首州汽车租赁（佛山）有限公司；被上诉人（原审被告、反诉原告）：广州德菁信息科技有限公司。裁判结果驳回上诉，维持原判。原判主文：一、解除原告（反诉被告）首州汽车租赁（佛山）有限公司与被告（反诉原告）广州德菁信息科技有限公司签订的《软件产品委托开发合同》；二、驳回原告（反诉被告）首州汽车租赁（佛山）有限公司的其他诉讼请求；三、驳回被告（反诉原告）广州德菁信息科技有限公司的全部反诉请求。涉案法条《中华人民共和国民法典》第五百六十五条第二款；《最高人民法院关于适用时间效力的若干规定》第十条；《中华人民共和国合同法》第九十三条第二款、第九十六条第一款；《最高人民法院关于适用〈中华人民共和国民事诉讼法〉的解释》第三百三十四条。法律问题合同约定解除的解除时间与民法典时间效力问题裁判观点当事人可以约定一方解除合同的条件。解除合同的条件成就时，解除权人可以解除合同。民法典施行前，当事人一方未通知对方而直接以提起诉讼方式主张解除合同的，人民法院确认该主张的，合同自起诉状副本送达对方时解除。注：本摘要并非判决书之组成部分，不具有法律效力。