广东省高级人民法院民 事 判 决 书（2019）粤知民终414号上诉人（原审原告）：周耀荣，男，汉族，1965年10月27日出生，住广东省广州市荔湾区。委托诉讼代理人：覃韵芝，广东韶音律师事务所律师。委托诉讼代理人：余婉吟，广东法海律师事务所律师。上诉人（原审被告）：深圳博纳移动信息技术有限公司，住所地广东省深圳市福田区沙头街道金地工业区**202。法定代表人：刘辉，该公司总经理、执行董事。委托诉讼代理人：阎斌，上海市君悦（深圳）律师事务所律师。委托诉讼代理人：朱姝，上海市君悦（深圳）律师事务所律师。上诉人周耀荣因与上诉人深圳博纳移动信息技术有限公司（以下简称博纳公司）计算机软件开发合同纠纷一案，不服广州知识产权法院（2017）粤73民初192号民事判决，向本院提起上诉。本院立案后依法组成合议庭，开庭进行了审理。本案现已审理终结。周耀荣不服一审判决，向本院提起上诉称：1.博纳公司在合同约定的期限内未能交付顺利运行的软件，即是未能履行合同交付义务。周耀荣多次积极向博纳公司反映情况，但博纳公司并未积极补救和履行义务，主观过错明显。其导致合同不能履行，已经构成根本违约，应当按照合同约定承担违约责任。虽然博纳公司为开发付出劳动，但是周耀荣也为软件开发付出金钱、人力和期待，包括特意成立一家公司准备运营和对接该软件。博纳公司的违约导致该公司无法运营，前期投入无法收回且造成巨大损失。因此，本案应当合理分担损失，保护守约方的利益。再者，违约责任不仅要补偿守约方的损失，还应当惩罚有过错的行为。一审法院认为博纳公司主观过错不明显，不支持周耀荣一方主张的违约金请求，一审法院该认定有误。2.周耀荣为配合软件开发而向博纳公司支付的12760元，系博纳公司直接收取。博纳公司将该费用用于购买域名和软件服务器，但博纳公司未能在合同约定期限内向上诉人交付顺利运行的软件，导致域名和软件服务器无法继续使用，造成周耀荣的损失，应当予以返还该笔款项。3.周耀荣为了维护本人的合法权益而产生的公证费1500元，亦属于周耀荣的损失，应当由博纳公司承担。综上，请求二审法院：撤销一审判决第二项；依法改判博纳公司向周耀荣返还合同开发费用12760元；依法改判博纳公司向周耀荣支付违约金75000元；依法改判由博纳公司承担周耀荣因诉讼而产生的维权费用1500元；一、二审诉讼费由对方负担。博纳公司答辩称：周耀荣上诉理由不能成立，请求驳回其上诉请求。理由是：1.涉案合同约定，UI设计后90个工作日完成本项目，也即是2016年9月14日。在履行合同中，博纳公司于2016年9月12日前完成开发，于2016年7月6日、8月17日、8月30日、9月19日分别提交阶段性软件的测试版给周耀荣；于2016年8月25日在第三方测试平台进行测试和完善；于2016年9月8日在第三方软件下载平台上发布。博纳公司如约履行，不存在违反合同约定逾期未开发完成任务的情形。再者，博纳公司交付的每个阶段的软件均符合合同约定。对于每个阶段的软件，博纳公司均先行测试通过之后，才交付给周耀荣和发布到第三方软件平台。每个阶段的软件均能正常运行，不存在交付的软件不能打开或者不能运行的情形。由涉案合同1.3.2条约定可知，苹果手机可能存在难以运行涉案软件的情形。所以，在测试期间，博纳公司已经向周耀荣作了说明，并要求其提供测试手机UDID给博纳公司来协助其运行软件。在软件交付试运行后，博纳公司多次联系周耀荣，拟向其追踪软件下载和运行情况。但周耀荣多次无人接听电话，其项目负责人也不予配合，最终导致项目无法继续进行。周耀荣指控博纳公司未采取积极措施补救，该指控与事实不符。2.周耀荣主张返还使用短信通道和服务器的费用12760元，该笔费用的收取方是短信通道和服务器提供商，博纳公司系代理周耀荣支付该笔费用，博纳公司并非该笔费用的收取方，因此，周耀荣该项主张缺乏事实依据。3.周耀荣主张的1500元公证费，该费用并非合同解除必须支付的费用，其主张缺乏法律依据。博纳公司不服一审判决，向本院提起上诉称：1.涉案合同约定，UI设计后90个工作日完成本项目，也即是2016年9月14日。涉案合同还约定，若逾期开发超过30个工作日，则周耀荣有权要求退款和支付违约金。也即是，在2016年11月1日之前未完成本项目，才符合涉案合同退款和支付违约金约定的条件。涉案合同第一条第10项还约定，开发成果不符合验收标准的，经过三次修改且超过商议的修改时间，才符合解除合同的条件。而实际履行中，博纳公司交付涉案软件及完成本项目的日期早于11月1日，并不符合前述解除合同的条件。博纳公司于2016年9月8日将内测版软件上传至蒲公英平台。并通过邮件与周耀荣约定在9月16日提交BETA版软件及在9月25日提交公测版软件。博纳公司依约于9月19日提交BETA版并在9月23日进行更新。9月8日至23日上传的软件运行正常且功能齐全，均符合涉案合同的约定，博纳公司已经早于11月1日完成本项目。博纳公司于9月19日提交软件之后，博纳公司通过微信等方式要求周耀荣测试软件，9月29日要求周耀荣验收软件，均未被对方接受。2.周耀荣于2016年9月14日发出律师函以未在约定期限内完成开发工作并通知其验收为理由解除合同。博纳公司无故解除合同，导致合同不能继续履行，违约在先，依法应当承担违约责任。3.一审法院认定周耀荣在发出书面解除合同的函件后，并未停止履行合同的认定有误。周耀荣书面解除合同后，对于博纳公司依约于9月19日交付的软件，周耀荣并未验收。依照涉案合同约定，周耀荣本应组织技术人员进行验收。之后周耀荣发出的函件仅为追究责任，并非继续履行的意思表示。一审法院认为周耀荣在书面解除合同之后从平台上下载软件的行为，系继续履行的意思表示，该认定有误。周耀荣如果发现软件无法下载或者使用，应当是和博纳公司继续沟通如何进行修改，在第三次修改时间届满后才符合解除合同的条件。4.周耀荣提供的不能下载软件的证据截图均为苹果手机，仅能说明自己的苹果手机没有实现下载成功，但不能证明涉案软件的两个版本不能够使用。5.涉案合同约定的完成整体开发并上线，系指整体完成开发测试上线。一审法院认为涉案软件上传到蒲公英平台不能证明产品已经完成开发并上线有误。综上，请求二审法院：撤销原判,发回重审或依法改判博纳公司无需返还周耀荣开发费用12.5万元，判决周耀荣支付博纳公司开发费用尾款12.5万元及违约金。一、二审诉讼费由对方负担。周耀荣答辩称：博纳公司上诉主张缺乏事实和法律依据，请求驳回博纳公司的上诉请求。周耀荣向一审法院起诉请求：1.解除周耀荣与博纳公司签订的演艺圈APP软件开发合同；2.博纳公司向周耀荣返还合同开发费用137760元；3.博纳公司向周耀荣支付违约金75000元。博纳公司向一审法院反诉请求：1.周耀荣给付博纳公司技术开发费用125000元；2.周耀荣支付无故解除合同的违约金75000元。一审法院认定事实：一、涉案合同约定的内容博纳公司系2012年3月1日登记成立的有限责任公司，注册资本1000万元。周耀荣与博纳公司于2016年2月2日签订《演艺圈ＡＰＰ软件开发合同》,周耀荣为委托方（甲方），签字人周耀荣；博纳公司为受委托方（乙方），签字人高海泉。博纳公司通讯地址：深圳市福田区，电子邮箱ｌｉｕ×××＠ｉｂｏｎａ.ｃｎ。合同称，作为电子商务及网上从事计算机产品软件技术开发与销售业务的专业服务者与提供者，根据《演艺圈开发需求脑图》中记载的内容和要求，结合甲方实际需要，乙方为甲方《演艺圈开发需求脑图》（一期不包含视频/直播相关内容）项目提供软件技术服务与支持。项目名称：演艺圈app演艺平台原生开发，开发的内容包括APP,前台，后台等；技术服务方式：采用PHP、MYSQL、IOS、android原生开发；产品适用环境：（1）安卓android，适用手机品牌：小米MI……适用系统：Ver4.0-5.0(机型适配指谷歌原生的android系统版本)；（2）苹果IOS，适用机型：iphone5……适用系统：IOSVer7.0-9.1(如因手机硬件原因导致系统不稳定或难以运行，非乙方责任)。合同第一条1.4项、2.3项、2.6项、2.10项、2.11项分别约定：“项目工期：自甲乙双方确认《演艺圈需求规格原型说明书》（由乙方提供，且需详细到每一功能模块，一期暂不开发视频/直播相关内容）并确认UI设计后，90个工作日内完成本项目的开发工作。在甲乙双方需求对接完后，乙方应向甲方出具《演艺圈项目需求UI设计》交甲方审核确认，甲方应对该方案提出的修改意见，乙方应于3个工作日内修改完毕，如出现甲方延误确认，顺延该环节的确认期限。”“在乙方各项开发功能完成后，应就项目进行功能及性能测试，并向甲方提交测试报告，确保开发项目的各项功能能正常使用。”“若逾期开发超过30个工作日，乙方仍未按本合同约定要求完成本项目的开发工作，则甲方有权要求乙方退回之前所收的款项，并支付本合同总款项金额的30%作为违约金。（甲方的责任除外）”“经甲方验收或试运行检查，发现乙方交付的开发成果不符合验收标准的，甲方有权要求乙方限期改正，乙方应于接到甲方通知之日起10个工作日内修改完毕，并再次通知甲方验收。若经甲方二次验收后，仍不符合本合同约定的验收标准的，甲乙双方在第三次商议修改时间，仍不能按时交付，则甲方有权解除本合同，并有权要求乙方退回之前所收的款项，并支付本合同总款项金额的30%作为违约金。”“乙方应向甲方交付的验收内容包括：产品APP包装包，本项目及其相关程序、项目，设计说明文档等及其它一切成果和资料等（上述资料应以电子文档形式、可运行的项目程序、甲方认可的形式按照本合同的规定向甲方交付）。”合同第二条1项、2.1项、2.2项、2.3项、2.4项、3项分别约定：“本项目的总开发费总额（不含税价）：为人民币大写：贰拾伍万元整，小写：￥250000.00元。”“甲方根据开发进度及技术服务成果的实际交付日期，分期向乙方支付技术服务费”“首期款：合同签订后，甲方应在3个工作日内支付合同总额的50%作为定金，计人民币（大写）：壹拾贰万伍仟元整，（小写）：￥125000.00元至乙方指定账户。”“进度款：乙方完成整体项目开发符合上线条件，并上线后3个工作日内，甲方确认后应在5个工作日内支付合同总额的40%作为进度款，计人民币（大写）：壹拾万元整（小写：￥100000.00元）至乙方指定账户。”“尾款：乙方完成项目整体开发，甲方收到乙方通知后，组织相关技术人员进行验收，上线运行一个月后，所有功能模块皆可走通，甲方应在3个工作日内支付乙方合同总额的10%尾款，计大写人民币：贰万伍仟元整（小写：￥25000.00）至乙方指定账户。乙方在确认收到款项后的1个工作日内，交付甲方所有与项目相关的文件（含源代码及一切技术资料）。”“乙方提供的服务或成果不符合本合同约定或法律规定的，其无权要求取得相应款项，甲方有权拒付或扣减甲方应当支付的相应款项，同时因乙方原因给甲方造成损失的，乙方应当负责赔偿甲方所有损失。”合同第四条2项、3项、4.1项、4.2项、4.3项、4.4项、4.5项、4.7项分别约定：“如任何一方不履行、不完全履行、不适当、不及时履行本合同或违反本合同的任何可补偿性条款，在收到另一方书面通知后5工作日内，仍未就其违约行为作修正及补偿，另一方可以书面通知违约方即时终止本合同且不承担任何责任，违约方应向守约方返还已交付的全部费用、退还守约方为履行本合同而提交的图片、数据、文件等所有原始资料及复印件等所有资料，并对守约方由此受到损失承担全部损害赔偿责任。”“如在项目签订后甲乙任一方无故终止合同，除各返原物外，另违约方需向守约方支付合同总额的30%作为违约金”“甲方提供资料不符合合同约定的，乙方有权要求顺延因此受到影响的服务成果提交时间；乙方向甲方提交时间变更书面或电子邮件通知，甲方应当在收到书面通知或电子邮件后3个工作日内予以答复；逾期未予答复的，视为不同意。”“甲方未能按本合同约定支付合同款项的，逾期超过七个工作日，甲方应当按照合同价款的3‰支付违约金，经乙方催告后满十五个工作日迟延仍然存在的，乙方有权暂停提供技术服务工作。”“甲方无正当理由对乙方服务成果不验收、不接受的，自约定的验收和接受时间届满15个工作日后，乙方有权要求甲方支付应付的合同价款。”“乙方不能按照约定的时间提供技术服务或者提交服务成果的，逾期超过七个工作日，按照合同价款的3‰向甲方支付违约金，迟延超过15个工作日时，甲方有权单方面解除本合同，乙方退回甲方已支付的费用，并赔偿甲方一切损失。”“乙方提供的技术服务不符合本合同要求的，乙方应当按照甲方要求在7个工作日内进行更正和修改，并自行承担由此产生的额外费用。”“乙方提供的技术服务或提交的技术成果，经过更正和修改仍不能满足甲方实际需求的，或与甲方签订本合同之初衷和目的相悖的，或不能满足《开发需求脑图》中甲方实际需求的，甲方有权自上述条件成就之日起解除合同，并有权拒付或扣减相应款项，由此给甲方造成的经济损失由乙方承担，而且甲方有权向其追偿本项目总开发费用的30%。”合同第六条1项、3项、4项分别约定：“本合同从双方当事人签字盖章之日起生效”“无论本合同基于什么原因终止，双方都应结清合作期间双方所发生的相关债务，双方另有约定的除外。”“在本合同有效期内，若乙方发生下列任何一种情况，甲方可立即解除本合同且不影响其向乙方请求损害赔偿的权利：（1）违反本合同的约定且自接到甲方要求改正的书面通知后5工作日内仍未改正的；（2）如乙方提供的服务不符本合同要求，且未按要求及时补救或虽进行补救但仍对本合同履行构成不必要影响时；……”合同第九条3项、5项、第6项、第8项、第9项分别约定：“本合同任何修改都必须以书面形式进行，并经本合同双方授权的代表正式签字并盖章才能生效。”“测试Beta版本环节是指乙方在指定的服务期限内按照甲方确认的产品需求表及产品原型进行测试并交付给甲方产品Beta版本（公测版），由甲方进行测试初验。乙方在甲方确认的产品需求矩阵及产品原型范围内有义务对甲方测试的问题无偿进行修正完善。”“技术服务工作成果的验收方法：正式上线运行后甲方组织相关技术业务人员对所完成工作进行验收，确认合格后在《服务确认单》上签字并盖章确认。”“甲方应在约定的时间组织相关人员进行测试验收，如超过十五日不验收，视为验收合格，如果甲方在验收期内提出在运行过程中因程序本身源代码缺陷造成的问题，乙方应在收到甲方通知后一个工作日内予以响应并组织相关技术人员进行处理，直至问题处理完成才予以验收。”“双方确定，在本合同有效期内，甲方指定黄凯华为甲方项目联系人，乙方指定高海泉为乙方项目联系人……”经查，上述所称“黄凯华”身份证姓名为黄路。二、双方履行涉案合同的事实2016年2月2日，博纳公司开具收款收据，载明收到周耀荣演艺圈演艺平台开发项目定金125000元。周耀荣方于当日向博纳公司转账50000元，2月16日转账75000元。之后，周耀荣方又于4月15日转账12760元。2016年3月7日，博纳公司向黄路发送电子邮件，内容为“伯乐马-黄总，您好！附件是配合清单，请注意查收！”该邮件附件中包括“伯乐马-甲乙方配合及交付清单V1.xls”“伯乐马-立项会议文档.docx”。其中附件“甲方配合清单”列明“客户配合事项（注：制约项目进度）”包括13项内容，即公司UI设计手册（保护logo源文件、标准色等）、苹果/安卓市场的开发者账号、支付宝账号、所有常规/非常规的业务流程、后台导入/导出数据报表数量及具体要求、相关参考网站/app（附带登陆账号密码）、短信平台接口、域名云主机购买、网站备案、打包keystore资料、微信申请、shareSDK第三方用户的申请。“乙方配合清单”则列明内容为UI源文件、移动端原型源文件、管理端原型源文件、管理端源文件、接口设计文档、数据库设计文档。“项目工作步骤”列明内容为项目立项会、需求整理、移动端原型整理、原型讨论、原型修改、移动端UI设计、网站后台原型设计、网站后台原型讨论及修改、管理端原型设计、原型讨论、原型修改（以上预计15-30工作日）、整体设计（预计7-10工作日）、进入编码阶段（根据实际情况完成）、交付测试、回归测试、上线交付。2016年3月30日，博纳公司向黄路发送关于【待确认】-伯乐马-演艺圈-UI风格图的电子邮件，内容包括“附件是伯乐马-演艺圈UI风格图”，请在里面选择喜欢的一套风格，我们会根据您的选择出整套UI设计图，请尽快确认，这样方便我们下一步工作的开展”；当日，黄路回复邮件选择第二种风格。2016年4月14日，博纳公司向黄路发送关于【资料申请】-伯乐马的电子邮件，内容包括“以下是我司短信业务的两个报价，请确定使用哪一个。1.20000条0.06元/条（含税）总共：1200元2.50000条0.055元/条（含税）总共：2750元建议贵司购买如下配置服务器：4核16G内存8M带宽，该配置可以满足我们项目日常使用情况，9160元/年【甲方直接打款到阿里云…】域名：建议购买新网上的域名，解析稳定，80元/年【…客户的项目名为伯乐马演艺圈…】建议5年，总共400元@运维工程师，请配合下黄总办理相关业务。”2016年4月20日，博纳公司向黄路发送关于【资料申请】-伯乐马的电子邮件，内容包括“黄总，附件是我们总后台的原型，请仔细查看。望此次能确认总后台原型…”2016年4月28日，博纳公司向黄路发送关于【待商讨】伯乐马分销后台-UI设计稿的电子邮件，内容包括“黄总，附件是我们分销端后台的原型，请仔细查看，有问题大家一起探讨。”2016年5月3日，黄路回复邮件称“UI的色调需要调整，三级分销后台需要调一下，数据库的可扩展性一定要强大…请加紧时间，进度不够快。”当日下午，博纳公司回复上述邮件称“关于我们UI设计的调整，需要您抽时间过来一趟，大家一起看看UI设计，把问题指出来这样比较好…”2016年5月6日，博纳公司向黄路发送关于【待确认】UI设计稿的电子邮件，内容包括“黄总，附件是我们APP界面设计图‘演艺圈效果图V2.0.zip’，请查收！望此次能确认UI设计稿…”当日，黄路回复邮件称“进度表还没发过来给我？”2016年5月9日，黄路回复的电子邮件内容为“UI看过了，版面风格很好，就按照这样的色调，细节的方面请大家看看页面有没有漏了的，比如，游客进来是从哪个页面进来浏览等等……logo还没有出来，等”。当日，博纳公司再次回复电子邮件，内容包括“黄总，logo属于甲方配合清单的内容，我们公司没有专业做logo的人员……那UI这边基本能够确认的话，我们就可以先开始让开发搭建页面了……那UI这边我们就定这一套了？”2016年6月25日，周耀荣一方向博纳公司发邮件，询问“伯乐马app原型和ui已经确认两个月了，现在开发得怎样？”2016年7月6日，博纳公司通过微信向黄路表示“现在项目界面搭建好了，在逐一做功能点”；8月17日表示“进度表更新好发给您，先发个安装包给您”，并称“现在基础功能点出了一些，目前在整理功能的业务流程”；黄路回复“我再问一次，什么时候内测？”博纳公司表示“9月15日，内测前必须要把支付接入，支付接口申请下来顺利的话要一周的时间，不然给你们的测试版本，支付都没有，会造成主流程有问题。”2016年8月30日，博纳公司向黄路发送关于伯乐马进度汇报的电子邮件,内容包括“附件是功能模块的完成进度表，按照目前的进度：……估计9月16号，可以输出完整功能BATE版本给贵司内测。加上一个礼拜的优化调整，估计9月25日提交公测，公测没大问题了，我们就可以安排部署上线，逐步推广使用陆续优化。以上是【伯乐马】项目的大概完成情况和里程碑节点，请知悉！”周耀荣当庭对附件内容进行了确认。2016年8月31日，博纳公司通过微信向黄路发送安装包，称“这是目前的安装包Demo，可以装上先看看。”2016年9月14日，博纳公司收到周耀荣委托广东正觉律师事务所发送的（2016）粤正律函字第09133号律师函，大意为：因博纳公司未在约定期限内完成开发工作并通知周耀荣验收，基于该严重违约行为，现合同约定期限已到，周耀荣要求解除双方签订的演艺圈APP软件开发合同，限博纳公司在收到律师函后三日内返还周耀荣支付的所有开发费用125000元；如未在三日内返还，周耀荣将采取法律途经维护自身权益，届时博纳公司将承担返还开发费125000元及支付合同总款项金额30%的违约金75000元、并因违约损失商业信誉留下不良信誉记录的责任。2016年9月19日，博纳公司向周耀荣复函，大意为：博纳公司并未超期。周耀荣方项目负责人与博纳公司于2016年5月5日当面确认《演艺圈需求规格原型》，以此作为正式的软件开发需求书，此后博纳公司按此进行开发工作，按双方确认的项目开发进度表，博纳公司应在2016年9月16日向周耀荣提交Beta测试版进行测试验证、9月25日提交公测版。博纳公司已完成演艺圈APP项目Beta测试版内测工作，因9月16日为中秋法定假日而顺延到9月19日提交，并已提前告知周耀荣方项目负责人。因周耀荣不积极配合测试验收工作，造成的项目进度延迟并导致项目流产的责任应由周耀荣承担。另，甲方配合清单中需周耀荣方提供的第三方内容至今未提供，造成项目组部分工作无法正常开展，产生的相关延误责任应由周耀荣承担。2016年9月19日，博纳公司向黄路发送关于伯乐马Bata测试版的电子邮件,内容为“黄总，您好！目前项目的Beta测试版本现在提交，望贵司尽快安排人员进行项目上的配合和软件验收测试工作。分销后台…账号…密码；系统总后台…账号…密码…以下是app安装包的二维码。”邮件中附有二维码图片。同日，博纳公司工作人员肖奉先在微信群“演艺圈APP开发”中提示黄路查收邮件并附有邮件截图，9月20日至23日，博纳公司工作人员高海泉在该微信群内两次要求黄路对博纳公司提交的演艺圈App测试版安排技术人员做验证测试，黄路均未回复。2016年9月30日，高海泉在该微信群中发布二维码图片，并说明“直接扫码安装。苹果IOS系统”。2016年9月26日，周耀荣向博纳公司出具商函，大意为其与博纳公司在3月已确认UI设计，并催促交付进度表对接工作，但未被理会；4月就需配合的第三方内容向博纳公司支付了款项。博纳公司拖到已逾期才临时发送勉强整合的测试版，还无法打开，反映多次也无人理会，是博纳公司造成延期，构成违约，责任由博纳公司承担。2016年9月28日，周耀荣委托广东正觉律师事务所向博纳公司的复函发出回复函，再次重申上述内容，要求博纳公司协商处理当前问题。该回复函于2016年9月30日投递至博纳公司。2016年9月29日，博纳公司向周耀荣发出关于《演艺圈APP开发》项目工作联系函，称根据双方约定，其在完成演艺圈APP项目整体开发符合上线条件，目前上线已经有10天，经周耀荣确认后应在5个工作日内，向博纳公司支付合同总额的40%进度款100000元，现博纳公司已于2016年9月19日完成约定的开发任务，但该项工作成果提交后，经多次催告，仍未能将合同应付款项支付给博纳公司，要求周耀荣将合同约定的进度款项及时支付至指定账户。博纳公司未举证该工作联系函是否送达至周耀荣一方。2017年3月8日，黄路出具书面证言，称其一直受周耀荣委托与博纳公司的项目负责人联系，负责催促和确认项目的进度等相关事宜，双方主要通过邮件和电话往来，其于2016年5月与博纳公司确认UI设计，博纳公司应于2016年9月16日向周耀荣提交软件的测试版，并于9月25日提交公测版，但到期后，博纳公司向其提交了一个不能下载也无法打开的App软件，后其多次向博纳公司反映无果，至今该软件一直无法安装打开及使用，且博纳公司并未提交公测版。三、涉案软件APP的相关事实2017年1月19日，广东省广州市方公证处出具电子数据保管函，证明帐号为ｕ133********的帐户于该日利用该公证处“公证云”系统“手机拍照”功能，保存了多张拍摄的关于手机的照片。照片中手机截图画面分别显示“2016年9月30日上午10:26伯乐马版本1.0（ｂｕｉｌｄ12）大小：8.3ＭＢ更新于：2016-09-23无法下载应用此时无法安装‘伯乐马’。”“2016年9月30日上午10:28无法下载应用此时无法安装‘伯乐马’”“2016年8月31日上午9:58无法下载应用此时无法下载‘Ｂｏｌｅｍａ’。”2017年2月7日，黄路在广东省广州市方公证处操作ｉｐｈｏｎｅ6ｓ手机使用该处无线网络登录961×××＠ｑｑ.ｃｏｍ的邮箱，进入“【重要】-伯乐马Ｂｅｔａ测试版-20160919-肖奉先”邮件页面，长按识别该页面中的二维码,显示“ＴｈｅＡｐｐｈａｓｅｘｐｉｒｅｄ.该应用已过期如遇问题，请联系ｓｕｐ×××＠ｐｇｙｅｒ.ｃｏｍ”“2014～2015?蒲公英ＡｌｌＲｉｇｈｔｓＲｅｓｅｒｖｅｄ”等字样。该处为上述过程作了公证，出具（2017）粤广南方第006933号公证书，并向周耀荣开具公证费发票1500元。2017年3月5日，博纳公司自行打印、提交蒲公英应用内测管家网页截屏，显示BLMandroid版本自2016年9月8日第一次上传至该网站，共下载1次；9月9日更新版本共下载1次；9月12日更新版本共下载1次；9月13日更新版本共下载1次；9月19日更新版本共下载3次。伯乐马ios版本自2016年9月8日第一次上传至该网站，共下载1次；9月9日更新版本共下载0次；9月12日更新版本共下载1次；9月13日更新版本共下载6次；9月23日更新版本共下载9次。2017年3月13日，依博纳公司申请，深圳市版权协会进行了如下操作：1.使用博纳公司提供的账户密码登录蒲公英应用内测专家（××），在“我的应用”中分别点击“ＢＬＭＡｎｄｒｏｉｄ”和“伯乐马ｉＯＳ”两个应用，显示“ＢＬＭＡｎｄｒｏｉｄ”最新版本为1.0（ｂｕｉｌｄ27）,最后更新日期为2016年9月19日，下载次数共60次，显示“伯乐马ＩＯＳ”最新版本为1.0（ｂｕｉｌｄ12），最后更新日期为2016年9月23日，下载次数共28次；2.使用博纳公司提供的账户密码登录ｉｂｏｎａ项目管理系统（ｈｔｔｐ:／／182.××××，点击“我的地盘-首页-伯乐马（演艺圈）-测试-ｂｕｇ”，显示产品“伯乐马（演艺圈）”的测试数据创建时间为2016年8月15日至2016年9月13日；3.使用博纳公司提供的苹果手机和安卓手机分别对（2017）粤广南方第006933号公证书所涉邮件中的伯乐马安装程序二维码进行扫描，下载安装伯乐马程序，并打开使用该应用程序对相应功能界面进行浏览，安装页面显示ＩＯＳ版本信息为：内测版，1.0（ｂｕｉｌｄ14），更新于3小时前，另有历史版本1.0（ｂｕｉｌｄ13）更新于4小时前和1.0（ｂｕｉｌｄ12）更新于2016年9月23日；显示安卓版本信息为：1.0（ｂｕｉｌｄ27）,2016年9月19日；4.使用博纳公司提供的账户密码登录腾讯邮箱，对其中部分邮件内容进行浏览保存。深圳市版权协会为上述过程出具电子证据固化报告。同日，深圳市版权协会向博纳公司开具电子证据固化服务费发票共4000元。其中，上述测试数据文档显示多个ＢＵＧ，如商演管理-商演在后台和ａｐｐ的排列顺序不一致、根据发布人昵称进行搜索出现的问题等，大多数标注未能解决。周耀荣称博纳公司提交的上述证据显示伯乐马的两个软件端，均显示更新于3小时前，存在后期修改软件后台、伪造证据的可能。另周耀荣提供的2016年8月30日邮件附件“伯乐马app定制开发功能表（商家艺人端）”显示“找艺人”“找商演”“艺人特有功能”多处未完成；“伯乐马app定制开发功能表（PC总后台端）”显示“系统架构&数据库设计”“用户管理”“订单管理”“分销管理”“财务管理”等多处均未完成；“伯乐马app定制开发功能表（分后台总代理端）”显示“负责人”“我的钱包”“区域代理”等多处均未完成。另，博纳公司为证实部分费用为周耀荣方需负担的履行合同部分，共计12760元，提交了报价邮件、域名及阿里云及短信购买订单截图。其中2016年8月25日，新开bolemayy.com英文域名，费用286元；同日新开阿里云服务器（包年），费用9395.1元；8月4日订购50000短信，黄路于2016年4月15日私账收12760元业务办理费用，由运维工程师配合协助处理。周耀荣对此未予否认。一审法院认为，合同是双方当事人之间设立、变更、终止民事权利义务关系的协议，依法成立的合同对双方当事人具有约束力。本案为计算机软件开发合同纠纷。周耀荣与博纳公司双方签订的《演艺圈APP软件开发合同》是各自真实意思表示，内容没有违反国家法律、行政法规的强制性规定，于签订之日2016年2月2日起成立并生效。周耀荣与博纳公司均应当遵循诚实信用原则，按照合同约定全面履行各自的义务。根据审理查明的事实，对双方的争议焦点可归纳如下：第一，涉案合同解除条件是否达成？第二，何方行为导致涉案合同未能继续履行？第三，双方责任如何承担？现逐层分析如下：第一，涉案合同解除条件是否达成？涉案合同第一条第1.4项及第四条第4.4项约定，项目工期为双方确认UI设计后90个工作日内，博纳公司如不能按照约定的时间提供技术服务或者提交服务成果，迟延超过15个工作日时，周耀荣有权单方面解除本合同。根据双方对合同的实际履行情况，双方在2016年5月9日由周耀荣一方的黄路通过电子邮件确认UI设计。APP软件的开发工期应在此时起算90个工作日内，即至2016年9月13日截止，博纳公司最迟在2016年10月10日仍未开发完成时，周耀荣才享有单方解除权。因此2016年9月14日周耀荣要求解除合同的律师函送达博纳公司之时，周耀荣尚不享有单方解除权。在博纳公司明确表示不同意解除合同并要求继续履行后，周耀荣一方对博纳公司9月19日提交的软件Beta内测版本进行了下载尝试，以其实际行动继续履行合同，此后也未再提出解除合同的要求。至本两案纠纷最早起诉之日前，即2017年1月10日前，周耀荣未有效行使过单方解除权、合同也未约定自动解除条款，合同尚未解除。根据合同第九条第5项约定，测试Beta版本环节是指博纳公司在指定的服务期限内按照周耀荣确认的产品需求表及产品原型进行测试并交付给周耀荣产品Beta版本（公测版）。博纳公司至今仍未向周耀荣提交软件Beta公测版本，即未能按照约定的时间提交服务成果已超过15个工作日，周耀荣已享有单方解除权。关于博纳公司辩称其已完成涉案软件开发，并将涉案软件APP在第三方软件下载平台上进行上线测试的意见，经查，进行平台测试为软件开发应有环节，并不能证明该软件已经完成开发并上线，且根据博纳公司提交的证据，在2016年8月15日至9月13日出现的测试BUG大多数标注未能解决，结合周耀荣一方所称无法下载或下载后不能运行的陈述，一审法院无法认定在软件Beta公测版本都未完成的情况下，博纳公司向周耀荣交付了符合质量标准的服务成果，即已开发完成可上线使用的软件。诚然，软件开发系双方均需付出创造性劳动成果的活动，但根据配合清单、项目工作步骤内容，在开发过程中，博纳公司起主导作用，其应就开发过程中的节点控制负责，否则，应承担举证不能的不利后果。现周耀荣起诉要求解除合同，博纳公司除举证上传在第三方平台的两个测试版软件外，不能证明整体项目开发工作已完成并符合上线条件，在本案起诉材料初次送达博纳公司时，涉案合同已有效解除。一审法院确认该合同于本案诉讼中解除，不再处理周耀荣相关诉讼请求。第二，何方行为导致涉案合同未能继续履行？证据显示，2016年9月30日的手机截屏图片证实周耀荣一方两次尝试下载博纳公司在邮件中提交的“伯乐马”软件APP，均显示无法下载安装；2017年2月7日黄路尝试下载邮件附件二维码所示软件，却提示该应用已过期，说明至2017年2月该软件APP仍无法下载安装，即博纳公司提交的软件APP不符合合同要求。博纳公司声称该软件APP不能下载是周耀荣方自身操作问题、已向周耀荣方说明须提供测试手机的UDID方可测试的主张，没有证据证实，一审法院不予采信。关于博纳公司声称应由技术人员进行验收而不应由非技术人员操作的意见，经审查，“伯乐马”APP软件在下载安装阶段即出现问题，并未进入运行阶段，且在智能手机广泛普及的时代，通过手机下载安装APP是日常生活中普通民众经常进行的一项常规性操作，并非需要专业技术人员才可完成，故是否技术人员进行操作不影响该软件无法下载安装的事实。至于博纳公司于2017年3月13日通过深圳市版权协会对该软件APP进行的下载运行测试，因其IOS软件版本显示在2017年3月13日当天做过修改，无法确定与2016年9月19日提交给周耀荣的版本一致，故不能证明其提交给周耀荣的软件可以下载运行。2016年9月30日周耀荣送达博纳公司的律师函书面告知博纳公司提交的软件APP无法打开，但博纳公司除在微信群“演艺圈APP开发”中表示“直接扫码安装。苹果IOS系统”外，并未积极解决该问题。博纳公司声称在交付试运行后曾通过专人对周耀荣方进行服务和支持、追踪软件下载中出现问题的意见，证据不足，一审法院不予采信。因博纳公司提交的软件APP不能下载安装，在接到周耀荣书面通知后也未积极补救，导致对方无法进行验收，合同无法继续履行，博纳公司行为已构成根本违约，应按合同约定承担违约责任，其关于周耀荣不按约定验收、违约在先的意见，一审法院不予采纳。关于博纳公司称周耀荣在合同期限内无故解除合同、应支付30%违约金的主张，如前文所述，周耀荣虽发出解除合同律师函，但之后并未停止实际履行，并向博纳公司反馈了涉案软件APP无法打开的情况，可见合同并未因此终止，周耀荣未违反合同约定。至于博纳公司关于周耀荣未提供配合清单中的第三方内容、造成工期相关延误的意见，其亦未举证证实，且按照常理推断，若周耀荣需配合的内容未提供，博纳公司交付的软件更不可能实际运行，该意见不影响对双方行为性质的认定。一审法院认定博纳公司在合同约定期限内没有正确履行合同义务，虽交付了部分软件，但不能证实该部分软件符合相关附件提供的功能，且经周耀荣一方催促后、发送律师函沟通的方式催告，博纳公司在合理期限内仍未能履行交付顺利运行的软件义务，构成违约。第三，双方责任如何承担？《中华人民共和国合同法》第九十七条规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。根据涉案合同第一条第6项约定，若博纳公司逾期开发超过30个工作日仍未按要求完成项目开发，则周耀荣有权要求博纳公司退回之前所收的款项，并支付该合同总款项金额的30%作为违约金。博纳公司至2017年该合同解除前仍未能完成涉案软件的开发，应按约定返还周耀荣先前支付的125000元开发费用。至于违约金问题，因软件开发是一个双方共同创作的过程，本身带有风险，委托方也要负责开发过程中的部分技术支持和配合；从双方沟通的情况看，在这个过程中，UI设计就进行了相当长时间的沟通，交付合格软件的前提也需要周耀荣一方的测试配合，考虑到博纳公司确实为软件的开发付出了劳动，从公平角度出发，本案虽然认定系博纳公司违约，在其主观过错并不明显的情况下，不再支持周耀荣一方主张的违约金诉讼请求。至于12760元，结合计算机软件开发、运行的实际情况，以及现有证据内容，应为博纳公司代周耀荣购买的第三方服务费用，博纳公司并非实际收取人，该费用系周耀荣履行涉案合同自行负担的费用，不在本合同约定开发费用之列，周耀荣要求博纳公司退还的诉讼请求，一审法院不予支持。至于周耀荣为本案纠纷所支出的公证费用1500元，并非开发合同履行、解除必然产生的费用，该诉讼请求，一审法院亦不予支持。至于博纳公司反诉要求周耀荣支付技术开发费用125000元，博纳公司不能证实完成的项目开发符合上线条件，进度款支付的条件不能成就，请求依据不足；相应的，博纳公司要求周耀荣支付违约金75000元、维权费用4000元，均依据不足，一审法院不予支持。综上所述，一审法院依照《中华人民共和国合同法》第九十三条第二款、第九十六条第一款、第一百一十一条，《中华人民共和国民事诉讼法》第六十四条第一款，《最高人民法院关于适用的解释》第九十条规定判决：1.深圳博纳移动信息技术有限公司于判决生效之日起十日内一次性返还周耀荣合同开发费用125000元；2.驳回周耀荣其他诉讼请求；3.驳回深圳博纳移动信息技术有限公司的全部诉讼请求。如果未按判决指定的期间履行给付金钱义务，应当依照《中华人民共和国民事诉讼法》第二百五十三条规定，加倍支付迟延履行期间的债务利息。本诉案件受理费4514元，由周耀荣负担1714元，深圳博纳移动信息技术有限公司负担2800元。反诉案件受理费4360元，由深圳博纳移动信息技术有限公司负担。二审中，当事人没有提交新证据。本院经审理查明，一审法院查明事实属实，本院予以确认。本院认为，本案为计算机软件开发合同纠纷。在一审程序中，周耀荣为本诉原告、反诉被告，博纳公司为本诉被告、反诉原告。一审法院对于本诉和反诉两部分，分别以两个案号【（2017）粤73民初192、857号】、同一份民事判决的形式予以下判。之后，本诉原告周耀荣、反诉原告博纳公司分别上诉至本院。对于一审反诉部分的上诉，本院以（2019）粤知民终415号案进行审理，并已作出判决且已生效。作为（2019）粤知民终415号案上诉方的博纳公司，又在本案二审中以相同的请求和理由提起上诉。由于该部分诉请已由（2019）粤知民终415号案件进行审理，并且已经作出判决且已生效，因此，本案对博纳公司在本案二审中提起的上诉，不再审理。本案仅针对一审本诉原告周耀荣提起的上诉进行审理。根据当事人的上诉请求和答辩意见，本案的争议焦点为：1.博纳公司是否依照合同约定交付了涉案软件。2.博纳公司是否应当支付违约金75000元以及赔偿周耀荣为配合软件开发支出的12760元、支付公证费1500元。关于争议焦点一。涉案合同第一条第5项约定，乙方（博纳公司）保证其开发的本项目需求内容，并能够在甲方（周耀荣）机房服务器上运行，并具备上线能力。涉案合同第11项约定，乙方应向甲方交付的验收内容包括：产品APP安装包；本项目及其相关程序、项目，设计说明文档等及其他一切成果和资料等（上述资料应以电子文档形式、可运行的项目程序、甲方认可的形式按照合同的规定向甲方交付）。涉案合同第九条第5项约定，测试BETA测试版本环节是指乙方在指定的期限内按照甲方确认的产品需求表及产品原型测试并交付给甲方产品BETA版（公测版），由甲方进行测试初验。乙方在甲方确认的产品需求矩阵及产品原型范围内有义务对甲方测试的问题无偿进行修正完善。2016年8月30日博纳公司的代表向周耀荣的代表发出邮件，内容为：“……目前根据完成的功能模块，我们内部已经在逐步根据模块进行功能点的测试，估计9月16号可以输出完整功能BATE版本给贵司内测。加上一个礼拜的优化调整，估计9月25号提交公测，公测没有问题了，我们就可以安排部署上线，逐步推广使用陆续优化……”本案中，博纳公司主张其已经交付了BETA测试版软件，并认为该版本的交付即是其已经完全履行合同义务。本院认为，本案证据显示，博纳公司在微信中向周耀荣提供了下载测试软件的二维码，而周耀荣依据该二维码，使用苹果手机无法成功下载该BETA测试版软件。根据涉案合同第一条1.3项“本产品适用环境”的约定，该软件适用环境包含苹果手机。因此，如果博纳公司主张其已经交付可供下载测试的软件，应当进一步举证反驳周耀荣前述证据，而本案中博纳公司并无举证其已经提供了能够下载安装的BETA测试版软件。退一步而言，即使博纳公司已经在蒲公英内测平台提交了能够下载安装的BETA测试版软件，那么，依据涉案合同和前述2016年8月30日邮件的约定，博纳公司应当先交付BETA测试版，经过“优化调整”后，博纳公司再交付公测版，并且，最终交付的软件具备上线功能。由此可见，在有约定最终交付“优化调整”后的公测版的情况下，BETA测试版是博纳公司在完成整个软件开发过程中的阶段性产品。而本案中，博纳公司仅仅主张其交付了BETA测试版，并未证明其已经交付了“优化调整”后的公测版，也未证明该阶段性产品BETA测试版已经具备公测版的品质以及具备上线功能等条件。需要特别指出的是，在博纳公司提交BETA测试版软件之后，虽然双方不再针对完善软件的技术问题进行沟通，但是，博纳公司依约交付“优化调整”后的公测版，该履行并不依赖于周耀荣的配合。综上，一审判决认定博纳公司在合同约定期限内没有正确履行合同义务，并无不当，本院予以维持。关于争议焦点二。涉案合同第四条第3项约定，若逾期开发超过30个工作日，乙方（博纳公司）仍未按本合同约定要求完成本项目的开发工作，则甲方有权要求乙方退回之前所收的款项，并支付本合同总款项金额的30%作为违约金（甲方的责任除外）。第4.4项约定，乙方不能按照约定的时间提供技术服务或者提供服务成果的，逾期超过七个工作日，按照合同价款的3‰向甲方支付违约金；延迟超过15个工作日时，甲方（周耀荣）有权单方解除本合同，乙方退回甲方已付的费用，并赔偿甲方一切损失。本院认为，在双方履行合同当中，周耀荣已经发函催促博纳公司交付符合合同约定的软件。博纳公司无证据证明，其已经在合理期限内提交了符合合同约定的软件，应当认定博纳公司构成违约。周耀荣依据前述合同约定向法院提起诉讼解除涉案合同，一审法院认定涉案合同在本案诉讼中解除，并判令博纳公司返回周耀荣合同开发费用125000元，该认定并无不当，本院予以维持。至于违约金的问题。因软件开发是一个双方共同合作的过程，委托方也有义务依约配合开放方履行合同。从本案证据显示，双方在前期协商项目需求时，进行了长时间的沟通，而后，博纳公司也为软件开发作出阶段性成果，例如，2016年8月31日双方代表的微信记录显示：“这是目前的安装包DEMO，可以装上先试试”，2016年9月19日的邮件显示“目前项目的BETA测试版本现在提交，望贵司尽快安排人员进行项目上的配合和软件验收测试工作……”，前述内容证明博纳公司有为开发涉案软件付出劳动，其违约的主观过错并不明显。况且，尽管博纳公司最终能否交付公测版并不依赖于周耀荣的配合，在对方履行该义务时，周耀荣并不负有辅助义务，但是，周耀荣对于博纳公司提供的二维码不能实现软件下载之后，亦未针对软件技术问题与博纳公司进行积极沟通解决。考虑到博纳公司毕竟已经为履行合同付出了一定劳动、双方在合作履行期间的各自表现，基于公平原则，一审法院在已经判令博纳公司返还周耀荣合同开发费用125000元的情况下，不再支持周耀荣主张的违约金，并无不当。周耀荣还主张返还12760元服务费，因该笔费用系博纳公司代周耀荣购买第三方服务的费用，不在涉案合同约定开发费用之列。周耀荣主张其为违约造成的损失，缺乏事实依据，本院不予支持。周耀荣还主张公证费1500元也是违约造成的损失，该主张缺乏法律依据，本院不予支持。综上，周耀荣的上诉请求不成立，应予驳回；一审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项之规定，判决如下：驳回上诉，维持原判。二审案件受理费2031.5元，由周耀荣负担。深圳博纳移动信息技术有限公司已向本院预交案件受理费2800元，本院予以退回。本判决为终审判决。审判长  肖海棠审判员  肖少杨审判员  喻 洁二〇二〇年九月十八日书记员  谢宜桐