山东省青岛市中级人民法院民 事 判 决 书（2020）鲁02知民初5号原告：青岛融纳达商贸有限公司，住所地青岛市市北区敦化路328号诺德广场A座1904室。法定代表人：于淼，董事长。委托诉讼代理人：冯兆伟，山东兆基律师事务所律师。委托诉讼代理人：丁倩倩，山东兆基律师事务所律师。被告：山东节点网络科技有限公司，住所地山东省青岛市市南区银川西路20号2号楼3单元701户。法定代表人：张全新。被告：张全新，男，1987年7月30日生，汉族，住山东省青岛市四方区。二被告共同委托诉讼代理人：李建东，山东舜翔（青岛）律师事务所律师。原告青岛融纳达商贸有限公司与被告山东节点网络科技有限公司（以下简称节点公司）、张全新计算机软件开发合同纠纷一案，本院立案后，依法适用普通程序，于2020年10月30日公开开庭进行了审理，原告青岛融纳达商贸有限公司的委托诉讼代理人冯兆伟、丁倩倩以及被告节点公司的法定代表人暨被告张全新、共同委托诉讼代理人李建东到庭参加了诉讼。本案现已审理终结。原告向本院提出诉讼请求：1.解除原告与被告签订的《软件开发合同书》（合同编号：05322018061901）；2.被告返还原告向其支付的合同款项225000元；3.被告支付违约金33750元；4.本案的诉讼费用由被告承担。事实与理由：原告与被告于2018年11月5日签订软件开发合同书，委托其进行软件开发，用于原告线上宣传、销售。合同签订后，原告已按约支付完毕合同款项，但被告未交付符合合同约定的小程序，亦未将软件程序源代码以及相关文档材料交付于原告，以致合同目的无法实现。为维护原告合法权益，根据合同法第六十条、第九十四条之规定，特提出上述诉讼请求，望判如所请。二被告共同答辩称：1、被告公司依约完成了小程序部署及升级，交付了合同约定的小程序及小程序后台操作平台；2、被告公司将源代码交付给原告；3、本案合同中约定验收合格后原告支付尾款，结合原告在诉状中称依约支付完毕合同款项，也就是说原告认可且明知合同项下小程序验收合格才支付了尾款，现又主张被告公司违约，明显与常理不符，原告诉求应当依法予以驳回；4、被告二不应承担连带责任。当事人向本院提交了证据，本院依法组织当事人进行了证据交换及质证。原告围绕其诉讼请求向本院提交以下证据：1、《开发合同书》（合同编号：05322018061901）,证明双方签订合同约定相关事宜及违约责任；2、青岛银行电子回单,证明原告合同义务履行完毕；3、（2019）鲁青岛市中证民字第7903号公证书,证明被告开发的小程序未完成交付、验收，无法使用，原告订立合同的目的无法实现；4、（2020）鲁青岛市中证民字第4242号《公证书》，证明被告交付源代码时无配套文件，无法配置运行，无法证明系涉案小程序的源代码且正确、完整；5、（2019）鲁青岛市中证民字第8661号公证书，证明聚纳达商城已关联登录邮箱为qxf@qdjiedian.com，账号、密码及小程序为被告控制，其未交付；6、2018年3月份-2020年4月份涉案小程序访问记录截图，证明时至2020年4月份，被告仍然掌握着用户账户和密码可以随时进入商城，其未进行交付及其此前陈述的不知道账户密码与事实不符。上述证据共同证明：被告未交付符合合同约定功能需求的小程序，原告合同目的无法实现，被告已构成根本违约。二被告对证据真实性无异议，对证明事项不认可：证据1证明被告不存在违约行为，原告认可了小程序验收合格；证据2证明原告第一笔款项存在逾期及原告在验收合格后支付尾款；对证据3，合同项下的小程序及微信后台管理平台的名称为“清新风商城”，并不是公证书载明的聚纳达，小程序改名的时间为2018.10.30日，且该合同项下约定的是操作后台而不是仅仅针对涉案小程序，该证据不能证明原告涉及的小程序及操作后台未验收及无法使用，也不能证明未交付小程序；证据4无法证明原代码无法配对运行，合同没有约定应当交付其所述的配套文件，该证据恰能证明被告履行了全部义务；证据5恰能证明原告对微信公众平台实际控制且能自行登陆，小程序已经投入使用且有相关的用户数量869及新增用户人数7；证据6“小程序数据助手”是微信官方为小程序开发者提供的数据查看软件，被告是涉案小程序开发人，有权限查看相关数据，该数据助手无修改功能，恰能证明涉案小程序上线使用后有大量使用访问记录，被告完成了应尽义务，被告从未擅自登陆，是基于展示涉案事实才进行查看，不需要登陆。二被告向本院提交以下证据：1、被告于2018年10月8日录制的小程序正常使用的视频光盘，证明被告依照合同约定已经基本设计完成涉案小程序，可以正常使用；2、张全新与原告公司员工韩玉燕（微信名称为Arya）的微信聊天记录，证明涉案小程序已经制作完成，且根据原告要求进行多次修改，已经交付；3、张全新与原告公司员工朱沁雯微信聊天记录，证明小程序后台管理平台已经制作完毕并已交付使用，张全新对朱沁雯进行了使用培训；4、张全新与原告公司员工周丹的微信聊天记录，证明微信后台管理平台已经设计完成并交付使用，且对原告进行培训服务；5、“小程序上线”微信群聊天记录，证明小程序已经设计完成并且已经交付，且被告积极配合原告进行修改服务及使用指导；6、微信交易测试记录截图，证明小程序可以正常交易使用且已经交付；7、微信通过审核证明截图，证明微信小程序代码通过微信审核；8、微信用户访问记录截图，证明涉案小程序曾正常使用过，人数达到1.9千人次；9、张全新与原告公司法定代表人于淼的短信聊天记录截图，证明2019年7月5日于淼告诉张全新：“张总，把公众号、小程序和阿里云的账号密码都发给刘工吧，谢谢”；10、张全新向原告公司刘工发送邮件截图，证明张全新将聚纳达“微信公众平台”、“微信开放平台”的账号密码以及涉案小程序源代码发送给了刘工，完成了源代码的交付；11、张全新向原告公司刘工发送的代码压缩包（附光盘），证明被告公司将小程序源代码交付给了原告；12、原告将小程序用于产品宣传的广告展示图，证明涉案小程序已经交付，结合2018年12月21日，朱沁雯与张全新的微信聊天记录，可以印证涉案小程序已经投入使用。原告质证称：证据1无法确认形成时间，不能证明小程序已正常使用及按约开发并向原告完成交付，演示内容不能证明符合合同附件功能；证据2-4为打印件，证据形式不予认可，聊天对象身份无法确认，倘若聊天内容真实，证明事项不认可，证据2显示小程序存在问题一直无法使用，原告反映后多次修改，小程序能够备案只能说明符合微信端基本要求，不能证明已经验收且符合合同约定；证据3聊天内容体现小程序后台管理平台在设计开发过程中存在诸多问题；证据4聊天记录显示被告进行了多次修改，这种情况下无法进行培训；证据5-8真实性、关联性及证明事项均不予认可，其中证据5仅能显示被告开发设计的小程序存在诸多问题，原告提出修改意见，不能证明被告根据原告的修改意见进行了修改，更不能证明小程序已经设计完成并已交付；证据6不能证明支付方与接收方的详细情况，结合微信支付的金额与正常商品的价格，最多就是对微信支付开始进行研发，不能证明涉案小程序可以正常使用及已经完成交付；证据7仅能证明其涉案小程序符合微信平台的基本要求，可以在微信平台进行部署，不能证明小程序已经按约完成并向原告交付；证据8仅能证明网上用户可以通过微信搜索到该小程序，不能证明小程序能正常使用且符合合同约定，却能够证明时至2020年4月份，被告仍然掌握着用户账户和密码，可以随时进入商城，也证明未进行交付，被告此前陈述的不知道账户密码与事实不符；证据9账号和密码是被告代为申请和设定的，开发测试阶段一直由被告掌握，该证据恰恰证明涉案小程序一直未交付，直至2019年7月5日原告法定代表人于淼仍然还在要求其交付公众号、小程序和阿里云的账号和密码，证8与证据9相互印证，更能证明被告未交付；证据10证明事项不认可，被告虽发送了源代码，但不能证明其发送的源代码就是涉案小程序的源代码，且该源代码不完整无法搭建运行；证据11内容无法确认；证据12不能证明涉案小程序已经交付并投入使用。被告提交的证据仅能证明其在软件开发初期进行的基本工作，聊天记录内容证明原告发现小程序无法正常使用，要求被告进行修改，被告至今未按照合同约定及原告需求提供最终版本，仍停滞在内部开发测试阶段，合同均明确验收标准和方式，被告提交的证据均不能证明其已完成合同约定的工作事项，并且按照合同约定的验收标准和方式进行交付。双方当事人对真实性有异议的证据未能提供反证，本院对上述证据的真实性予以确认。被告申请其原工作人员王进祺出庭作证称：除代码工作外，其他环节我都参与，并带领测试团队对开发项目进行测试，对测试阶段出现的问题及时进行修订，测试完成后交付给了原告，因时间太长，公司同阶段的项目很多，工作量很大，每个项目具体细节会有遗忘；我制订的培训大纲还有操作说明书在被告公司存档，据我了解，已经通过微信形式发给对方了，是我发给老板，老板发给对方。原告质证称：证人系被告公司前员工，与本案存在利害关系，其证言不应采纳；证人回答的问题大部分是主观判断，不是客观陈述，不具有证明力。本院认为，该证人与被告存在利害关系，其证言不具客观性，本院不予采信。本院经审理查明：2018年6月19日，原告与被告节点公司签订《软件工程开发合同书》（合同编号0532018061901），约定原告（甲方）委托被告节点公司（乙方）开发基于微信开放平台的多重分销商城系统，合同附件列明了功能列表及功能描述内容。合同第三条约定合同项目60个工作日完成，最终上线部署：2018年9月；其中三.4条约定软件系统需达到需求文档附件要求，且在调试完善、应用正常，双方确认后才能进行系统验收和文档移交工作；第四条约定合同总金额人民币225000元；第十一条约定验收的标准和方式为：乙方提交项目验收申请单，甲方组织相关人员结合系统功能进行签字验收，验收结果必须由甲方签字同意方可生效；第十二条约定违约金或者损失赔偿额的计算方法为：违约方赔偿履约方违约损失为合同金额的15%；第十五条约定，项目验收后，乙方向甲方提供项目源代码。合同对双方其他权利义务亦作了具体约定。合同签订后，原告已全额支付合同款项。原告于2019年11月20日向山东省青岛市市中公证处申办保全证据公证。同日，在该公证处公证人员的现场见证下，原告的证据保全代理人周丹使用其自带的且已经公证人员进行清洁性检查的iPhone手机及该公证处的网络进行了相关操作，公证人员使用公证处手机就周丹操作手机的过程进行了录像并制作光盘，将相应操作的屏幕截图打印。山东省青岛市市中公证处就上述过程制作了《工作记录》及附件，并于2019年12月2日出具（2019）鲁青岛市中证民字第7903号公证书。根据该公证书及附件所示，“聚纳达商城”小程序无法登陆使用。案件审理过程中，本院到原告处就涉案软件是否正常运行进行了现场勘验，勘验情况如下：通过手机验证“聚纳达商城”小程序，小程序可以打开，但没有动态信息展现；登陆帐号名“青岛融纳达商贸有限公司”阿里云帐号”显示：该账号于2018年8月15日注册，双认可系被告帮助注册，登陆密码经过原告修改，账号最后一次续费时间是2019年7月31日，到期日是2020年8月18日，第一次续费至到期日，服务器资源没有间断。现服务器资源被收回，“青岛融纳达商贸有限公司”帐号资源下已经没有被租用的云主机，导致小程序打开是空白。另查明，合同履行过程中，双方通过微信及QQ邮件等形式进行沟通；涉案小程序于2018年8月22日首次代码通过微信平台审核，之后双方就出现的问题通过微信等形式进行沟通，被告又多次进行了部署审核，最后一部署审核日期为2019年1月7日。被告主张2019年1月20日对原告员工朱沁雯进行最后一次培训；对于是否将源程序单独向原告以介质形式交付，被告表示记不清楚了。根据双方的邮件及微信沟通记录显示，被告于2019年7月4日向原告发送了源代码，2019年7月5日原告法定代表人于淼要求张全新把公众号、小程序和阿里云的账号密码都发给其工作人员，2019年7月6日被告发送微信开发平台用户名密码。微信“小程序数据助手”显示账户名称为“青岛聚纳达科技有限公司”的小程序访问量为1.9千人次，曾经用户数量869。原告对小程序进行了上线部署没有异议，但称具体部署到什么程度不清楚，没有进行交付或者说明，只能算是在开发测试阶段，通过代码审核只能证明小程序符合微信平台要求能够上线，但不能证明小程序能够正常运行并符合合同约定。被告未对涉案软件申请书面验收。另查明，被告节点公司系自然人独资的有限责任公司，成立日期2015年11月30日，注册资本300万元，股东系张全新，经营范围包括软件开发、网页设计开发、系统数据集成、网络数据处理等。被告以其无法自行调取为由，向本院申请调取以下证据，以核实案情并证实其完成代码部署及交付，完成合同义务：被告申请本院向通联支付网络服务有限公司青岛分公司调取名为“青岛聚纳达科技有限公司”云商通业务在2019年至2020年11月期间产生的交易记录。被告申请本院调取名称为“聚纳达商城”的微信小程序于2018年至2020年11月期间的版本更新记录、用户使用人数、用户支付交易记录及2019年1月7日最终发布的前端小程序代码；申请调取小程序所属微信开放平台内登录名qxf@qdjiedian.com2019年6月至2019年9月登陆密码修改记录。被告申请本院调取阿里云服务器账号登陆密码修改、找回记录，2018年8月至2020年10月云虚拟服务器ECS购买记录、是否停止服务记录、释放记录；2019年7月2020年11月期间阿里云官方发送的该账户下服务器到期充值释放的短信通知及手机号码；上述期间该账号下ECS虚拟服务器镜像操作、备份操作以及服务器快照操作记录。本院认为，本案焦点为：涉案合同是否应当解除以及原告主张的合同款项及违约金应否支持。本院对此认定如下：一、《中华人民共和国合同法》第八条规定，依法成立的合同，对当事人具有法律约束力；当事人应当按照约定履行自己的义务，不得擅自变更或者解除合同；依法成立的合同，受法律保护；第九十四条规定，有下列情形之一的，当事人可以解除合同：（四）当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的。本案中，原告与被告节点公司签订的《软件开发合同书》系当事人真实意思表示，内容于法不悖，双方均应依约履行。合同签订后，原告已向节点公司全额支付合同约定的开发费用，节点公司应当合理使用开发费用，按照约定按期完成开发工作，交付开发成果，提供有关的技术资料和必要的技术指导。本案根据被告提交的证据以及现场勘验情况，可以证明涉案小程序已经过微信平台审核，并部署在阿里云云主机上；但现场勘验显示因原告未能续费，导致服务器资源被收回，以致涉案小程序“聚纳达商城”打开后信息空白；对此，原告认为被告的交付不符合合同约定，而被告认为其已经交付验收，现不能运行系原告原因导致。对此本院认为，节点公司作为涉案软件开发方，应当承担按照约定方式交付开发成果的义务，根据涉案合同第十一条约定的验收标准和方式，乙方应提交项目验收申请单，甲方组织人员签字验收，验收结果需由甲方签字同意方可生效；因此，申请验收的义务在于节点公司，而节点公司在小程序审核部署后，并未及时提交验收申请，未能提交经过原告确认的验收单等证据证实涉案小程序符合合同约定，其提交的证据仅能证实其为履行合同进行了开发工作并进入上线部署阶段以及在开发过程中与原告进行了沟通，而部署上线测试是软件开发的必然阶段，不能作为按约交付的依据，故被告不能证明其按照合同约定向原告交付了开发成果；且小程序第一次部署后，双方就出现的问题又进行了沟通，被告之后也多次进行部署，最后一次部署日期为2019年1月7日；双方微信聊天记录可以看出，2019.7.5日原告仍在要求被告提供账号密码等，而该时间已远超出合同约定的开发周期，因此，原告所称其已按约完成合同义务的理由不能成立。因涉案合同系软件开发合同，具有较强时效性，原告至今未能按约交付通过验收的开发成果，致使原告已无法实现合同目的，故原告要求解除合同的请求本院予以支持。二、对于原告要求被告返还合同款项及支付违约金的请求，《中华人民共和国合同法》第九十七条规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施、并有权要求赔偿损失。涉案合同虽因节点公司未能提交验收导致合同解除，但节点公司为履行合同付出了相应劳动并已进行上线部署，相关数据也显示小程序有用户数量和访问人数，虽该数据数量较少，且测试阶段也会产生相应数据，而是否符合合同约定的功能也难以证实，但可以证明小程序曾经可以进行访问，而原告未能续费导致涉案小程序运行情况不能显示，原告停止续费前也未及时与被告沟通，故其对合同解除也有一定责任。本院综合考虑涉案合同的性质、双方的履行情况以及被告付出的劳动等因素，根据诚实信用及公平原则，酌情判令双方各承担50%的责任，被告节点公司返还原告合同款项112500元（225000元*50%）；对原告要求违约金的诉讼请求，亦不再予以支持。对于被告要求本院调取证据的请求，本院认为，被告作为专业软件开发公司，应当按照合同约定及行业标准提请验收，在其未能履行该义务的情况下，要求法院调查取证于法无据，且其申请的调查事项也不能证明其交付的成果符合合同约定，故对其申请，本院不予准许。张全新系节点公司的唯一股东，其未能举证证实公司财产独立于其个人财产，故原告主张其承担连带责任的请求，本院予以支持。综上，根据《中华人民共和国合同法》第五条、第六条、第八条、第六十条、第九十四条第（四）项、第九十七条、第三百三十二条、第三百三十三条，《中华人民共和国公司法》第六十四条规定，判决如下：一、解除原告青岛融纳达商贸有限公司与被告山东节点网络科技有限公司签订的《软件开发合同书》（合同编号：05322018061901）；二、被告山东节点网络科技有限公司于本判决生效之日起10日内返还原告青岛融纳达商贸有限公司合同款项112500元。三、被告张全新对上述款项承担连带赔偿责任；四、驳回原告青岛融纳达商贸有限公司的其他诉讼请求。如被告未按本判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条的规定，加倍支付迟延履行期间的债务利息。案件受理费5181元，财产保全申请费1814元，共计6995由原告负担3497.5元，二被告负担3497.5元。如不服本判决，当事人双方可以在本判决书送达之日起15日内向本院递交上诉状，并按照对方当事人或代表人的人数提出副本，上诉于中华人民共和国最高人民法院。审判长 李 丽审判员 王 燕审判员 牛珍平二〇二〇年十二月四日法官助理魏忠华书记员国莹莹书记员王冠宇