江苏省高级人民法院民 事 判 决 书（2020）苏民终136号上诉人（原审被告）：干涛，男，1992年3月7日出生，汉族，住江苏省淮安市清江浦区。被上诉人（原审原告）:卢亚红，男，1978年10月22日出生，汉族，住江苏省淮安经济技术开发区。上诉人干涛因与被上诉人卢亚红技术合同纠纷一案，不服江苏省淮安市中级人民法院（2019）苏08民初64号民事判决，向本院提起上诉。本院依法组成合议庭审理了本案，现已审理终结。干涛不服一审判决，向本院提起上诉，请求撤销一审判决，依法改判或发回重审；卢亚红承担本案一、二审诉讼费用。事实与理由为：一审法院认定事实不清，证据不足，适用法律错误，导致错误判决。事实与理由为：1.按照合同约定，卢亚红需提供给干涛服务器的地址、账号与密码，但他从未正式移交给干涛，且即使有了这个地址、账号与密码，也不能证明这台服务器就是卢亚红本人购买后让其上传代码并部署项目的那台服务器，没有任何证明效力。至于后来项目为何无法维护，可能是由于在卢亚红起诉干涛后关闭了服务器，又或者是该服务器未及时续费，导致服务器被服务商强制回收清空，造成干涛远程无法连接所导致。2.项目源代码及相关资料已经移交给卢亚红，这在干涛提供的一份与卢亚红的通话记录中可以证实。3.在一审法庭庭审过程中，干涛在现场操作卢亚红提供的平板电脑上的程序时，明确说明该软件不是干涛开发的软件，且卢亚红也没有充分证据证明这是干涛开发的软件，所以这个程序也不具备任何证明效力。4.结合干涛提供的《客户后期承诺书》、现场验收的视频录像及干涛与卢亚红通话的录音，可以充分证明干涛是按照合同的整体要求将项目开发完成并将项目的源代码等资料都移交给卢亚红，况且卢亚红也当庭承认了上述证据的真实性，所以干涛已经履行了合同应尽的所有义务。卢亚红二审答辩称：一审判决认定事实清楚，适用法律正确，请求驳回上诉，维持原判。卢亚红向一审法院提出诉讼请求，请求判令：1.解除其与清河区鸿兴电脑经营部之间的《网站建设合同》；2.干涛退还其已支付的21000元软件开发费用，并赔偿合同标的额三倍的损失69000元；3.诉讼费用及律师代理费用由干涛承担。一审法院认定如下事实：2017年4月15日，卢亚红委托清河区鸿兴电脑经营部（以下简称鸿兴科技）（委托代理人：干涛）进行速读APP训练软件的开发与维护工作，双方签订了《网站建设合同》，合同约定：鸿兴科技受卢亚红委托，提供针对速读安卓APP项目开发和维护工作，合同维护周期为鸿兴科技交付卢亚红验收确认日起5年内，开发周期为30个自然日。在合同要求期限内，鸿兴科技完成合同规定的项目，并通知卢亚红进行验收，最终开发功能等同高分速读功能，验收标准为合同提出的菜单基本功能实现；研发费用为75000元，研发费用由开发费用与5年维护费用组成，开发经费包括5年的维护费（软件BUG解决，系统简单升级与培训，最大不超过500G服务器空间的提供）。若卢亚红、鸿兴科技双方继续不履行、履行不当或者违反本合同，该方可以解除本合同并要求对方以合同额3倍赔偿损失。2017年4月16日，双方签订《APP开发合同补充协议》，将研发费用调整为23000元，合同签订后1个工作日内卢亚红以转账（或电汇）方式支付给鸿兴科技开发费用1万元，验收合格后的1个工作日内付尾款11000元。从总额中扣除2000元作为维护费用，卢亚红从第二年开始500元一年支付给鸿兴科技。合同签订后，干涛按照卢亚红提供的软件功能制作了需求文件及功能结构表。2017年6月15日，卢亚红与鸿兴科技签署《客户后期承诺书》，主要内容为，客户承诺今后运营该速读软件过程中应该遵循国家的法律法规，卢亚红后期在运营过程中可能产生的所有法律纠纷及非鸿兴科技方技术人员二次开发导致的BUG等问题，鸿兴科技无需负任何责任及连带责任。在今后的维护期内，项目的部署及BUG的解决，美工设计的维护工作必须由鸿兴科技技术人员操作，如非鸿兴科技技术人员操作所造成的一切后果，均由卢亚红承担，鸿兴科技有权终止维护。同日，卢亚红向干涛支付开发费用21000元。后双方因开发的项目是否符合合同要求产生矛盾，引发本案诉讼。本案一审争议的焦点为：卢亚红与干涛双方是否按照合同约定履行义务。一审法院认为：双方当事人签订的《网站建设合同》是当事人的真实意思表示，合法有效，双方应按照合同约定享有权利，履行义务。根据合同约定，卢亚红委托干涛就速读APP训练软件的开发和维护，卢亚红已经支付了合同约定的开发费用，干涛应当按照合同约定提供符合功能要求的软件。但由于双方在软件开发测试后，没有书面的项目移交手续，诉讼过程中，对于项目是否已经测试完成并进行项目移交各执一词。卢亚红认为，干涛没有按照合同约定的开发周期提供软件给卢亚红，也没有按照合同约定提供服务器给卢亚红，干涛提供的软件不能正常使用，属于违约行为；干涛认为，卢亚红反馈给干涛的问题属于网站维护问题，不影响软件的正常使用。因干涛将源代码及开发文件部署到卢亚红自行购买的服务器上，导致公司无法进行维护工作。合同并未约定由干涛提供服务器，且根据合同约定的验收标准，公司的项目开发已经完成。一审法院认为，根据举证责任的分配原则，当卢亚红已经支付了开发费用后，干涛应当承担项目交付的举证责任。从干涛所列举的证据看，尚达不到充分证明卢亚红已经接受项目的目的。首先，《网站建设合同》及合同附件约定，在合同项目测试完成后，技术资料清单包括项目相关的源代码及APP后台等资料应当全部移交给卢亚红。对于项目的移交，一般情况下，需要以书面确认的方式进行，但干涛不能提供书面移交的证据。虽然合同附件约定，验收合格后的一个工作日内付清尾款，而卢亚红也确实支付了全部款项（2000元除外），但付款行为本身并不具有证明已经完成项目交付的事实，不排除提前支付款项的可能性。至于卢亚红签署的《客户后期承诺书》，从其内容反映，只是卢亚红在软件运营过程中可能产生的法律纠纷及非鸿兴科技技术人员二次开发导致的各种问题如何处理和责任确认，并无关于项目移交的内容，该承诺书的签署，不能作为双方已经完成了项目移交的书面手续。其次，双方当事人对于合同约定的干涛是否应当提供服务器给卢亚红使用存在分歧。卢亚红认为，合同约定了“最大不超过500G服务器空间的提供”，证明干涛应当提供服务器给卢亚红，而干涛坚持认为其只是提供不超过500G的存储空间，与提供服务器不是同一概念。项目移交后，干涛已经将项目布置在卢亚红自行提供的服务器上，且卢亚红已经使用。一审法院认为，如果按照干涛陈述，其已经将项目布置在卢亚红自行提供的服务器上并使用，但微信记录反映，双方自2017年6月24日开始，就项目运营过程中出现的各种问题多次交流，按照干涛陈述其是通过远程维护的方法进行管理，那么，干涛在维护过程中，必然需要掌握卢亚红提供的地址、账号、密码，否则干涛是无法进行远程维护的。诉讼过程中，干涛对于卢亚红自行提供服务器的地址、账号、密码均不能向法庭提供，其陈述因公司已经注销而没有保留。一审法院认为，项目开发使用不久，双方因项目达不到功能要求，矛盾不断升级，并明确表示需要通过法律手段解决，在此情形下，干涛手中掌握的由卢亚红提供的服务器上网地址、账号、密码等是最直接有力的证据，证明项目已经布置到由卢亚红自行提供的服务器上并使用，从而证明项目已经移交的事实。然而，诉讼中干涛仅以没有保存上述相关数据为由，提供不出卢亚红自行购买服务器的其他证据，不符合一般人的行为逻辑。第三，干涛虽然提供相关视频文件，以证明项目已经移交，同时，干涛认为如果项目没有移交，卢亚红不可能上传多篇文章。卢亚红认为视频反映的内容恰恰证明双方是在对项目进行测试，并非项目的正式移交。卢亚红不否认曾经上传文章的事实，但认为所有的上传文章都是在干涛提供的服务器上操作，且所有上传文章都是在测试过程中进行的，并非是项目已经完全移交后的上传使用。一审法院认为，双方没有明确的测试和移交项目的节点，也无项目是否已经完成移交的书面文件，但从微信记录反映，所开发的项目一直处于修正过程中。退一步而言，即使项目已经移交，但干涛仍然负有后期维护义务。干涛目前对卢亚红项目所使用的服务器的地址、账号、密码都无法提供，显然是无法达到远程维护的目的，也无法完成合同义务。事实上，在法庭庭审中，干涛现场在平板电脑上操作涉案程序仍然是失败的，证明项目无法达到合同约定的功能。一审法院认为，干涛的行为违约，应当承担违约责任。根据合同约定，如果双方不履行、履行不当或者违反合同约定，另一方可以解除合同并要求对方承担合同额三倍的赔偿。就现有证据可以证明，涉案项目已经无法使用，故合同应当解除。卢亚红委托开发的项目系用于教育培训，具有很强的经营目的，由于干涛没有及时将符合合同约定的委托开发的项目交付给卢亚红，必然造成卢亚红经营利益的损失，但卢亚红并没有提供其损失达到合同金额三倍的证据，故一审法院认为，干涛在全额退还卢亚红合同款项的同时，酌情确定干涛应当承担的违约金以一倍的合同金额为限。综上所述，卢亚红诉讼请求部分成立。依照《中华人民共和国合同法》第六十条、第一百零七条，《中华人民共和国民事诉讼法》第十八条第（三）项之规定，一审法院判决：一、解除卢亚红与清河区鸿兴电脑经营部之间签订的《网站建设合同》及《APP开发合同补充协议》；二、干涛于判决生效之日起十日内向卢亚红退还软件开发费用21000元，并赔偿卢亚红损失21000元；三、驳回卢亚红的其他诉讼请求。如果未按判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条之规定，加倍支付迟延履行期间的债务利息。一审案件受理费2050元，由干涛负担。本案二审争议焦点为：一审判决认定干涛违约并承担相应的责任是否适当。干涛二审中提供如下新证据：证据1：验收现场的三段视频录像，显示2017年6月15日14:05、14:28、14:58，干涛现场演示软件功能，后卢亚红支付尾款，用以证明软件需求文档的功能已经完成，软件项目已经进入运营期和维护期；证据2:卢亚红与干涛于2017年6月26日的通话录音，用以证明软件已经开发完成且已验收合格。卢亚红对干涛提供的上述证据发表质证意见为：1.视频录像中显示的时间确系2017年6月15日14:05、14:28、14:58，但其记不清具体的时间，且视频仅反映软件的部分功能；2.认可录音的真实性，但不能达到其证明目的，干涛提供的软件并不符合合同约定的要求。卢亚红二审中提供了其与干涛通话录音的文本及其制作的软件对比视频，用以证明干涛并未提供符合合同要求的软件，构成违约。干涛对卢亚红提供的上述证据发表质证意见为：1.卢亚红在通话录音中的陈述并无依据，系断章取义；2.卢亚红并未提供证据证明合同约定的“高分速读功能”的具体内容，合同约定了明确的验收标准，对于超出合同约定的功能，干涛可以选择不做，且干涛亦从未表示软件不符合合同约定。本院对上述证据的认证意见为：确认双方提供证据的真实性与合法性，关于其关联性与证明力大小，本院将在裁判理由部分予以综合认定。一审判决查明的事实均有充分有效的证据予以证明，本院在此予以确认。另查明：1.鸿兴科技为个体工商户，注册日期为2015年4月20日，经营者为干涛，经营范围包括电脑及耗材零售，局域网网络安装维护，电脑软件开发，监控设备安装，鸿兴科技现已注销。2.干涛二审陈述，其对于一审判决解除卢亚红与鸿兴科技签订的《网站建设合同》及《APP开发合同补充协议》并无异议。本院认为：干涛构成违约，其应承担相应的违约责任。卢亚红主张，《网站建设合同》约定，“最终开发功能等同高分速读功能”，且在通话录音中，干涛认可卢亚红向干涛提供过平板样本并要求干涛做加密和离线使用的功能，但干涛提供的软件未能达到其提供样本的所有软件功能，且其没有收到干涛提供的平台与源程序，干涛构成违约。干涛则主张，其在合同签订后已经列明合同需求，并已经依据需求列表完成合同义务，且其已经把平台和源代码一起交付至卢亚红，不构成违约。对此本院认为：首先，《网站建设合同》约定“鸿兴科技应在要求的限期内，完成合同规定的项目，并通知卢亚红进行验收。最终开发功能等同高分速读功能”，虽然卢亚红未能提供证据证明“高分速读功能”的具体内容，但卢亚红提供的通话录音、微信聊天记录等均可以显示，干涛交付的软件并没有实现离线使用等功能，且干涛向卢亚红交付的软件于2017年6、7月间依然存在诸多缺陷，干涛亦表示同意修改，但此后软件仍无法使用，直至2019年6月一审庭审时，干涛现场操作该软件时依然显示失败，故一审法院据此认定干涛提供的软件无法实现合同目的，构成违约，并无不当，本院予以支持。其次，《网站建设合同》约定，“本合同履行完毕后，技术资料（项目相关的源代码及APP后台等资料）”全部归卢亚红所有，干涛主张其已依约将源代码等交付至卢亚红，但其并未提供充分有效的证据予以证明，且在淮安经济技术开发区人民法院的庭审中，干涛陈述“源代码是通过卢亚红优盘拷贝，且源代码当时是28.1M”，其在与卢亚红的通话中又表示“源代码只有1MB多2MB多”，前后陈述矛盾，故一审法院认定干涛并未交付源代码等资料亦无不当，本院予以支持。综上，干涛的上诉理由无事实与法律依据，对其上诉请求本院不予支持。一审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第（一）项之规定，判决如下：驳回上诉，维持原判。二审案件受理费人民币850元，由干涛负担。本判决为终审判决。审判长 刘 莉审判员 史 蕾审判员 张长琦二〇二〇年十二月二十八日书记员 严婕文