广东省广州市中级人民法院民 事 判 决 书（2021）粤01民终4938号上诉人（原审原告）：余智强，男，1990年3月8日出生，汉族，住广东省云浮市新兴县。委托诉讼代理人：罗智仁，广东同福律师事务所律师。委托诉讼代理人：罗立之，广东同福律师事务所实习律师。被上诉人（原审被告）：广州纬润信息科技有限公司，住所地广东省广州市海珠区黄埔村。法定代表人：何智浩，该公司总经理。委托诉讼代理人：蒋健强，男，该公司员工，住广东省广州市增城区。上诉人余智强因与被上诉人广州纬润信息科技有限公司（以下简称纬润公司）承揽合同纠纷一案，不服广东省广州市海珠区人民法院（2020）粤0105民初25093号民事判决，向本院提起上诉。本院于2021年3月4日立案后，根据《全国人民代表大会常务委员会关于授权最高人民法院在部分地区开展民事诉讼程序繁简分流改革试点工作的决定》，依法适用第二审程序，由审判员独任审理，于2021年3月22日公开开庭审理了本案。上诉人余智强委托诉讼代理人罗智仁、被上诉人纬润公司委托诉讼代理人蒋健强到庭参加诉讼。本案现已审理终结。余智强上诉请求：1．撤销一审判决，改判支持余智强所有诉讼请求；2．二审受理费由纬润公司承担。事实和理由：（一）一审错误认定案涉小程序已通过验收。案涉合同约定内容为“项目验收后7个工作日内完成上线”，但上线不等同于验收。首先，小程序在线下测试时，仅能检验其是否具有应有的功能，但不能判断小程序功能在线上仍可正常运行。其次，按照常理，余智强不可能在未确认其委托开发的小程序功能是否可在线上正常使用的情况下便同意验收。2018年10月8日小程序上线测试后，余智强一直向纬润公司反映小程序不能正常运行，功能在线上无法实现。可见，纬润公司交付仅确认线下测试版具有所需的基本功能，但并未确认案涉小程序能正常线上运行，更未明确表示已验收。再者，2020年7月6日第一次上线测试的源代码无法正常使用，恰好证明小程序上线时不符合验收条件。因此，2018年10月8日余智强表达的“可以安排上线”的实际意思为“可以安排上线测试”而非“已验收，可以安排上线”。（二）一审法院认为纬润公司迟延发送小程序源代码不会导致余智强无法实现合同目的，属于认定事实错误。余智强订立合同的目的不仅是获得小程序，而是能在网上供众多学员同时正常使用的小程序。纬润公司无法提供可正常使用的小程序源码，是余智强合同目的无法实现的根本原因。若小程序可有效运行，以原有的源代码就应当可以重新生成正常运行的小程序，但实际上，纬润公司也承认其后来交付的“原码”无法正常使用，即说明源代码具有重大质量问题。（三）根据合同法第二百五十一条规定，案涉合同属于承揽合同而非委托合同。现纬润公司并无提交小程序必要的技术资料和有关质量证明供余智强检验，无法提供符合质量要求且能正常使用的小程序，余智强有权要求纬润公司修理、重作。但现纬润公司拒绝修理、重作，导致余智强合同目的无实现的可能。退一步讲，余智强支付了全额的开发费用，但最终一无所获，若机械引用合同条款，驳回余智强所有诉讼请求，显然未考虑到余智强订立合同之目的以及小程序的特殊性，有违实质公平。（四）余智强在微信中多次追问2020年7月6日的源代码是什么时候的，但纬润公司未有明确答复，可见双方并未确认纬润公司在2020年7月6日发送的源代码就是最初“上线”时的源代码。而且纬润公司也承认该源代码存在问题，双方经多次沟通，纬润公司让余智强另出资找案外人合作修复。况且，纬润公司也未提交证据证实其发送给余智强的源代码就是最初上线的版本。（五）小程序上线、迁移至新服务器的行为不足以让余智强实现合同目的。小程序界面只是代码运行的表现形式而非代码本身，余智强通过合同所要获取的实质是符合需求的源代码，纬润公司有义务让余智强实现合同第二条关于作品的使用权、复制权、发行权、著作权、源代码等约定，而提供源代码是实现上述权利的前提。纬润公司虽把账号密码交给余智强，但余智强只是拥有使用权，纬润公司虽将小程序部署到余智强购买的服务器，但在服务器中部署的是经过编译后的运行代码，余智强并未能直接获取源代码。此外，纬润公司并未提交证据证明余智强作为非专业人士可以轻易通过服务器获得源代码。因此，纬润公司的履约程度，并未能让余智强实际得到复制权、发行权、著作权、源代码。（六）公开测试是案涉小程序必经的测试步骤。根据合同法第六十二条规定，本案中，合同并未具体约定测试的流程，应当按照国家标准《计算机软件测试规范（GB/T15532-2008）》的规定验收测试。小程序是为了给客户在线做题练习，必须在微信平台上进行公开测试。2018年10月8日，余智强提到的可以安排上线，具体含义为将小程序上线至微信平台进行验收测试，而非已验收完毕可以正式上线运营。（七）纬润公司主张在2018年10月9日交付了小程序，并自该日起提供一年免费服务。微信记录显示该日期后余智强多次就运行故障提出异议，纬润公司则不断进行修复，修复的成果也属于纬润公司的工作成果，应当妥善保管并交付。然而，纬润公司以未备份为由，未能向余智强交付最后修改版的源代码，致使余智强未能实现合同目的，明显违反了合同法第二百六十五条规定。纬润公司辩称，（一）双方签订《题库合同/协议的补充协议》即余智强已经同意纬润公司按协议所约定的2018年9月4日前完成功能测试，18日前完成全部工作。纬润公司于9月3日前已经完成功能测试版交付，并于18日完成全部工作且注册了名为“爱题”的小程序，发布上线工作。纬润公司已按约定交付项目，2018年10月12日，余智强也同意支付了项目验收费用。（二）余智强提出小程序的流程问题无证据证实，每个产品及公司都有不同的流程方式。（三）关于余智强表示未同意上线并验收。如其不同意验收上线则无理由支付费用，且其也未按照合同约定时间应在15个工作日内提出反馈意见前验收。合同5.2条约定，余智强应在5和工作日内组织验收，超过15个工作日不验收视为验收合格通过。余智强多次未按照合同约定时间反馈意见，至2018年11月16日前均未反馈任何意见，仅在16日提出有小问题需要解决，而纬润公司当天已解决疑问。2018年11月16日至2019年2月18日前，余智强均未提出任何意见。（四）余智强表示小程序或源代码无法正常使用且不认为上线就验收。小程序上线是有严格要求，不符合质量标准是无法通过腾讯的审核。另外，小程序上线后即已正式对外使用，任何用户均可访问。（五）余智强表示纬润公司承认交付的源代码无法正常使用缺乏证据证实，源码需要专业技术人员处理后才能使用，并非直接使用。（六）余智强表示双方为承揽合同关系，但合同第一则已经说明余智强委托纬润公司进行项目开发，且其上诉状也载明“余智强不可能在未确定其委托开发的小程序……”（七）合同9.1条约定，期限届满日自动终止，在届满日2018年11月13日前，双方未有续展本合同期限。（八）余智强已经承认是其未对其阿里云服务器续费，过期导致项目无法使用，损失应由其自行承担。综上，请求驳回余智强上诉请求。余智强向一审法院起诉请求：1．解除双方签订的《小程序开发项目合同》《题库合同/协议的补充协议》；2．纬润公司退还余智强支付的开发费用40000元，并以40000元为基数自2018年9月6日起至2019年8月19日按照银行同期同类人民币贷款利率计算、从2019年8月20日起至实际清偿之日止按照银行间同业拆借中心公布的贷款市场利率计算利息给余智强；3．承担本案诉讼费用。一审法院认定事实：2017年11月13日，余智强（甲方）与纬润公司（乙方）签订《小程序开发项目合同》，约定，合作项目名称题库小程序开发；服务器空间甲方自备；甲方拥有本作品的使用权、复制权、发行权、出租权、著作权及作品源代码；乙方承诺只针对双方确定的需要开发，不增补任何需要以外的功能，如甲方需要改动需求，乙方有权收取额外增加功能费用及要求增加开发时间，双方重新签订补订协议；甲方向乙方支付项目全部费用后，乙方需向甲方提供项目所有资料并且程序上线，包括但不限于设计源稿、开发源码；乙方在交付作品时，对甲方提供相关技术培训及自验收日起一年免费服务，免费维护期过后，甲方如需乙方对该软件继续进行维护，乙方将提供有偿服务；免费维护服务包括修正作品本身的功能缺陷、服务器平台的硬性环境配置、初次数据迁移和数据备份与恢复；本合同金额总计25000元整；合同签订之日，甲方需向乙方账号支付12500元整作为启动定金；项目测试通过后，甲方向乙方账号支付12500元整；甲方按照合同规定先行支付定金，乙方收到定金后3个工作日内启动项目，立项后开始起计项目时间；项目测试阶段每个阶段版本为4个工作日，项目验收阶段每个阶段版本验收为3个工作日，项目上线阶段项目验收后7个工作日完成上线；乙方完成软件工作，甲方应在5个工作日内组织验收，甲方超过15个工作日不验收，视为验收合格、通过；本合同有效期为2017年11月13日至2018年11月13日；本合同于约定期限届满日自动终止，除非双方在此之前已签署书面合同续展本合同期限；等。2018年7月3日，余智强（甲方）与纬润公司（乙方）签订《题库合同/协议的补充协议》，约定，增补功能如附件所示；增补开发费用15000元；项目出测试版后，支付原合同12500元，增项费用验收上线前支付；本合同生效后，即成为原协议不可分割的组成部分，与原协议具有同等的法律效力，除本协议中明确所作修改的条款外，原协议的其余部分应完全继续有效；等。签署上述合同及补充协议后，余智强分别于2017年11月13日、2018年9月6日及2018年10月12日通过支付宝账户向纬润公司支付了12500元、12500元及16000元，共计41000元。现余智强以纬润公司交付的小程序存在多处缺陷、在公开测试中经常无法正常运行未通过验收及纬润公司未向余智强提供设计源代码等为由，要求解除涉案合同及补充协议，并要求纬润公司返还已支付的开发费用，未果，遂于2020年8月17日提起本案诉讼。余智强为证明其主张，提交了如下证据：1．余智强与纬润公司员工蒋健强的微信聊天记录，内容为，2018年9月6日下午4:10分，蒋健强：“徐生，款项能否先转过来嘛，测试版也已经出来了。现在不是要收验收款啊，做了这么多，才收到12500，有点太少了啊。也帮帮忙嘛”2018年9月9日下午4:52分，蒋健强：“现纬润初步完成题库项目测试版，但仍有些功能甲方余生未确认是否完成，余生先行支付测试款12500元，但后续甲方认为测试版并未达到要求，有权要求纬润在提出的当天退回12500元至甲方账号”2018年10月8日下午5:27分，蒋健强：“余生您好，小程序项目可以提交正式版了，剩下的15000+1000，共16000麻烦要准备一下的了”余智强：“好好好，我而家忙紧”蒋健强：“余生，麻烦安排一下款项，我们这边提交上线，这样你可以都让大家用了”余智强：“我想先测试下有冇问题，我话转款了”蒋健强：“上线版本和体验版是一样的，只是在微信小程序上提交发布”余智强：“好”“钱我可以转，到时有咩问题你要及时帮我修改”蒋健强：“那是的，我们有一年免维的”“有BUG问题提问，都需要负责的”拟证明系纬润公司诱导余智强提前支付款项，并表示12500元只是测试款不是验收款，余智强支付尾款16000元并非基于小程序通过验收，小程序上线测试后，经常出现问题，难以正常运行，纬润公司无法向余智强提供最后修改版本的源代码，纬润公司拒绝继续履行合同义务。2.余智强与纬润公司四员工组建的昵称为“（客户群）题库项目”的微信群，拟证明案涉小程序在内测及公测阶段都出现许多问题，难以正常运行，至今未通过余智强验收等，该微信群部分聊天记录如下，2018年10月8日上午11:27分，纬润公司员工：“项目应该没什么大问题了吧，可以上线了吗”余智强：“基本上没有”“可以安排上线”2018年10月9日凌晨0:14分，余智强：“导出的数据怎么跟后台显示的不一样？”同日，纬润公司员工告知余智强其开发的小程序已发布，线上名字为“爱题”，并将该小程序二维码发布至该工作群。之后，余智强数次提出该小程序出现不能登录、题目数量与其导入数量不符、不能增加学员名单、学员不能正常使用等问题，纬润公司员工亦对小程序进行了修复或升级等操作。2020年6月份，余智强再次要求纬润公司修复小程序运行过程中出现的问题，纬润公司员工于2020年6月3日表示登录不上服务器，余智强表示之前服务器已过期，之前资料备份过，放回这个服务器上了，2020年6月10日下午2:27分，纬润公司员工：“您好，由于项目的服务期已经过了，你需要先与我方销售联系续费事务，我们收到公司的消息才能处理的”经质证，纬润公司对上述证据的质证意见为：1．对证据1的真实性无异议，但对证明内容有异议，按照合同约定，余智强应向纬润公司支付测试费用，验收完成后余智强还应向纬润公司支付16000元的验收费用。2．对证据2的内容有异议，项目在2018年10月8日已经确认上线，在2018至2020年5月期间余智强一直在运行涉案小程序且至少有6个月时间没有向纬润公司反馈项目有无问题的情况。纬润公司为证明其抗辩主张，除亦提交了其司员工蒋健强与余智强的微信聊天记录、上述微信工作群聊天记录，拟证明其已于2018年9月3日完成功能测试版本交付、9月18日完成全部工作并注册了名为“爱题”的小程序及余智强已于2018年10月8日确定小程序项目上线外，还提交了如下证据：1．阿里云官方说明，拟证明服务器未续费将会导致服务器所有文件被删除。2．其司员工分别于2018年7月17日及2020年7月6日向余智强发送电子邮件的记录，拟证明拟其司向余智强交付原型、设计稿资料并已将代码部署到余智强服务器里且已正常使用、2020年7月6日其司又再次向余智强发送了项目资料等内容。经质证，余智强对上述证据的质证意见为：1．对证据1的真实性、合法性予以确认，但关联性不予确认。根据合同约定，纬润公司有义务向余智强交付源代码，如纬润公司有按照合同约定向余智强交付了最后修改版本的源代码，那么即使因服务器过期导致项目无法访问，只要余智强有最后修改的源代码也可以马上生成与原先一样的小程序，且根据余智强的了解，开发公司在每一次对软件进行修改或调整时，都要及时备份最新的源代码，以防止由于服务器崩溃或其他原因导致数据丢失，而纬润公司显然没有按此进行规范操作。2．对证据2的真实性、合法性予以确认，关联性不予确认。首先，2018年7月份的电子邮件中并未包括源代码；其次，虽然纬润公司在2020年7月6日发送了源代码，但根据余智强与蒋健强的微信聊天记录显示，纬润公司承认此次提供的源代码不是最新修改的，而且不能使用，为此还介绍了第三方给余智强，让余智强找第三方解决问题，在余智强与第三方的沟通过程中，第三方告知余智强该源代码混乱，存在很多问题，难以修复，建议余智强重新投资开发一个新的小程序。庭审中，余智强、纬润公司一致确认开始时小程序使用的是纬润公司提供的服务器，直至2019年12月24日才将小程序迁至余智强服务器；余智强确认其服务器因欠费于2020年5月份被停用，服务器被停用后，小程序也不能再继续使用；纬润公司确认源代码是指前后端的代码文件，其是软件的骨架支撑，源代码在服务器上运作，程序才能运行，当服务器出现问题时，将源代码修复并复制到新的服务器上后，可以使程序在新的服务器上运行。一审法院认为，余智强与纬润公司签署的《小程序开发项目合同》及《题库合同/协议的补充协议》是双方当事人的真实意思表示，内容没有违反法律及行政法规的强制性规定，依法成立并生效。签署协议后，余智强共计向纬润公司交付了41000元的开发费用，纬润公司对此无异议，一审法院对该事实予以确认。根据余智强与纬润公司的诉辩意见，一审法院认为本案争议的焦点问题为纬润公司在履行合同过程中是否存在违约行为导致余智强无法实现其合同目的。对此，一审法院的意见是，根据协议约定，纬润公司的主要合同义务有三，一是向余智强交付符合约定条件的小程序及完成小程序的上线工作；二是为余智强提供相关技术培训及自验收日起一年内免费服务；三是向余智强提供所有资料包括但不限于设计源稿及开发源码。针对纬润公司是否已履行合同约定义务，一审法院分析如下：第一，根据余智强、纬润公司提交的微信聊天记录可知，纬润公司工作人员询问余智强项目是否存在问题、可否上线时，余智强答复“基本上没有”“可以安排上线”。结合之后纬润公司于2018年10月9日向余智强发送的小程序二维码等行为，足以认定纬润公司已于该日向余智强交付了小程序及小程序确已上线。合同约定，项目验收后7个工作日完成上线，该约定明确了小程序验理应先经验收而后才能上线。小程序业已上线说明其已通过验收。余智强关于小程序未能通过验收、仅公开测试的主张，无事实依据，一审法院不予采纳。第二，根据合同约定，纬润公司交付作品时对甲方提供相关技术培训及自验收日起一年内免费服务，如上所述，涉案小程序已于2018年10月9日通过验收并已上线，故纬润公司应在2018年10月10日至2019年10月10日期间为余智强提供维护服务。根据余智强提供的微信聊天记录，余智强在使用小程序过程中确实存在小程序无法打开、题目数量错误等问题，但余智强就存在的问题与纬润公司进行沟通后，纬润公司工作人员已做了相应的修复及维护工作，且小程序在纬润公司维护期间内系正常运行的，足以证明纬润公司已履行了维护义务。第三，根据合同约定，纬润公司应提供的是小程序上线时生成的源代码，但合同同时约定免费维护服务仅包括初次数据迁移和数据备份与恢复，换言之，合同并未约定纬润公司对小程序进行维护时应备份源代码给余智强，余智强主张纬润公司应在每次维护后都应向其提供源代码没有合同依据；再者，当余智强服务器因欠费被停用后，纬润公司已于2020年7月6日向余智强发送了小程序上线时的源代码，结合该源代码的作用，纬润公司于该日向余智强发送源代码并不会因迟延发送导致余智强无法实现其合同目的。第四，余智强在诉讼时已确认其服务器因欠费于2020年5月份被停用，服务器被停用致使小程序无法正常运行，故小程序不能正常使用系因服务器被停用，而服务器被停用的原因并不能归责于纬润公司。综合以上几点，一审法院认为纬润公司已完成了合同约定义务，现余智强以纬润公司存在违约导致其合同目的无法实现为由要求解除合同、返还开发费用，没有事实依据，一审法院不予支持。综上所述，一审法院依照《中华人民共和国民事诉讼法》第六十四条之规定，判决：驳回余智强的全部诉讼请求。一审案件受理费441元，由余智强负担。经审查，本院对于一审判决查明的事实予以确认。二审期间，余智强提交以下证据：计算机软件测试规范国家标准打印件，拟证明案涉计算机软件应当在微信平台上进行公开测试才能检验期是否满足要求。经质证，纬润公司意见如下：真实性、合法性、关联性不予确认，双方合作时约定是以合同内容为标准，如果余智强要求符合国家标准应该要在签合同时予以告知，计算机软件范围很大，每个软件标准不一样，该国家标准也不再案涉合同约定范围内，与双方合作无关。纬润公司提交以下证据：腾讯公司微信小程序“代码审核问题汇总”网页截图并当庭予以演示，拟证明代码审核要求“小程序所实际提供的服务和内容必须是正式的，不能以Demo形式提交”。经质证，余智强意见如下：真实性、合法性予以认可，关联性及证明目的不予认可，腾讯公司仅是进行形式审核，并没有审核及测试代码能否正常运作及是否符合要求，更不能证明案涉小程序及其代码完全符合余智强的要求，且涉案小程序在微信平台上线后也多次出现问题需要进行修复，纬润公司对此也是认可的，故该证据不能证明涉案小程序及其代码符合合同约定。本院认为，根据《最高人民法院关于适用的解释》第三百二十三条“第二审人民法院应当围绕当事人的上诉请求进行审理”的规定，二审案件的审理应当围绕当事人上诉请求的范围进行。综合各方的诉辩意见，本案争议的焦点问题为：（一）本案案由如何确定；（二）纬润公司是否存在根本违约行为，余智强主张解除合同、返还开发费用是否成立。就本案争议的焦点问题，本院分析认定如下：关于第一个争议焦点。余智强上诉认为本案应为承揽合同纠纷，纬润公司则辩称本案为委托合同纠纷。对此，《中华人民共和国合同法》第二百五十一条第一款规定，承揽合同是承揽人按照定作人的要求完成工作，交付工作成果，定作人给付报酬的合同。第三百九十六条规定，委托合同是委托人和受托人约定，由受托人处理委托人事务的合同。涉案《小程序开发项目合同》约定，纬润公司未余智强完成提供小程序开发工作，余智强提出需求内容，纬润公司负责开发并向余智强交付作品。上述合同权利义务的约定符合承揽合同的特征，故本案案由应认定为承揽合同纠纷。关于第二个争议焦点。首先，余智强上诉认为涉案小程序未按计算机软件测试规范国家标准的要求经过必要测试。对此，涉案合同第2.1.3条约定，余智强提出本作品的需求内容作为附件是必须详细说明需求内容和测试方法（或指标）。双方在合同及补充协议附件中仅注明后台及手机端功能，并未约定测试方法，履行过程中余智强亦未要求或自行按照前述国家标准对涉案小程序进行测试，故其在诉讼中提出上述测试标准，本院不予采信。其次，余智强上诉认为涉案小程序未经验收。对此，根据双方微信聊天记录，纬润公司询问是否存在问题、是否可以上线时，余智强回复称基本上没有、可以安排上线；涉案合同约定验收后完成上线，并未约定存在线上测试环节，故应可认定余智强同意上线前已进行验收；同时，小程序上线后，余智强亦未对上线前后因网络环境不同而对小程序使用产生何种实质影响提出异议。至于余智强对于小程序功能方面的异议及要求，纬润公司已予以维护。据此，一审认定涉案小程序验收，并无不当。余智强上诉主张小程序上线后一直处于线上测试阶段，理据不足，本院不予采信。再次，关于源代码问题。虽无证据证实在纬润公司在小程序上线时直接交付源代码，但根据本案查明的事实，纬润公司完成涉案小程序后，依余智强指示先后将源代码部署于纬润公司、余智强提供的服务器，在此合同期内及实际履行过程中，纬润公司依余智强要求对小程序进行维护，并无证据证实未交付源代码本身对余智强使用小程序产生了实质障碍。此后，在余智强的服务器于2020年5月欠费停用、即余智强无法再使用存储于该服务器内的源代码时，纬润公司亦已向其发送了源代码。据此，一审认定迟延发送源代码并未导致余智强合同目的不能实现，并无不当，本院予以确认。至于纬润公司有无交付经修改维护后的代码版本，属于其履约中存在瑕疵，尚不足以构成余智强行使法定解除权的合理事由。综上所述，余智强的上诉请求不能成立，应予驳回；一审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第（一）项的规定，判决如下：驳回上诉，维持原判。二审案件受理费882元，由上诉人余智强负担。本判决为终审判决。审判员  杨凡二〇二一年四月二十九日书记员  张露李泳筠