法小和 · 知识产权法律知识库
法条原文 · 司法解释 · 裁判案例(已脱敏)
资料库 / 裁判案例 / 刘某马福音计算机软件开发合同纠纷二审民事判决书

刘某马福音计算机软件开发合同纠纷二审民事判决书

裁判文书最高人民法院裁判日期 2020-08-07案由 商业秘密
引注:(2020)最高法知民终643号

全文

刘某马某计算机软件开发合同纠纷二审民事判决书 中华人民共和国最高人民法院 民事判决书 (2020)最高法知民终643号 上诉人(原审被告):刘某。 委托诉讼代理人:陈某,某律师事务所律师。 委托诉讼代理人:王某,某律师事务所律师。 被上诉人(原审原告):马某。 上诉人刘某因与被上诉人马某计算机软件开发合同纠纷一案,不服上海知识产权法院于2020年2月28日作出的(2018)沪73民初711号民事判决,向本院提起上诉。本院于2020年5月20日立案受理后依法组成合议庭,于2020年7月23日以互联网的方式进行了询问。上诉人刘某的委托诉讼代理人陈某、王某,被上诉人马某到庭参加询问。本案现已审理终结。 刘某上诉请求:1.撤销原审判决的第二、三、四判项,依法改判或将本案发回重审;2.本案一、二审诉讼费用全部由马某承担。事实与理由: (一)《直播平台委托开发合同》(以下简称涉案合同)对于委托事项具有阶段性约定,刘某已完成已付款阶段的全部工作,马某无权要求刘某返还已支付款项。原审法院认为刘某未按照涉案合同约定履行开发义务,曾交付的软件也不符合合同约定,软件无法使用,涉案合同因刘某的违约行为而解除,刘某应当向马某返还已收取的开发费用91000元,且应当支付自涉案合同解除之日(2018年10月18日)起至实际还款之日止的利息。刘某认为原审判决认定事实不清,证据不足,适用法律错误,具体如下:1.关于涉案合同委托事项阶段性约定。刘某与马某于2017年6月27日签订涉案合同,约定由马某委托刘某开发直播平台。同时,刘某与马某在委托开发合同中签订了附件一《项目建设工作进度与安排、价款、交付和验收方式》,约定了分阶段完成的工作。2.刘某完成了涉案合同委托事项阶段性工作。首先,根据双方约定,刘某完成了相关进度,马某支付了对应进度的款项,故在合同约定的阶段内,刘某完成了对应阶段的工作,马某也根据合同约定在刘某完成相应工作后支付了对应款项。其次,刘某与马某通过QQ进行沟通,相关证据也已证明刘某在对应阶段完成了工作。最后,刘某已根据马某的要求完成软件的设计:第一,2017年11月27日,马某通过QQ向刘某表示已经可以搜到软件;2017年11月28日,马某通过QQ向刘某表示已经可以收到验证码;2017年11月30日,马某表示搜狗、电信(天翼)审核通过了即上线。另外,刘某确认“女王直播”软件可以在网站××上下载并运行,具体网址为https://××/App/233110.html。网页内容显示,“女王直播”软件的上线时间为2017年12月12日。上述事实均表明,刘某已根据马某的要求完成软件的设计,软件已实现上线的效果。后续“女王直播”软件在部分主流平台下架的原因是因为“文网文”问题,即软件下架的原因并非刘某所造成。第二,软件的基本功能均已实现。关于软件的UE/UI设计,2017年8月21日刘某通过QQ邮箱确认UE/UI进度完成100%,马某无异议。关于软件登录问题,刘某确认“女王直播”软件可以在网站××上下载并运行,下载安装“女王直播”软件后,可以发现该软件的登录方式包含微信、微博、游客、手机、QQ五种方式,马某提出通过QQ无法登录软件,但后续刘某已解决该问题。关于软件的直播功能,刘某在原审中提交的视频证据表明,其所开发的计算机软件包含直播间以及直播送礼等功能。由于目前“女王直播”软件的服务器已停用,下载并安装成功的软件无法登录,用游客身份登录,即使登录成功,因为软件无法获取服务器,仍然会报错,因此刘某所完成的基本功能暂时无法一一得到验证。综上,刘某已根据每个阶段的开发要求,完成了每个阶段的工作。涉案软件已实现上线的效果,软件的基本功能均已实现,刘某不应当承担违约责任。3.马某在规定时间内未付款,已构成违约,违约责任不该归于刘某。2017年11月30日,马某已经表示产品审核通过上线,故马某应当支付此阶段费用,但其并未支付;截至2017年12月18日,刘某已经将代码发送给马某,马某应当支付此阶段费用,但其依然未支付,马某的上述行为已构成违约。4.《女王直播》存在的问题主要为连麦问题,系第三方SDK问题所致,刘某无需承担违约责任。首先,涉案合同第四章双方的权利义务第4.1条第(5)项约定:“甲方有责任保证提供的腾讯云S某某可以满足主要的开发需求,包含直播、连麦、电台、IM通信、美颜滤镜。”但在开发过程中,刘某发现腾讯云S某某不支持电台和连麦功能,刘某向腾讯公司多次提交工单询问原因及解决方式,腾讯没有提出解决方案,且明确腾讯云S某某不同时支持连麦、电台功能。由于腾讯云S某某无法满足开发需求,刘某开发完成的软件无法实现需要腾讯云S某某支持的连麦和电台功能。所以,软件存在问题的原因系由马某所致。其次,即使马某提供的SDK无法满足软件开发需求,刘某仍多次帮助其寻找解决连麦的问题,包括采用游戏语音代替SDK等方案,但游戏语音仅支持语音服务,不提供视频,而且不能实现实时语音,因此无法实现连麦和主播功能。刘某已经尽力协助解决问题,但软件存在问题的根本原因在于马某提供的SDK无法满足开发需求,与刘某无关。综上,刘某所开发完成的软件可以实现上线效果,且软件的基本功能也均已实现,刘某完成了涉案合同的委托事项阶段性工作,马某应当支付各阶段委托事项的对应款项给刘某,刘某没有理由返还已收取的开发费用91000元。另外,刘某开发的软件部分功能无法实现是由于马某提供的腾讯云S某某不支持电台和连麦功能,软件存在问题是由马某造成的。马某违约在先,导致刘某开发软件的功能不完整,因此,马某无权要求刘某返还已支付的开发费用91000元。退一步讲,即使刘某需向马某返还费用,考虑到刘某所开发完成的软件可以实现上线效果,且UE/UI进度完成100%,软件的其他基本功能也均已实现,马某无权要求刘某全额返还已支付的开发费用。简言之,即使刘某需向马某返还费用,也应考虑刘某已完成的工作量,返还金额应当按照比例折算,而非将已收取费用全额返还。 (二)马某无权要求刘某赔偿腾讯云服务器费用1626.52元。在原审判决中,原审法院认为涉案合同仅约定软件上线后产生的服务器费用由马某负担,并未明确软件开发过程中的服务器费用由谁负担,但刘某与马某之间的QQ聊天记录显示,刘某支付了部分服务器费用,并向马某表示“不过开发完之后服务器你自己记得续费”,原审法院据此认为刘某已经认可软件开发过程中的服务器费用由刘某承担。马某提交的现有证据证明其在软件开发过程中共计为服务器续费1626.52元,该费用应当由刘某支付给马某,并支付自2018年4月1日起至实际付款之日止的利息。刘某认为原审判决认定事实不清,证据不足,适用法律错误,具体如下:马某要求刘某使用腾讯云S某某进行开发,应当提供可以使用的腾讯云账号,因此,腾讯云的费用应当由马某支付,且腾讯云S某某不支持马某要求的连麦功能,并非刘某的责任。因此,马某无权要求刘某赔偿腾讯云服务器费用1626.52元。 (三)马某无权要求刘某赔偿软件宣传广告单费用114元。原审法院认为马某在与刘某进行多次沟通后,在后者明确表示可以印制宣传广告对软件进行宣传的情况下,通过淘宝网定制了宣传广告单(卡片),并支付了该费用,现涉案合同因刘某的违约行为而解除,软件亦无法使用。原审法院据此认为马某支出的该项广告单费用属于因刘某违约给马某造成的损失,刘某应当赔偿该项费用。刘某认为原审判决认定事实不清,证据不足,适用法律错误,具体如下:首先,马某打印宣传单用于其软件推广,该笔费用应由马某自行承担,与刘某无关。其次,如前所述,刘某已根据每个阶段的开发要求,完成了各个阶段的工作,且刘某开发的软件部分功能无法实现是由于马某提供的腾讯云S某某不支持电台和连麦功能,软件存在问题是由马某造成的。马某违约在先,导致刘某开发的软件功能不完整,马某的损失应当由其自行承担。 二审询问过程中,刘某将其上诉请求第1项变更为“撤销原审判决的第二判项,依法改判或将本案发回重审”,并表示放弃上诉理由(二)、(三)。 马某辩称:(一)马某从未收到刘某开发完成的软件和代码,本案也无任何证据证明刘某向马某交付了软件。刘某既没有开发完成软件,也没有交付软件,应当向马某退还已收款项并承担违约责任。(二)马某不存在未及时止损的过失。2017年10月31日,马某应约和刘某在上海长泰广场星巴克见面,当时刘某向马某演示的软件目测是可以正常使用的,所以根本没有预料到刘某后续不断地拖延开发进度,并且在一再拖延交付的过程中每每以“明天可以完成”“再给两天时间就能解决”“下周肯定能好”等理由进行搪塞。由于刘某一而再再而三地找理由拖延开发进度,致使马某无法准确判断软件开发项目的进展。最终在明确确认刘某无法完成涉案软件的开发后,马某及时决定终止合同。可见,马某不存在未及时止损的过失。(三)刘某涉嫌对马某构成欺诈。刘某曾不止一次向马某表示软件已经开发完成,并表示只要马某能够提前付款,就可以将开发完的软件和代码即时交付。由于担心被欺骗,马某要求按照双方此前签订的合同所约定的付款流程来履行。当刘某看到马某未能满足其提前付款的要求后立刻改口称软件存在无法解决的重大问题,进而将软件不能开发完成的责任推卸给马某。鉴于刘某关于软件开发情况的说法明显前后不一,涉嫌构成欺诈。综上,原审判决认定事实清楚,适用法律正确,应予维持。请求二审法院依法驳回刘某的上诉请求。 马某向原审法院提起诉讼,原审法院于2018年8月8日立案受理。马某起诉请求:1.判令马某与刘某2017年6月27日签订的涉案合同于本案判决之日解除;2.判令刘某返还马某已支付的开发费用91000元,并支付利息(其中第一笔支付的13000元的利息,自2017年6月29日起算至还款日止;第二笔支付的39000元的利息,自2017年7月19日起算至还款日止;第三笔支付的39000元的利息,自2017年11月4日起算至还款日止,均按照银行信贷利率日万分之五计算);3.判令刘某赔偿马某就《软件及源代码转让合同》可得利益损失和该合同违约金共计330000元,及该款项自2018年3月19日起算至还款日止的利息(按照银行同期存款利率计算);4.判令刘某赔偿马某软件上线所必需的《网络文化经营许可证》办理费用12800元,及该款项自2017年12月11日起算至还款日止的利息(按照银行同期存款利率计算);5.判令刘某赔偿马某软件著作权办理费用200元,及该款项自2017年12月19日起算至还款日止的利息(按照银行同期存款利率计算);6.判令刘某赔偿马某在开发过程中,马某为支持刘某开发在腾讯云的支出共计3221.11元,及该款项自2018年4月1日起算至还款日止的利息(按照银行同期存款利率计算);7.判令刘某赔偿马某因刘某告知软件即将上线导致马某为打印软件宣传广告单支出的费用114元,及该款项自2017年11月13日起算至还款日止的利息(按照银行同期存款利率计算);8.判令刘某承担马某与刘某签订的涉案合同中约定的违约金,自2017年11月1日起算至判决合同解除日止,每7天按照合同总费用130000元的1%计算;9.判令刘某履行保密义务,保密的内容为涉案合同附件二《需求文档》的内容。 刘某原审辩称:(一)涉案合同对于委托事项具有阶段性的开发约定,对应的是阶段性的付款,刘某已完成已付款阶段的全部工作,不存在违约行为,马某无权要求刘某返还已收取的款项,刘某也不需要承担违约责任。(二)涉案软件存在的问题主要为连麦问题,该问题系马某提供的腾讯云S某某不支持电台和连麦功能,无法满足开发需求所致,与刘某无关,且刘某已经尽力帮助马某解决问题,故刘某无需对此承担责任。(三)直播类节目需要办理《网络文化经营许可证》是国家规定,马某支出的办理该证的费用以及软件著作权办理费用、购买腾讯云服务器费用、打印广告宣传单费用等,均属于马某履行涉案合同应自行承担的费用,与刘某无关;马某与案外人王佳梁签订的《软件及源代码转让合同》与刘某无关,马某也从未告知过刘某该软件转让事宜,不属于可预期损失,刘某无需对此承担责任。综上,刘某除同意解除涉案合同外,不同意马某的其它诉讼请求,请求依法驳回马某的其它诉讼请求。 原审法院认定事实: 一、涉案合同的签订情况 2017年6月27日,马某(甲方)与刘某(乙方)签订涉案合同,该合同与本案有关的主要内容为:第一章鉴于条款1.1甲、乙双方经友好协商一致,就甲方委托乙方进行直播平台建设事宜达成以下协议。双方申明,双方都已理解并认可了本协议的所有内容,同意承担各自应承担的权利和义务,忠实地履行本协议。1.2双方愿意按照相关法律的规定承担有关责任。第二章合作模式2.2甲方提供项目整体需求并负责与乙方沟通,其中项目需求文档(包含但不限于美术风格参考、流程图等)须经双方认可。乙方负责按照需求中的要求进行设计、制作、编码、测试等工作。2.3甲方委托乙方开发的产品,知识产权默认归属甲方,另有明确书面约定除外。2.4项目建设工作进度与安排、价款、交付和验收方式详见《附件一》。2.5项目详细需求见《附件二》。第三章合作内容3.1根据甲方的需求文档,乙方在开发时间内完成直播平台的开发上线(安卓、苹果两个版本),该软件的设计及开发要求详见附件《需求文档》。3.2根据双方协商沟通,整个项目委托乙方开发的时间周期为2017年6月30日至2017年10月31日。第四章双方权利义务4.1甲方:(1)甲方有权利督促乙方按开发时间完成项目开发,有增加或修改内容双方需协商解决;在不影响进程的情况下,对于甲方的小规模变动的需求,乙方应尽量满足;若出现大幅度的变更,则甲乙双方应协商延长开发周期和价格。(4)甲方应当按照合同,按时向乙方支付开发费用。(5)甲方有责任保证提供的腾讯云S某某可以满足主要的开发需求,包含直播、连麦、电台、IM通信、美颜滤镜。4.2乙方:(1)乙方有责任按甲方的要求在规定时间内完成软件开发的内容,包括界面设计、后台服务、手机端App产品、上线等软件必备元素。(2)乙方有责任对本合同及开发文档和内容进行保密。(3)因开发而需使用的硬件由乙方自行解决。(4)乙方有义务在软件开发完成上线之后,向甲方提供3个月的免费维护服务,维护服务期内,由于bug、软件漏洞、第三方SDK更新等导致的使用问题,乙方应尽快免费为甲方处理。第五章违约责任5.1甲方有责任按合同支付乙方费用,如因甲方自身原因,未能按时交付,则每延期7个自然日(不足7天,按照7天计算),甲方将额外支付乙方总费用的1%作为补偿。5.2乙方有责任按期向甲方交付源代码和设计文档,实现项目中的所有功能,如因乙方自身原因,未能按时交付,则每延期7个自然日(不足7天,按照7天计算),甲方将扣除乙方总费用的1%作为补偿。本案原审庭审中,马某、刘某一致确认刘某应于涉案合同3.2条约定的开发周期内完成软件上线前的所有工作,但不包括软件上线。 合同附件一为《项目建设工作进度与安排、价款、交付和验收方式》,该附件与本案有关的主要内容为:一、项目建设内容1.项目建设内容:具体参见附件二《需求文档》。2.附件二仅限于对本项目建设的内容(具体功能等)作出约定,如涉及其他内容或乙方的其他产品及服务,双方应另行约定。3.如在开发过程中,项目建设内容有更改、删除、新增,双方将按变动的情况协商变动部分的价格,并以书面文件的方式确认。4.甲乙双方关于建设项目的相关素材资料代码均以邮件形式沟通。二、费用和支付方式:1.项目总开发费用(含税):130000元。2.付款方式:(1)在合同签订后的3个工作日内,甲方先支付乙方项目全款的10%,即13000元。(2)甲方在乙方将UI、UE设计完成后的7个工作日内验收,验收后3个工作日内,甲方向乙方支付项目全款的30%,即39000元。(3)甲方在乙方全部功能开发完毕并测试后7个工作日内完成验收,验收通过后3个工作日内,甲方向乙方支付项目全款的30%,即39000元。(4)乙方完成最后优化及主要应用市场上线后3个工作日内,甲方向乙方支付项目全款的10%,即13000元。(5)乙方收到甲方的第三笔项目费用后7个工作日内,将项目开发全部文档及代码交付给甲方,甲方收到乙方全部开发文档及代码后3个工作日内,向乙方支付项目全款的10%,即13000元。(6)平台上线后30天内无使用问题或乙方修复已知使用问题后,甲方向乙方支付项目全款的10%,即13000元。(7)直播平台上线后产生的服务器费用,以及直播产生的流量费等其他费用由甲方一方支付,乙方不予承担。……3.工作进度及验收时间:(1)甲方应于本协议签订后3日内,将项目建设所需的材料、图片、已有的音频视频提供给乙方。(2)乙方在收到甲方提供的项目材料及甲方按本附件规定支付的款项后完成项目设计阶段。设计阶段完成后,甲方对其进行验收并书面确认。(3)项目经由乙方完成全部的研发工作后的7个工作日内,甲方对全部工作成果进行验收并书面确认。4.验收标准及工作成果的提交:(1)验收标准:完成附件中双方所确认的功能需求,该功能需求包括后续的协商后经双方签字认可的项目变动。(2)工作成果的提交:全部项目建设工作经甲方书面确认,并且甲方支付完毕全部款项后,乙方交付工作成果或者上传至甲方指定网络服务器上。(3)工作成果提交后,如果甲方在使用过程中需要对工作成果进行修改,甲乙双方需额外签订补充协议。 合同附件二为《需求文档》,包括概述、直播(含概述、热门、关注、直播间、弹幕、表白、礼物、红包、开启/关闭聊天框、分享、人数自动增加、普通主播、签约主播、签约、分成比例、排行榜)、交友(含连麦、小纸条、好友)、社区(含概述、规则、分享、分成比例)、拍卖(含概述、规则、数量、手续费、分享)、个人中心(含概述、个人资料、直播时长、我的身价、明星之路、充值、提现、万人持股)、设置(含清理垃圾、夜间)、后台(含账号管理、直播管理、电台管理、审核、滚动信息、数据)、其他需求(含资料卡、“关注”和“加好友”、“等级”和“VIP”、Push消息、贴标签、地点标签、滚动信息)、启动页、实名认证、收到其他模块消息、注册/登录、次数和收费等需求,并对每项需求的内容均进行了详细描述。 二、涉案合同的履行等情况 (一)2017年6月29日,马某向刘某支付了第一笔合同款项13000元。 (二)涉案合同履行过程中,马某与刘某之间的往来电子邮件、QQ聊天记录等情况 2017年7月19日,马某向刘某发送电子邮件,内容为:“我一会儿将第二笔开发费用39000元转账至你的账户。关于UI界面验收,现在已基本验收完毕,还差:1.icon图标及上线所需的截图尚未验收;2.个别界面和图标需要小幅度调整尚未验收。以上尚未验收的美术UI在开发过程中继续验收和修改,今日会将第二笔开发费用转至你的账户。”同日,马某向刘某支付了第二笔合同款项39000元。 2017年7月22日,马某向刘某发送QQ消息“界面风格就这么定了,连麦的背景图不要求完全照着那个图做,就是要那个风格……”。同年7月28日,马某向刘某发送QQ消息“电台、连麦、直播里的表白,这三块看能不能用腾讯云的游戏语音去开发,电台、连麦应该是没问题的,用游戏语音,表白用游戏语音或者直播的连麦都无所谓,哪个适合用哪个。”刘某回复“游戏语音我们可以尝试一下”。马某回复“嗯,应该没问题,如果不行的话你跟我说一下”。同年8月21日,马某向刘某发送QQ消息“直播用移动直播SDK,那个就是移动直播的官方技术群,对于语音连麦、电台用游戏语音SDK”“如果那个群里没有专业的答复,就后台提工单吧,顺便问问有没有对接人,要个联系方式”。刘某回复“行”“再有问题跟你说”。 2017年9月17日,刘某向马某发送QQ消息“甲公司介绍页面”“那个页面要开始做了”,马某回复“欢场影视(上海)乙公司……公司以直播+电影为核心,集中影视资源,助力主播顺畅成长为明星……”“开发的时候,如果有什么规则,腾讯云或者技术开发不了的记得跟我说下”,刘某回复“好的”。同年9月25日,刘某向马某发送QQ消息“这里有三笔服务器费用”“回头项目做完报一下哈,预计还要再续费一个月”“上线之后服务器就要你自己那边付费了”“这个只是我们开发用的”,马某回复“不是开发过程你们这里解决吗”,刘某回复“是我之前说的吗?可能忘记了,时间有点久”“不过开发完之后服务器你自己记得续费”。 2017年10月20日,刘某向马某发送QQ消息“现在功能基本上都开发完了,现在是优化细节和测试”“月底没有问题”。同年10月28日,刘某向马某发送QQ消息“连麦那块,你说用语音连麦,最近测试经常出问题”“提交工单了,现在就差这块了,头疼呢”“等我们功能都能用了,再考虑其他好吗?你坚持用的腾讯游戏语音性能根本不稳定”,马某回复“嗯,先解决连麦”“群里有找技术吗”,刘某回复“都找过,电话也打过”“到这个月底,如果还不稳定,等我们见面聊”。 2017年10月31日,马某向刘某发送QQ消息“我在这周日之前付39000,你们收到之后尽量两三天里面上线,行吗”“如果有什么和文档不一样的地方,上线后需要优化的再尽快解决”,刘某回复“安卓两三天可以,iOS要等几天,审核时间会长一点”,马某回复“行”。同年11月4日,马某向刘某支付第三笔合同款项39000元,并向刘某发送QQ消息“39000已经转到你账上了”“尽快给我一个二维码,最好能识别安卓苹果自动下载对应包的二维码,实在不行安卓苹果各一个也行,我做学校里宣传页要用”“然后先不要全部上线,先360应用市场申请首发”,刘某回复“好的”“周末不审核,周一给你发二维码”。同年11月6日,马某向刘某发送QQ消息“今天看能不能给我二维码,要保证至少之后半个月以上可以正常下载的”,刘某回复“Android和iOS已经提交第一版审核了”“Android这几天应该就可以通过审核,到时候给你一个二维码”“iOS审核时间要长点”“这是一个初步版本,还有几点要优化和测试的,在双11的时候,你可以正式推广了”,马某回复“嗯,好的。现在的版本会影响用户体验吗?我拿到二维码就要印宣传单什么开始在学校做推广了”,刘某回复“现在的版本还不能做推广,有些充值、消费的测试都要做”“之前都是在测试环境下通过的,现在要上线后用正式环境测试”“在充值、提现都没问题后才能正式推广,预计要下周一”,马某回复“好吧,这样的话,360首发就17号20点(下周五),然后下周二周三先开始在学校里推广,在那之前二维码给我,我印出来还要两三天”,刘某回复“嗯,没问题”。同年11月12日,刘某向马某发送QQ消息“二维码下载已经弄好了,现在iOS是随便跳转一个AppStore的应用,Android是跳转到百度网页”“你可以先去做线下的打印,后期两边审核都通过了,服务器会替换成我们App的下载地址”“二维码稍等就会发给你”。之后,刘某向马某发送了一个链接地址,并发送消息“你用刚才发你的地址去生成个性化的二维码”。同年11月14日,马某将生成的二维码通过QQ发送给刘某,并发送消息询问“这个二维码对吧?”刘某回复“对的”“我扫了OK”,马某回复“好,那我就印了”。次日,马某向刘某发送QQ消息“周五晚上360首发还有什么没做要准备的吗?”刘某回复“你这边应该不需要了,到时候就是需要再加也来得及”。 2017年11月17日,刘某向马某发送QQ消息“iOS审核打回来了,说必须确定一个理由,需要提供更多的信息说明这个问题,为什么要申请999美元的充值”“额度太高,需要特殊说明,否则不给通过”。同日,马某向刘某发送QQ消息“客服说360不能首发,没有网络文化许可证”,刘某回复“你之前直播不是申请过对应的许可证吗?”马某回复“没有”,刘某回复“那这样,首发不能发了,就按照普通的发”“然后你抓紧时间去申请文化许可证,防止后面平台把App下架”,马某回复“嗯,行”。刘某回复“代码什么的,周末一起给你”,马某回复“后面不是还要优化什么的吗”,刘某回复“大的优化已经做完了,上线后你发现问题跟我们说,然后帮你免费维护”“或者我们把代码放在网上,然后你需要的时候自己下载?”马某回复“好吧,那到时候我网上下载吧”。 2017年11月19日,马某向刘某发送QQ消息“18个手机12个打不开”“知道启动失败的原因了吗”,刘某回复“看了一下,都是4.4版本之前的出的问题”“iOS这边要重新发起审核,之前因为一些问题审核没通过”,马某询问“iOS周一能过吗?”刘某回复“苹果审核比较严,这个项目涉及的东西比较多,每种类型要求还不一样”“每一个都有单独的审核标准,现在合并在了一起”,马某回复“嗯,那我先不推广,等iOS过了再推。App启动问题什么的麻烦再费费心”,刘某回复“你放心,这个问题肯定解决”。 2017年11月22日,马某向刘某发送QQ消息“阿里应用分发平台没通过”“360审核失败,图标不清晰”,刘某回复“应用汇的也发布失败”,马某回复“360、阿里我已经重新提交了,应用汇先不管,我邮件在问,其他平台你抽空都上一下,最好今晚,这样明天一部分平台能上线”,刘某回复“好的”。 2017年11月24日,刘某向马某发送QQ消息“按照合同项目应该11月初上线,到现在没上线,这个我们负责”“在结算的时候我们认赔”“但是最近真的是有事拖住了,所以真心的说声抱歉”“上线的事情,我们尽最大的努力做,好吗”“确实是上线时间太久了”。之后,马某向刘某发送QQ消息“阿里应用分发平台审核失败”“输入个人信息时发生闪退”“百度开发平台审核失败,未提供测试账号”“我下午看到iOS还在整改,什么时候能提审核啊”,刘某回复“提交失败了,好友那块好友资料里面的社区帖子都要加屏蔽,拍卖也要加”,马某询问“这是不是要几天时间改”,刘某回复“这几天就能改好”,马某回复“行吧,安卓都上了吧”,刘某回复“嗯,能上的都上了”。 2017年11月27日,刘某将文件“设计.zip”“服务器相关.zip”“代码_Android.zip”“代码_iOS.zip”通过QQ发送给马某,马某询问“上传应用的包在哪里啊”,刘某回复“正在发”“这是两个简化版的安装包,你先上传,如果有平台上传成功,我就再把完整版的发给你”。同日,刘某向马某发送文件“安装包.zip”。之后,马某向刘某发送QQ消息“我下载搜狗,已经可以搜到下载了”“我试了下,游客浏览、QQ登录不能点击,微信登录显示未知错误,微博登录错误显示21338”“能知道什么原因吗?为什么我不能登录?测试账号、QQ、微信、微博、游客、注册全部失败”“vivo审核结果也是无法登录”,刘某回复“今天给你结果”“我找下问题”。 2017年12月2日,马某向刘某发送QQ消息“能正常使用了吗?”刘某回复“你现在试试微信登录能不能用”,马某回复“不能,和之前一模一样”,刘某回复“这忘记密码和游客登录,我保证今天一定解决,下个军令状,如果到明天早上这两个问题还没有解决,你就直接扣我1000块钱的开发费”“以后功能有问题,我给出你解决的时间,超时了你就扣我开发费,好不”,马某回复“扣钱倒是不用,只是现在不早了,尽量把问题都解决掉,之后有问题稍微快点就行。我希望这几天能把问题都解决掉,不然开发完不能用没人用那就没意思了”,刘某回复“嗯”。同年12月3日,马某向刘某发送QQ消息“1.万人持股没有;2.设置模块排序没有;3.微信登录完了进登录页再进主页;4.App最小化=退出;5.个人中心资料和消息中心没有;6.夜间模式没有;7.直播间表白没有,分享没有;8.连麦页面没有;9.小纸条当中一直有‘暂无内容’;10.小纸条页面滑动有问题,上下滑和左右滑容易冲突;11.社区图片不能放大,图片一张的时候不能像贴吧一样宽度占满最大化;12.发布拍卖不能拍摄视频”“给我个时间吧,上面这些什么时候解决完”“这个就是开发完的版本?”刘某回复“这个是个测试版的”“我今天会把完整版的发上去”。次日,马某向刘某发送QQ消息询问“还没有好?”刘某回复“没有,再给我两天时间可以吗?我把所有的功能再过一遍”,马某回复“周四晚上,给我能正常使用的安卓包?”刘某回复“可以”。 2017年12月13日,马某向刘某发送QQ消息“现在App是不能用?还是连麦有问题?”刘某回复“连麦有问题,用不了”,马某回复“还没找到问题吗”,刘某回复“直播、聊天那些功能都能用,到了游戏语音这里就本地环境问题了”。同年12月15日,刘某向马某发送QQ消息“连麦已经找到问题点了,正在解决”“连麦的问题预计到明天中午的时候就能解决了”。同年12月16日,马某询问“还没弄好吗”,刘某于次日回复“连麦又出问题了,在弄,就很没办法,腾讯那边支持又不行”“我提交工单问问”,马某回复“时间太长了,已经12月中了,这个月无论如何都要弄好”,刘某回复“没问题”。同年12月20日,刘某向马某发送QQ消息“连麦的问题差不多了,今天晚上给你一个具体的上线时间”。次日,马某询问刘某“还没好?”刘某回复“需要一点时间”“要下周一才行”,马某询问“是不是下周一所有功能都能正常使用,不会有bug不会有别的不能用的问题?”刘某回复“是的”。同年12月23日,马某询问刘某“周一没问题吧?”刘某回复“iOS文网文有回复么”,马某回复“我已经找了代办机构,说上海的直播文网文几乎下不来,我准备了资料寄到文化局问问行不行,不行的话得办别的类别的文网文”。 2018年1月1日,刘某向马某发送QQ消息“腾讯云上的服务器还有3天到期”“这个钱我出还是你出?毕竟这一个月没上线”,马某回复“我明天续费”“我只需要App能够正常使用,我要的功能都符合预期。时间别再晚了,然后上线以后还可能要优化”,刘某回复“嗯”。同年1月2日,马某向刘某发送QQ消息“多花了2个月做出来和两个月之前的区别在哪里”“今天给我个说法吗?开直播闪退,QQ登录不能用,直播间白屏,这都是正常的?”“主界面当中的暂无内容提示,直播间白屏,主播头像是我自己以前的头像,开直播闪退,QQ登录不能点击,社区图片不能放大,单张照片显示就占1/3,拍卖里不能点上传封面不能点上传视频”“你们花了5个月,给我这么个东西?”“我多等了这么长时间,说得很明白,按我的要求能正常使用。现在我的App这两个都没达到吧,直播,拍卖不能用,连麦倒好直接没了。”刘某回复“我看一下”“我问问负责上传包的人,上传错包了吧”,马某回复“我真的觉得效率太慢……正常来说十分钟能解决的事,你已经花了3个小时了,我没有那么多时间”,刘某回复“你这边有什么想法可以说”“损失我说了,我这边承担,也可以按照合同走”“我的态度是,你的项目保证上线,你要赔偿,我负责任,是我这边没在规定的时间上线,这个我承担”。同年1月3日,刘某向马某发送QQ消息“原因已经找到了,服务器上的代码出问题了,我这边看看今天能不能修复”。次日,刘某向马某发送QQ消息“代码修复回来的都有问题,有些功能需要重新再做一次,按照昨天说的,从今天开始,每两天给你发一个安装包,让你这边看到一个实时的进度”,马某回复“嗯,预计要多少天啊”,刘某回复“一周左右”。 2018年1月13日,刘某向马某发送QQ消息询问“你那边文网文办的怎么样了”,马某回复“你这边不给我个包,我没办法办,人家要看东西”,刘某回复“那我这边尽快”。同年1月15日,马某向刘某发送QQ消息询问“还要多少时间”,刘某回复“正在测试一部分功能,快了”。同年1月17日,马某又向刘某发送QQ消息询问“现在是还在开发,还是在测试?什么阶段,东西有录屏吗,我心里没底啊”,刘某回复“这个周到周末,应该就能弄完,就算弄不完也就再有一两天就可以搞定了”。同年1月21日,马某再次向刘某发送QQ消息询问“进度正常吗?”刘某回复“东西还没做完,看了下剩下的东西,还要两天时间,到下周三就可以了”,马某回复“确定吗”,刘某回复“是的”。 2018年1月25日,刘某向马某发送QQ消息“今天我现场看他们测试了,也测试了全部功能”“拍卖的录制视频,论坛的点击大图,还有一些小细节有点问题,需要改”“看了下情况,还需要两天时间,这个周末正式结束”。同年2月1日,刘某向马某发送QQ消息“现在情况是这样,连麦功能在测试的时候,还是会出现不稳定的情况,在开启电台时主持端有时会断开连接”“现在我这边的方案是这样,第一种就是暂时先把连麦模块屏蔽掉,优先上线,其他功能正常的情况下,连麦模块尽快解决,解决好之后,再更新第二版”“第二种方案,就是等连麦功能完全没问题再上线”,马某回复“如果换一个连麦的SDK能行吗,丙公司的连麦”“我拉你进个群,你看看游密通讯语音,能不能用?”刘某回复“好”“我先处理各个平台上女王TVApp的问题”。同年2月3日,刘某向马某发送QQ消息“对于你的这个项目,从前期的UI、UE的交付,到中期的软件开发的效果也都给你看过,虽然后期的产品上线最终出了很大的问题,但是我们做事的态度和努力你是可以看得到的”“昨天一个长期合作的朋友……临时有个紧急的需求……要在年前做个东西出来”“所以想跟你协商一下”“你这边年前的开发要先暂停了,我们这边要照顾老客户,你要是愿意的话,你这边给到我们这边的开发费用我们全额退还,或者你这边有什么要求也可以说出来”“当然另外一种方式就是年后把人手全部抽调过来把你的这个项目完成”“如果你这边乐意的话,我这边可以保证在年后3月10号之前让你项目上线,如果上线不了,这边可以支付你一万元的赔偿金”。马某回复“……3月10号之前能用腾讯语音SDK就用,用不了就换游密SDK,3月10号之前,无论如何开发完,行吗”,刘某回复“这个可以保证”,马某回复“那我去注册外地网文,你这边真的没问题?到时候东西没了我会疯的”,刘某回复“没问题的”。 2018年3月1日,刘某向马某发送QQ消息“问一下,你这边文网文办理好了吗?还是等我这边都弄好了再办理?”马某回复“在办”“资料交了,还在补材料”,刘某回复“知道了,我这边也在尽快的做”。同年3月7日,马某向刘某发送QQ消息询问“现在还有什么问题吗”“连麦的问题解决了吗”,刘某回复“解决了”“下周一先交付给你Android端,周三前把iOS给你”。同年3月12日,刘某向马某发送QQ消息“主要就3点1.当前项目的情况;2.文网文的进度;3.费用问题”“先说项目,Android已经开发完成了,如果你需要,可以随时把包发给你,然后你去各个平台上线;iOS上线比较麻烦,有点东西还需要2天调整一下”“2.那个文网文你都办理好了吗?”马某回复“我上周把所有材料都提交上去了,问题不大,如果能下来这周或下周就能下来了”,刘某回复“3.最后关于费用,你也知道开发你这个项目,我们这边实在耗费太大,光成本就20多万,你那边方不方便加点钱”“如果不方便就算了”,马某回复“我需要完整的App,所有功能没有问题而且还要优化”,刘某回复“项目没问题,你要是感觉不乐意加钱也就算了,还是之前说好的,因为项目延期,其中有一部分费用就不要了”“就是后面两部分钱,能不能先给一部分,最起码这段时间我们这边这么辛苦,我要给朋友们有点说法,有点表示”,马某回复“两个版本得让我能用,我再付钱吧,10月到现在我都没拿到过能用的包”“这样吧,安卓包给我看看,没什么问题我晚上付钱”,刘某回复“你先给一部分,包立刻发你”,马某回复“你给我安装包,代码还是在你手上,而且还有苹果的,合同大部分钱在几个月前都给你了”“……我上一笔39000,合同是说开发完付吧?现在开发完了,照道理你就是现在给我,我该付的钱也付了,我可以把之后的钱提前给你,但你不能让我什么都没看到就付款啊”“录个视频给我看看吧,我需要看到东西”“我看到东西,今晚付钱”,刘某回复“你先给一部分钱,东西立刻发你,不是一样的吗?我又骗不了你的钱。”次日,刘某向马某发送QQ消息“周末见个面吧”,马某回复“周末能看到东西吗”,刘某回复“见面聊吧”。 2018年3月25日,马某向刘某发送QQ消息“……如果你这边实在给不了我东西,我的现金成本在12万5千以上,项目时间和违约,你需要给我最少16万,我半年时间和这个项目完蛋折算3.5万,这个价格不过分。我知道对你们来说,我也许要加超过9.1万都不太能接受,所以我还是希望说项目能正常交付,不然对我对你都是麻烦”“说最晚10号交付,现在是25号。这个月底给我个消息吧……”同年3月28日,刘某回复“想上直播,丁公司,没有文网文,能上吗?”“你要这么说,那简单了,你去上诉吧,按照合同走嘛”“要全额退你钱,你不要……合同里写明了开发的内容必须腾讯云支持”“上周就是9万1全额退你,我就等于损失30多万,就这样你都不乐意?”“如果说违约,也是您违约在先”“在这种情况下,我愿意退钱,无论是人情、道德、法律,我都尽最大的心了”“并且当时我也说过,如果全额退款,你还不满意,我们可以聊,也是您当时不聊的”“现在您要这个钱,很抱歉,不可能!”同年4月1日,刘某向马某发送QQ消息“既然你是这个态度,那我这边就告诉你,由于你这边提供的腾讯SDK满足不了开发需求,导致我们开发拖延,成本加大,最终对我们造成重大损失,经过我们这边讨论,于2018年4月1日项目正式冻结……”之后,马某、刘某双方多次沟通,但未能就退款数额达成一致。 (三)涉案合同的其他履行情况 1.戊公司成立于2017年5月9日,法定代表人为马某,己公司的唯一股东,经营范围包括广播电视节目的制作;电影摄制;经营演出及经纪业务;文化创作与表演等。2017年12月11日,戊公司(甲方)与事代办(深圳)庚公司(乙方)签订《咨询协议》,约定由乙方为甲方提供申请《文网文》即《网络文化经营许可证》等方面的咨询服务,费用为12800元;协议签订之日起三日内,甲方支付首款6400元,甲方取得《文网文》扫描件后三日内向乙方支付尾款6400元。马某提交的上海市文化广播影视管理局颁发的《网络文化经营许可证》载明,编号为沪网文[xxx]xxx号,辛公司,首次发证日期为2018年3月23日,有效期为2018年3月23日至2021年3月23日,经营范围为利用信息网络经营音乐娱乐产品、动漫产品。同年12月19日,戊公司(甲方)与易清互动(北京)壬公司(乙方)、癸公司签订《著作权登记服务协议》,约定甲方委托乙方和丙方办理计算机软件著作权登记,费用为200元。 2.马某为推广其委托刘某开发的软件,于2017年11月13日通过淘宝网定制宣传广告单(卡片),共计支付费用114元。 3.马某提交的腾讯云账户现金收支明细、腾讯云账户代金券使用记录显示,马某的腾讯云账户2017年6月27日至2018年4月1日共计支出现金1363.17元,2018年1月2日至2018年3月2日共计使用代金券1857.94元。其中,涉及服务器续费的金额共计1626.52元(2018年1月2日续费259元、2018年2月3日续费1367.52元)。 三、其他事实 (一)关于腾讯云S某某是否可以实现马某委托刘某开发的软件功能,马某、刘某均通过向腾讯云提交工单的形式进行了询问。刘某于2018年9月20日询问:腾讯云S某某是否可以完整的实现以下功能,并且保证软件运行稳定,没有冲突:1.同时支持直播、连麦和电台:其中用户之间可以连麦,且可以自行匹配异性连麦,连麦可以打开视频;2.可以实现多人(例如6人)同时连麦(移动端);3.直播可以几万人收听,包括视频和音频;4.直播过程中,主播是否可以选择与用户连线;5.主播直播过程中,用户可以录制语音发送给指定用户或主播,收到语音的用户自动播放语音,直播背景音量降低,语音播送完毕后,直播音量恢复。腾讯云工程师回复:1.SDK没有这部分功能“且可以自行匹配异性连麦,连麦可以打开视频”;2.可以;3.可以;4.就是连麦;5.SDK没有这个功能。马某于2018年10月27日询问:1.腾讯云S某某是否支持视频直播、电台(语音直播)、6人语音和视频连麦?2.上述这三个功能所使用的腾讯云S某某能不能同时在一个App内开发使用?3.能否在腾讯云S某某的基础上进行自动匹配异性连麦、连麦后打开视频、直播过程中观众录制语音发送给指定用户或主播,收到语音的用户自动播放语音(播放时直播的背景音量降低,语音播放完毕后直播音量恢复)这些功能的开发?腾讯云工程师回复:1.您描述的功能,腾讯云的实时音视频的SDK可以满足;2.可以在同一个SDK中实现;3.3中功能需要自己开发。 (二)马某、刘某双方在原审法院2018年10月18日组织的庭前会议中均表示,同意于当日解除涉案合同,合同解除的责任认定及解除后果的处理由法院判决。 (三)由于刘某开发的软件源代码存储于马某租赁的腾讯云服务器中,而服务器租赁期限已到期,刘某亦未对源代码进行备份,无法提交源代码,故在本案原审审理中无法对软件的开发情况进行演示。 原审法院认为,马某与刘某签订的涉案合同系当事人真实意思表示,合法有效,对双方当事人具有法律约束力,双方均应当按照合同约定全面履行自己的义务。根据双方当事人的诉辩意见,本案的主要争议焦点为:一、刘某在合同履行过程中是否存在马某主张的违约行为;二、马某要求刘某返还已收取的款项并支付违约金和赔偿损失等诉讼请求能否获得支持。 关于第一项争议焦点,马某认为,刘某的违约行为系逾期履行合同约定的开发义务以及曾交付的软件不符合合同约定,故涉案合同解除的责任在于刘某。刘某则认为,其已经完成了马某已付款阶段对应的全部开发工作,软件存在的问题主要为连麦问题,该问题系马某提供的腾讯云S某某无法满足开发需求所致,其不存在马某主张的违约行为。 原审法院认为,首先,按照涉案合同3.2条约定,整个项目的开发周期为2017年6月30日至2017年10月31日,马某、刘某双方亦一致确认,该期间刘某应完成软件上线前的所有工作。但根据本案查明的事实,虽然2017年11月初刘某开发的软件曾提交相关应用市场进行上线审核,但均因各种原因未能审核通过上线。刘某于同年11月24日亦向马某发送QQ消息表示“按照合同项目应该11月初上线,到现在没上线,这个我们负责”。之后,马某给予刘某时间进行修改,但软件仍存在不能登录,测试账号、QQ、微信、微博、游客、注册全部失败等问题。至同年12月3日,刘某开发的软件还存在12项问题。2018年2月3日,刘某向马某提出因其他业务此开发项目需要暂停,并提出全额退还已收取的开发费用或者保证同年3月10日之前项目上线两种解决方案,后双方协商达成一致选择了后一种解决方案。但至3月10日,刘某仍未按约向马某交付可以用于上线的软件。其次,刘某辩称其已经完成了马某已付款阶段对应的全部开发工作。但从本案查明的软件实际开发情况可以看出,马某于2017年11月4日向刘某支付第三笔开发费用39000元时,软件仍存在不能正常登录等多项问题,故马某向刘某支付该费用,并不意味着涉案合同附件一第二条约定的该费用的付款条件(软件的全部功能开发完毕并经马某验收通过)已经成就。再次,关于刘某所称软件存在的问题主要为连麦问题,该问题系马某提供的腾讯云S某某无法满足开发需求所致的辩称意见。涉案合同4.1条中虽约定马某有责任保证提供的腾讯云S某某可以满足相关开发要求,但在合同履行之初,马某就针对腾讯云S某某是否能用于软件开发以及使用何种SDK更适合等问题与刘某进行过沟通,并明确告知刘某“如果不行的话你跟我说一下”。在之后的开发过程中,双方亦就此进行过沟通,马某曾提议“换一个连麦的SDK”,刘某也未提出异议。之后刘某保证2018年3月10日之前项目上线时,双方专门就SDK问题进行了明确,刘某亦表示没问题,且于2018年3月7日回复马某连麦的问题已经解决。同年3月12日,刘某向马某表示“Android已经开发完成了,如果你需要,可以随时把包发给你,然后你去各个平台上线……”,并要求马某再支付部分开发费用后才交付软件,并未提出软件还存在连麦的问题。而马某、刘某双方各自提交的腾讯云工程师关于腾讯云S某某是否可以实现软件相关开发功能的回复,亦可以说明腾讯云S某某可以实现连麦功能。综上,马某关于刘某逾期履行合同约定的开发义务以及曾交付的软件不符合合同约定,构成违约的主张成立。刘某的相关辩称意见,原审法院不予采纳。 关于第二项争议焦点,原审法院认为,如原审法院在第一项争议焦点中所述,刘某存在马某主张的违约行为,且其行为已符合《中华人民共和国合同法》(以下简称合同法)第九十四条第四项规定的“当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的”可以解除合同的情形,故马某有权解除涉案合同。现马某、刘某双方在原审法院2018年10月18日组织的庭前会议中均表示同意于当日解除涉案合同,并无不当,原审法院予以准许。 合同法第九十七条规定,合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。本案中,刘某未按照涉案合同约定履行开发义务,其曾交付的软件不符合合同约定,也无法使用,涉案合同因刘某的违约行为而解除,故马某要求刘某返还已收取的开发费用91000元,于法有据,原审法院予以支持。关于马某要求刘某支付其所支付该开发费用的利息损失的诉讼请求,由于马某支付上述开发费用时涉案合同处于正常履行过程中,刘某亦在收到费用后按照合同约定履行开发义务,故刘某不应该从马某主张的每一笔费用的支付时间向马某支付利息,而应该以涉案合同解除之日即2018年10月18日作为全部费用支付利息的起算点,且马某主张的利息标准明显高于同期中国人民银行公布的贷款基准利率,故原审法院2019年8月19日之前按同期中国人民银行公布的贷款基准利率支持其利息损失,2019年8月20日之后按同期全国银行间同业拆借中心公布的贷款市场报价利率(LPR)支持其利息损失。 关于马某要求刘某赔偿的其他各项损失:1.《软件及源代码转让合同》可得利益损失和该合同违约金共计330000元及利息。马某并未提供《软件及源代码转让合同》的原件,无法确认该合同的真实性,且即使该合同真实存在,合同签订时马某明确知晓软件还存在问题,无法正常使用,其亦未将该合同事宜告知刘某,不属于刘某违约时所能预见到的因违反合同可能造成的损失,故原审法院对马某主张的该项损失不予支持。2.《网络文化经营许可证》办理费用12800元及利息。《网络文化经营许可证》系马某经营其相关业务所需,且办理和提供该证照属于马某在涉案合同履行过程中应尽的义务,故原审法院对马某主张的该项损失亦不予支持。3.软件著作权办理费用200元及利息。软件著作权登记并非软件上线运营的必备条件,签订《著作权登记服务协议》时,涉案软件尚未开发完成,且马某亦未提供证据证明其已支付了该费用,故原审法院对马某主张的该项损失亦不予支持。4.马某在腾讯云的支出共计3221.11元及利息。涉案合同仅约定软件上线后产生的服务器费用由马某负担,并未明确软件开发过程中的服务器费用由谁负担,但双方的QQ聊天记录显示,刘某对于马某提出的软件开发过程中的服务器费用由刘某承担并未提出异议,且支付了部分服务器费用,并表示“不过开发完之后服务器你自己记得续费”,故可以视为刘某已经认可软件开发过程中的服务器费用由其承担。马某提交的现有证据证明其在软件开发过程中共计为服务器续费1626.52元,故该费用应由刘某支付给马某,马某主张从2018年4月1日起按照银行同期存款利率计算该费用的利息损失,亦无不当,原审法院予以支持。对于马某主张的该项损失中的其余部分原审法院不予支持。5.软件宣传广告单费用114元及利息。马某系在与刘某进行多次沟通后,在刘某明确表示可以印制宣传广告对软件进行宣传的情况下,通过淘宝网定制了宣传广告单(卡片),并支付了该费用,现涉案合同因刘某的违约行为而解除,软件亦无法使用,故马某支出的该费用属于因刘某违约给马某造成的损失,原审法院对马某主张的该费用予以支持。但马某就该项要求刘某赔偿的费用主张利息,原审法院不予支持。 关于马某主张的涉案合同中约定的违约金。涉案合同5.2条约定,刘某有责任按期向马某交付源代码和设计文档,实现项目中的所有功能,如因刘某自身原因,未能按时交付,则每延期7个自然日(不足7天,按照7天计算),马某将扣除刘某总费用的1%作为补偿。但原审法院已支持马某要求刘某返还已收取的全部开发费用的诉讼请求,不存在再按上述合同约定扣除相应费用作为补偿,马某要求刘某按照该约定所涉的计算标准支付违约金,亦无事实和法律依据,故马某的该项诉讼请求,原审法院不予支持。 关于马某要求刘某履行保密义务的诉讼请求。合同法第九十二条规定,合同的权利义务终止后,当事人应当遵循诚实信用原则,根据交易习惯履行通知、协助、保密等义务。涉案合同4.2条约定,刘某有责任对涉案合同及开发文档和内容进行保密。马某主张要求刘某保密的系涉案合同附件二《需求文档》的内容,属于上述合同约定的刘某应履行的保密义务范围。现马某主张刘某在涉案合同解除后仍应履行该保密义务,于法不悖,马某的该项诉讼请求,原审法院予以支持。 原审法院判决:(一)马某与刘某2017年6月27日签订的涉案合同自2018年10月18日解除;(二)刘某应于判决生效之日起十日内返还马某开发费用91000元,并以91000元为基数,支付自2018年10月18日起至实际还款之日止的利息[2019年8月19日之前按同期中国人民银行公布的贷款基准利率计付;2019年8月20日之后按同期全国银行间同业拆借中心公布的贷款市场报价利率(LPR)计付];(三)刘某应于判决生效之日起十日内赔偿马某腾讯云服务器费用1626.52元,并以1626.52元为基数,支付自2018年4月1日起至实际付款之日止,按同期中国人民银行公布的存款基准利率计算的利息;(四)刘某应于判决生效之日起十日内赔偿马某软件宣传广告单费用114元;(五)刘某应对涉案合同附件二《需求文档》的内容履行保密义务;(六)驳回马某的其余诉讼请求。刘某如未按期履行给付义务,则应按照《中华人民共和国民事诉讼法》第二百五十三条的规定加倍支付迟延履行期间的债务利息。案件受理费7860元,由马某负担6193元,刘某负担1667元。 本案二审期间,刘某为证明其主张,向本院提交了14份证据:1.刘某和马某之间关于软著申请的聊天记录;2.马某登记的“女王TV”软件著作权详情。证据1、2共同用以证明马某用刘某提供的代码完成了软件著作权的申请。3.若干平台网站上关于“女王TV直播”的评分,用以证明“女王TV直播”在一些平台均有不低的评分。4.马某拖欠应当向刘某支付的费用,用以证明马某通过各种理由来拖欠应当支付给刘某的费用。5.关于软件存在bug的说明,用以证明“女王TV直播”符合交付条件。6.腾讯云网页取证,用以证明腾讯云S某某中不存在电台服务。7.“女王TV直播”软件可通过电脑下载平板安装运行的视频;8.“女王TV直播”软件可通过苹果手机下载的视频;9.“女王TV直播”软件可通过安卓手机下载并安装运行的视频;10.2020年5月31日apk依旧可以下载的证明;11.nvwangTV.apk(Android平台上可被下载的软件包,依旧可以允许);12.nvwangTV2.apk(反编译APK文件得到的代码混淆后的程序文件);13.关于nvwangTV.apk的说明;14.就nvwangTV.apk反编译的过程。证据7-14共同用以证明“女王TV直播”软件满足上线需求。 马某的质证意见为:对证据1、4、5、6的真实性予以认可,对证据2、3、7-14的真实性不予认可,对证据1-14的关联性均不予认可。具体理由为:涉案软件最终未能完成开发的原因在于刘某,而非马某。申请软件著作权不能代表涉案软件已经完成开发。刘某二审提交的证据7-14所涉“女王TV直播”,不能证明是由刘某团队所开发。涉案软件在开发过程中多次出现诸如“点击开始直播即闪退”等缺陷问题,刘某从未向马某交付过符合合同约定功能需求的软件,其在2018年4月1日的QQ聊天记录中甚至承认无法解决软件中的有关问题。刘某从未向马某交付完整的、符合功能需求的软件代码,其二审又称软件开发工作已经完成,且已将软件提交上线并符合上线需求。对刘某二审提交的关于“女王TV直播”软件的证据真实性表示怀疑。鉴于刘某的说法前后明显矛盾,无法让人信服。因此,对刘某二审提交的新证据的证明力均不予认可。 本院的认证意见为:关于证据1、2,该两份证据仅能证明马某在涉案合同履行过程中将刘某开发的软件提交软件著作权登记,不能证明刘某所开发的软件符合涉案合同的功能需求、实现上线效果,故对该两份证据的关联性和证明力本院均不予认可。关于证据3,该证据属于刘某单方制作的证据,且该证据仅为打印件,在马某对该证据的真实性不予确认的情况下,本院对该份证据的真实性不予认可。而且,该份证据无法证明名称为“女王TV直播”的软件系由刘某开发及上传,故对该份证据的关联性和证明力本院均不予认可。关于证据5,该证据所涉及的均是第三方软件,与本案待证事实无关,故对该份证据的关联性和证明力本院均不予认可。关于证据6,该证据所证明的内容与本案待证事实无关,不能根据该份证据来说明刘某已经完成软件的开发、所开发的软件符合涉案合同的功能需求并已实现上线效果。关于证据7-14,该组证据所涉及的“女王TV直播”“nvwangTV.apk”软件系刘某原审后下载的软件,不能证明该两款软件系由刘某所开发。退一步而言,即使该两款软件系由刘某所开发,但仅根据该组证据亦只能看到静态情况下软件打开的初始界面,无法证明软件可以实际正常运行,故对该组证据的真实性、关联性及证明力本院均不予认可。 本案二审期间,马某未提交证据。 原审查明的事实基本属实,本院予以确认。 本院另查明: (一)马某与刘某关于腾讯云S某某支持连麦的交流情况 2017年7月28日,马某通过QQ向刘某发送消息称“电台、连麦、直播里的表白,这三块看能不能用腾讯云的游戏语音去开发,电台、连麦应该是没问题的,用游戏语音,表白用游戏语音或者直播的连麦都无所谓,哪个适合用哪个。”刘某回复称“游戏语音我们可以尝试一下。”马某称“嗯,应该没问题,如果不行的话跟我说一下。” 2017年8月21日,马某通过QQ向刘某发送消息称“im是什么?即时通讯?直播用移动直播SDK,那个就是移动直播的官方技术群,对于语音连麦,电台用游戏语音SDK。如果那个群里没有专业的答复,就后台提工单吧,顺便问问有没有对接人,要个联系方式。”刘某回复称“行,再有问题跟你说。” 2017年9月17日,马某通过QQ向刘某发送消息称“开发的时候,如果有什么规则,腾讯云或者技术开发不了的,记得跟我说下。” 2017年9月27日,马某通过QQ向刘某发送消息称“好友聊天的一对一连麦和多人连麦都用腾讯云的游戏语音开发,计费相对便宜。”刘某回复称“目前使用的是这个,这东西通过开发文档看不是很完善,正式上线不知道会不会出问题。如果有问题再找腾讯技术支持吧。”马某称“毕竟是腾讯的东西,出问题好解决。” 2017年10月28日,刘某通过QQ向马某发送消息称“先别加东西了吧。连麦那块,你说用语音连麦,最近测试经常出问题。提交工单了,现在就差这块了,头疼呢。等我们功能都能用了,再考虑其他好吗?你坚持用的腾讯游戏语音性能根本不稳定。”马某回复称“嗯,先解决连麦。群里有找技术吗?”刘某回复称“都找过,电话也打过。到这个月底,如果还不稳定,等我们见面聊。” 2017年10月29日,马某通过QQ向刘某发送消息称“这个游戏语音的问题有多严重?能够解决吗?”刘某回复称“就是有的时候,开房间之后连接不上。在解决,见面聊。”马某问“你这边有微信吗?我这里有腾讯云的商务,可以帮忙催促他们开发跟进,需要吗?”刘某回复称“我直接找的他们技术,商务催没用。” 2017年12月13日,马某通过QQ给刘某发送消息称“360不知道怎么了,上线了。”刘某回复称“360不是审核没通过么?我去看一下。”马某称“安卓包能用吗?360线上的不会是测试包吧?希望一会不是空欢喜。”随后,刘某看到“女王TV”安装包(更新时间2017-12-13)被发布上传,随后通过QQ给马某发送消息称“更新时间是13号,我今天没上传啊,你上传的吗?”马某回复称“我上传了开发者声明(就是承诺是自己开发的,有问题和360没关系那个)。”刘某回复称“那就是之前有问题的包。”当天稍晚些时候,马某通过QQ给刘某发送消息称“应该可以直接上传包,原来的应用编辑。现在App是不能用?还是连麦有问题?”刘某回复称“连麦有问题,用不了。”马某问“还没找到问题吗?”刘某回复称“你看他工单回复嘛,光说本地环境问题。环境没问题,我自己扣代码吧。直播、聊天那些功能都能用,到了游戏语音这里就本地环境问题了。”马某称“360先换个能用的包,修复完再上一个更强的包吧。线上的包换了吗?360和搜狗的?”刘某回复称“还没有,连麦的问题,我找到一点,在改。改完了再上传。” 2017年12月15日,刘某通过QQ向马某发送消息称“连麦已经找到问题点了,正在解决”“连麦的问题预计到明天中午的时候就能解决了”。 2017年12月16日,马某通过QQ向刘某发送消息称“还没弄好吗?”刘某回复称“连麦又出问题了,在弄,就很没办法,腾讯那边支持又不行。”马某称“发工单吧。”刘某称“连麦是否开启,语音是否接通都不知道。”马某又问“那需要多久啊,这个东西改了太长时间了。时间太长了,已经12月中了,这个月无论如何要弄好。”刘某回复称“我提交工单问问。没问题。” 2017年12月20日,刘某通过QQ向马某发送消息“连麦的问题差不多了,今天晚上给你一个具体的上线时间。” 2018年2月1日,刘某通过QQ向马某发送消息“现在情况是这样,连麦功能在测试的时候,还是会出现不稳定的情况,在开启电台时,主持端有时会断开连接。连麦功能模块目前还达不到我这边的上线标准,毕竟一个好的软件,不能频繁出现问题,而连麦这块还是不行,我这边正在想办法解决。现在我这边的方案是这样,第一种就是暂时先把连麦模块屏蔽掉,优先上线,其他功能正常的情况下,连麦模块尽快解决,解决好之后,再更新第二版;第二种方案,就是等连麦功能完全没问题再上线。”马某回复称“连麦问题腾讯云那边也解决不掉吗?”“连麦提工单让腾讯云去弄吧。如果换一个连麦的SDK能行吗,丙公司的连麦。连麦好像从几个月前就说是有问题,你看要不要换一家语音的SDK。”刘某回复称“嗯,连麦我找找有没有其他免费的。我发的地址我看有的是破解版,我都打开,下载了看。”马某回复称“我拉你进个群,你看看游密通讯语音,能不能用?329145286这个群,你看看能不能问到什么有用的解决办法或者看看他们的SDK能不能用?” 2018年2月3日,马某通过QQ向刘某发送信息“我前天要的视频发给我,3月10号之前能用腾讯语音SDK就用,用不了就换游密SDK。3月10号之前,无论如何开发完,行吗?”刘某回复“这个可以保证。视频的话,我要看下当前的情况,SDK拆包、合并包后是否能用?”“至于连麦SDK,我这边也好再找几个作为备选。”马某回复称“我看过价格是腾讯和游密比较划算,按人头算,不算流量”“你这边能留一个人试SDK吗,接入SDK应该一个人就够了,试下接SDK能不能行,这样年后也不用花那么多时间去试了。”马某问刘某“今天视频能弄好吗?不打包能看到东西吗?”刘某回复称“视频先不给了吧,SDK合并没弄好,好多功能没法用,现在相当于做到一半停下来了。” 2018年3月7日,马某通过QQ向刘某发送信息“现在还有什么问题吗?连麦的问题解决了吗?”刘某回复称“解决了。下周一先交付给你Android端,周三前先把iOS给你。我们下周一晚上见个面吧。” (二)马某与刘某关于交付软件包的交流情况 2017年10月31日,马某通过QQ给刘某发送信息“你这边能给我个安装包吗?”刘某回复称“苹果的还是安卓的?”马某称“安卓。”刘某回复称“过两天不就可以下载了吗?你是还有什么问题吗?” 2017年11月27日,马某通过QQ给刘某发送消息称“怎么还没有传啊,没有包我什么都做不了啊。这从上上周五就开始催上传了,到现在还有一半的平台没传过应用,这效率很低啊……周五说的阿里应用分发平台,三星N900闪退。AppStore还是那个举报屏蔽的问题,没有说文网文啊?”刘某回复称“这不是为了规避一些审核问题,弄个简化的包么,马上发你。IOS是问过业内做过直播的人,需要文网文,没有这个之前,你如果想提交,资料都给你。你就提交吧,苹果审核被打回来的次数越多,后期提交审核的优先级就越低。资料都给你,你想提交可以提交。”随即,刘某向马某先后传送了“设计.zip”“服务器相关.zip”“代码_Android.zip”“代码_iOS.zip”四个压缩包。马某问“上传应用的包在哪里啊?”刘某称“正在发。这是两个简化版的安装包,你先上传,如果有平台上传成功,我就再把完整版的发给你。”马某问“简化版的是什么?直播改成视频,还是直接没了。”刘某回复称“还是直播,只是一些付费的项目屏蔽了一些,然后功能上屏蔽了一些。”随后,刘某又向马某传送了“安装包.zip”。马某问“屏蔽一些功能有什么意义吗……”刘某称“功能越少,审核速度越快。我们现在的目的,不就是为了先让你的项目上线吗?然后很多问题都是在能上线的基础上再做处理的对吗?最近是因为一些事情,做事比较拖延,最终我们也是在做事情的。我们的问题我们承担责任,这个项目你大可放心,我们是签合同的,保证你的项目按照你的要求最终完成上线。” 2017年12月4日,刘某通过QQ给马某发送消息称“嗯,今天我重新上传一个包。”马某回复称“顺便传给我个……周四晚上,能给我正常使用的安卓包吗?”刘某回复称“可以。” 2017年12月20日,马某通过QQ给刘某发送消息称“好了之后,上线包给我。” 2017年12月21日,马某通过QQ给刘某发送消息称“还没好?”刘某回复称“需要一点时间。连麦的问题是这样:腾讯云中的每一个功能,直播、通信、语音、游戏语音等都是一个单独的开发包,作为第三方包引入到项目中。但是这些包之间有的包含相同的东西,因为目录结构是一样的,在引入的时候就产生了冲突。我现在需要把这些包解压后,把重复的东西去除掉,然后重新打包。”马某问“还要多久能用?今天就剩一礼拜了。”刘某回复称“要下周一才行。”马某问“是不是下周一所有功能都正常使用,不会有bug不会有别的不能用的问题?别再晚了。”刘某回复称“拆包,找到重复的代码删除后重新打包是个耗时费力的工作,确实没办法。”马某回复称“可是到现在,App我都不敢打开去用,我的安装包不能直播,第三方登录不正常,界面显示不对,等等。开发完快3个月了吧,我一个用户都没有!!”刘某回复称“快2个月了,这个损失我这边承担。”马某称“不是承担的事,我知道费用这边你们让步很多。我不要扣你们的钱我就是想要我的软件能上线,能用,能比陌陌用的人还多,可是现在一个都没有。”刘某回复称“嗯,下周一可以用。” 2018年1月10日,刘某通过QQ给马某发送消息称“现在整体进度还可以,这两天先给你个安装包,让你看下进度。” 2018年1月11日,刘某通过QQ给马某发送消息称“安装包明天发你一版。” 2018年1月13日,刘某通过QQ给马某发送消息称“在改个bug安装包,晚点发你。你那边文网文办的怎么样了?”马某回复称“你这边不给我个包,我没办法办,人家要看东西。资料准备好了。”刘某回复称“文网文要安装包,那我这边尽快。”马某称“直播涉黄太多,人家说只能办文化类直播,要看App是不是这类直播。”刘某回复称“明白,我尽快给你一个包。” 2018年1月15日,马某通过QQ给刘某发送消息称“还要多少时间?”刘某回复称“正在测试一部分功能,快了。” 2018年1月17日,马某通过QQ给刘某发送消息称“还有多少东西要做啊?现在是还在开发,还是在测试?什么阶段,东西有录屏吗,我心里没底。你这边进度能收紧一些吗,没包不能办网文,网文还不一定能办下来,办不下来还要曲线救国,之后流程一串,先出包啊。不一定要最终的,基本能用给文化厅看能不能办?”刘某回复称“这个周,到周末,应该就能弄完,就算弄不完也就再有一两天,就可以搞定了。”马某回复称“行,好了以后先把包给我,先不要上线。” 2018年1月24日,马某通过QQ给刘某发送消息称“今天能好吗?开发3个月,到现在,没几天就6个月了……先给我个包,文网文办不了,iOS不能上线。给文化局看下,不需要没有bug,你们等两三周再给我,那我就要两三周以后再办,时间太长了。今天能给我吗?我还要等到什么时候?”刘某回复称“如果只是单纯的看下,最早的包,不就可以吗?正在做测试。”马某称“那个包全是问题,直播不能用,四个主界面当中写着‘没内容’,连麦整个没了,多少功能不能用。那个包那时候居然还帮我上架?那能用吗?打开一眼就能看出都是问题,怎么给人家看,主要功能和界面都有问题。我这里一共就一个包,直播能用吗?白屏?”刘某回复称“今天测试完,没问题就给你一个完整的包。晚上9点左右有结果。” 2018年1月25日,刘某通过QQ给马某发送消息称“我到开发这边看了一下,有个功能模块有点问题,今天再改,没提交测试。明天提交测试,今天这事我说他们了。以后这种事情及时的告诉我,然后也及时的告诉你……看了下情况,还需要两天时间,这个周末正式结束。” 2018年1月28日,马某通过QQ给刘某发送消息称“又延期了?”刘某回复称“马上过年了,你的项目正在加急完成。这几天,我在全天盯着。就这几天,就可以发你了。两三天的样子吧。” 2018年1月30日,刘某通过QQ给马某发送消息称“就这一两天,就可以发你了。好了,我就给你发消息。” 2018年2月3日,马某通过QQ给刘某发送消息称“这么长时间,怎么也该让我知道现在什么情况,让我看看东西吧?晚上能弄好吗?”刘某回复称“现在的进度就是整体开发已经完成,就剩下一个问题项在修改。现在真的没人手去负责,时间紧人手紧,真的很抱歉。”马某回复称“这样吧,你能给我看到什么?除了视频,有什么能告诉我现在快开发完了……你能给我看到什么东西吗?”刘某回复称“东西确实现在没法给你看啊。你就想,我这边都愿意全款都退还你了,是多大的损失?”马某回复称“你这边是不是一直都是不到最后交付,都是看不到东西啊?”刘某回复称“现在人手都抽调开了,真的没办法给你东西看。整合SDK没弄完,很多东西都没法用。如果东西是OK的,就随时可以给你看。” 2018年2月1日,马某通过QQ给刘某发送消息称“打个包给我?我这里不能再拖了,给我个包我看看情况,然后文化局这边试试。我需要安装包。”刘某回复称“那就先把连麦功能都屏蔽了,然后打个包给你?”马某称“不用屏蔽,我又不上线。我看看情况,子公司的SDK能不能用,也是做连麦的。” (三)马某与刘某关于软件上线的交流情况 2017年10月31日,马某通过QQ给刘某发送消息称“用户等级、直播自动加人数、加好友次数,这些规则都要一段时间才能验证。文档里很多规则是一段时间以后会提升等级什么的,这些规则有的一两天都不满足升级条件,如果之后和文档不同或者需要优化,在上线后能优化吗?”刘某回复称“可以啊。”马某继而称“我在这周日之前付39000,你们收到之后尽量两三天里面上线,行吗?如果有什么和文档不一样的地方,上线后需要优化的再尽快解决。”刘某回复称“安卓两三天可以,iOS要等几天,审核时间会长一点……你不用发了,这个就是没有办法做到。这种存在缺陷的功能,必然是后期要长时间维护的。这个项目做下来,我们已经亏很多了,你要的功能这么多,腾讯的东西都很不稳定,单单开发来讲,没有30万都是不做的。现在我们的维护都不收费的。还要加这些不稳定的功能,很多东西不是不能做,而是很多东西要有专门的团队跟进。不是一时之间给你做好了就能一直用,明天我把需要注册哪些账号发给你吧……只是想借此告诉你这些问题,后期你自己招聘开发团队去维护的时候心里有底,刚才说话直接了。” 2017年11月6日,刘某通过QQ给马某发送消息称“Android和iOS已经提交第一版审核了。Android这几天应该就可以通过审核,到时候给你一个二维码。iOS审核时间要长点。”马某回复称“好的。现在的版本会影响用户体验吗?我拿到二维码就要印宣传单,什么(注:此处应是‘准备’的笔误)开始在学校做推广了。”刘某回复称“现在的版本还不能做推广,有些充值消费的测试都要做。之前都是在测试环境下通过的,现在要上线后用正式环境测试。在充值提现都没问题后才能正式推广,预计要下周一。” 2017年11月7日,刘某通过QQ给马某发送消息称“App的名字,需要重新想一个,之前你说用女人,审核说这是泛意词,不能用,使用女王直播提示应用名字已经存在。这个App的名字,需要重新想一个。另外,关于App的宣传文本和描述你想一下,然后发我”“这是iOS的提交,先用的女王直播秀的名字,你想几个,然后我这边再换一下。”马某问“你看一下能不能iOS用女王tv,安卓用女王直播。”刘某回复称“你多想几个名字,我们提交试试。这样比较效率。” 2017年11月8日,针对iOS的审核反馈,刘某通过QQ给马某发送消息称“这个是凌晨收到的,好像是审核没通过。”马某回复称“嗯,账号登录先不管,女王tv能用吗?”刘某回复称“在审核,有结果就告诉你。”马某称“丑公司注册了很多平台,但是App始终没上线还是怎么了,尽量用‘女王直播’用不了就女王tv吧。”刘某回复称“女王直播已经被人用了,现在用女王TV提交呢。寅公司。” 2017年11月12日,刘某通过QQ给马某发送消息称“抱歉哈,这几天搞审核的事情,App上面有些界面要修改。自己弄的二维码和审核的性质上一样,都是一个下载链接。苹果审核那边要改的东西挺多,社区发帖要加屏蔽功能,等等。我这边让服务器加一个下载的二维码,今天晚上就会发你一个二维码。App端界面的屏蔽现在正在弄呢。”马某问“没懂,什么情况要屏蔽发帖啊?”刘某回复称“苹果那边的说法是类似于微信朋友圈,要有屏蔽功能,防止恶意刷广告。”当天稍晚些时候,刘某回复马某称“二维码下载已经弄好了,现在iOS是随便跳转一个AppStore的应用,Android是跳转到百度网页。你可以先去做线下的打印,后期两边审核都通过了,服务器会替换成我们App的下载地址。” 2017年11月15日,马某通过QQ给刘某发送消息称“周五晚上360首发还有什么没做要准备的吗?”刘某回复称“你这边应该不需要了,到时候就是需要,再加也来得及。” 2017年11月17日,马某通过QQ给刘某发送消息称“客服说360不能首发,没有网络文化许可证。”刘某回复称“首发不需要那个东西啊……你之前直播,不是申请过对应的许可证吗?不要告诉我没有……天呐,我记得之前9月份的时候就跟你说过,直播类现在政府管这个,要申请相应证书。那这样,首发不能发了,就按照普通的发,然后你抓紧时间去申请文化许可证,防止后面平台把App下架。你看这样可以吗?”马某回复称“嗯,行。”刘某称“OK,那我这边就直接提交审核了。”马某问“行吧,今天上线?还是下周一开始审核?”刘某回复称“今天提交的话,360周六有人审核,明天就能上线。如果没有也是下周一就能上线。”马某回复称“行,那先上线吧。”当天,刘某通过QQ给马某发送消息称“你有移动硬盘吗?代码什么的,周末一起给你。”马某问“后面不是还要优化什么的吗?”刘某回复称“大的优化已经做完了,上线后你发现问题跟我们说,然后帮你免费维护。”马某问“那代码还要动吗?”刘某回复称“或者我们把代码放在网上,然后你需要的时候自己下载?Android这边是700多M,iOS那边静态库比较多,有1G多,快2G了。这个项目真的是赔钱在做,很辛苦的。360这边,我先用你最早的名字‘女人’做的App提交,需要我改吗?现在已经提交审核了。”马某随即给刘某传输了一份“应用市场账号.txt”文档。马某向刘某发送消息称“这是全部的开放平台账号和密码,尽快全部上线吧。”刘某问“下周一让全部平台都上线,可以吗?”马某回复称“可以。” 2017年11月18日,马某通过QQ给刘某发送消息称“我收到昨天下午5点多360上传的安装包测试情况,这上面说启动失败率非常高。”刘某回复称“我再看看……我先提交一个测试版在360上,看看这次是什么报告反馈。你先不用理会哈。” 2017年11月19日,马某通过QQ给刘某发送消息称“18个手机12个打不开。知道启动失败的原因了吗?”刘某回复称“我看看原因。看了一下,都是4.4版本之前出的问题。Android5.0以后的手机没问题,再看看是不是版本不兼容,或者占用内存引起的。”马某问“服务器的二维码什么时候可以用啊?”刘某回复称“产品上线就可以用,IOS这边要重新发起审核,之前因为一些问题审核没通过,这个你是知道的呀……你要是不急就等两天,统一推广是最好的。苹果审核比较严,这个项目涉及的东西比较多,每种类型要求还不一样。就比如社区发帖,它就要求必须有屏蔽功能,这个都在往App上加。产品上线这事,我比你更急。服务器iOS、Android设计,你产品一天不上线,我这边都要花钱……这个项目包含的东西太多,直播、视频录制播放、社交、论坛、即时通讯、语音等等,这个你都是知道的。每一个都有单独的审核标准,现在合并在了一起。”马某称“嗯,那我先不推广,等iOS过了再推,App启动问题什么的麻烦再费费心。”刘某回复称“你放心,这个问题肯定解决。” 2017年11月21日,马某通过QQ给刘某发送消息称“安卓尽快全部上线吧。我看360平台还没有去审核,大概什么时间能全部上线啊?之前说改大写的TV撤下来的。我现在在360没看到大写的包。除了360和腾讯,其他平台都没有应用。”刘某回复称“没有提交吗?我看一下。今天晚上就全部都放上去了。” 2017年11月22日,马某通过QQ给刘某发送消息称“今天白天能花点时间各个平台传包吗?这样正常明天也能审核上线了。”刘某回复称“91提交不了,91助手开发者平台。”马某称“这个是这样的,阿里把91的业务合并了,在‘阿里应用分发开放平台’传的包会进91助手里。91平台不管它。”刘某问“阿里分发平台,你账户注册是用什么注册的,用什么方式登录?”马某回复称“淘宝账号。”刘某回复称“现在360和应用汇已经发上去了。阿里分发已经提交,我先提交这三个比较大的平台,看审核结果。没有麻烦,本来就是应该做的,应该我这边说抱歉。周一就应该上传完的。”马某回复称“没关系,尽量今明都上传上线吧……阿里应用分发平台没通过。什么情况啊,需要我做什么资料吗?360审核失败,图标不清晰。”刘某回复称“嗯,我这边看一下。我处理一下。应用汇的也发布失败。”马某称“阿里我打印了开发者声明,已经重新上传了。360图标换掉,其他平台今晚有空上一下吗?”刘某称“可以,我先申请上一下。”马某回复称“阿里我已经重新提交了,应用汇先不管,我邮件在问。其他平台你抽空都上一下,最好今晚,这样明天一部分平台能上线。” 2017年11月24日,刘某通过QQ给马某发送消息称“按照合同项目应该11月初上线,到现在没上线,这个我们负责。在结算的时候,我们认赔。但是最近真的是有事拖住了,所以真心的说声抱歉。上线的事情,我们尽最大的努力做,好吗?”马某称“我不是这个意思,只是想尽快上线,心里有点急。”刘某回复称“嗯,我明白,确实是上线时间太久了。”马某问“iOS的问题处理了吗?”刘某回复称“处理好了……oppo的上不去,我试试其他平台。”马某称“阿里应用分发平台审核失败,输入个人信息时发生闪退。抱歉,输入个人信息时出现闪退(三星N900、安卓5.0)。百度开放平台审核失败,未提供测试账号。我下午看到iOS还在整改,什么时候能提审核啊?”刘某回复称“提交失败了,好友那块。好友资料里面的社区帖子都要加屏蔽,拍卖也参加。”马某问“这是不是要几天时间改?”刘某回复称“这几天就改好了。”马某又问“行吧,安卓都上了吗?”刘某回复称“嗯,能上的都上了。这几天抽空把这几个平台上一下吧。” 2017年11月26日,刘某通过QQ给马某发送消息称“我在这里资料、界面、安装包、服务器都先给你。”马某回复称“我有百度网盘,传到百度网盘吧。传完以后跟我说下,不是太晚的话我就直接去上传。”当天稍晚些时候,马某通过QQ给刘某发送消息称“别忘了传啊。安卓、iOS的包,还有最大分辨率的截图,别忘了啊。” 2017年11月27日,马某通过QQ给刘某发送消息称“能屏蔽掉直播吗,就是其他不用动,直播,社区,交友,拍卖。四块变三块。这样就没有文网文问题了。”刘某回复称“有想过这么做,但是没用,更新提交一样需要审核。并且审核比初次提交更麻烦,需要把更新了哪些内容提交上去,除非你打算直接把直播给砍掉。”马某问“因为几个大平台看到直播就要文网文了,那在我拿到文网文之前,先四块变三块,能上线的平台正常四个模块,等拿到证了再把三块的更新到四块。”刘某回复称“你先提交试试。这是政府要求的东西,跟大小平台应该没关系。”马某问“嗯,所以直播藏起来,剩下的都不是直播了。”刘某问“那你的意思是直接就改为三块?全部都改?”马某称“能不能一个包三块,一个包四块。能用四块的就四块,不能用的上传三块。”刘某回复称“你先上传应用试试吧,看看有直播的能不能成功?”之后,刘某问“搜狗上了,是吧?”马某回复称“我下载搜狗,已经可以搜到下载了……我试了下游客浏览、QQ登录不能点击,微信登录显示未知错误,微博登录错误显示21338,短信验证码收不到。输入你的测试账号不能登录。登录问题呢?你的测试账号和第三方都不能用。能知道什么原因吗?为什么我不能登录?测试账号、QQ、微信、微博、游客、注册全部失败。vivo审核结果也是无法登录。”刘某回复称“我回去看看。今天给你结果,我找下问题……那是里面的功能,跟登录注册没关系。你注册都收不到短信的?我记得短信服务是免费的呀,我去看看。” 2017年11月28日,刘某通过QQ给马某发送消息称“找到问题了,正在解决。我看了下报错的手机,我出去找朋友借个手机。”马某回复称“好了以后把完整的包给我吧,搜狗和其他小平台先上,大平台等文网文。阿里之前测试说,三星N900也闪退。登录我试了下,还不能登录啊。”刘某问“除了搜狗,还有哪个平台通过了?”马某回复称“联通,但是只是通过,我找不到上架应用市场的入口。vivo安智不能登录,注册无法测试,其他还没消息。”刘某称“快到家了,等下给你结果……我搜狗上下载的,你能收到验证码,应该没问题啊。你之前不是说不能注册、登录吗?能收到验证码啊。”马某称“我试了下,能收到验证码。但是马上显示错误,然后进昵称头像编辑页面。昨天不行,刚刚行。注册个人信息,填完信息以后点确定,它返回注册页了。第三方登录和游客登录还是不可用的。”刘某回复称“上传的东西都没动过。你设置的密码多少,我用你的账号登录试试。你把你账号密码发过来,我试试。正常逻辑是进入主页面,而不是登录页面。我找找问题,报错的原因找到了,正在改。错误码看到了,正在调试。”马某回复称“我这里可以通过第三方搜索平台付费推广,他们不要资质。你这边快点修复bug,然后学校和外面可以直接推广。还是不能第三方登录。”刘某回复称“你那边都没更新。问题还在调试,打成安装包就不能用了,在找问题。”马某回复称“嗯,弄完给我个包,功能不要屏蔽了,有什么平台我直接上线。登录问题还没弄好吗?”刘某回复称“没有,问题挺怪的。昨晚一晚没睡,解决第三方登录的问题。微信登录光报错,不提具体错误。我还需要一点时间,之前都没出过这种问题。微信的key和sig都在重新弄,还没好,微博的也在重新弄。”马某问“找到什么问题了吗?会不会影响App里别的东西。”刘某回复称“正在改。”马某又问“有具体时间吗,一周?”刘某回复称“今天下午就能完成。现在都哪些平台的审核通过了?晚上的时候,我去更新一下App包,明天你就能下载最新的了。”马某回复称“搜狗已经上线了,电信(天翼)审核通过了。阿里,vivo,小米,联通,三星,安智都反馈测试失败,这些平台重新提个包,顺便看看你那个账号能用吗?” 2017年12月1日,刘某通过QQ给马某发送消息称“在吗?搜狗平台的审核已经提交了,但是腾讯云平台的对象存储一直出问题。就是用来存放用户头像、录制的拍卖短视频和相册的。我已经提交工单了。”稍晚些时候,马某通过QQ给刘某发送消息称“现在能正常使用吗?”刘某回复称“在解决存储问题。”马某称“你确定更新了?我刚刚在搜狗下载,问题和之前一模一样啊。一周了,登录不了。还好没推广,要是上线推广,一周登录不了,多少人都得流失没了。”刘某回复称“可以登录了,但是新用户需要设置头像等资料,现在是腾讯那边的存储有问题。在沟通调整呢。”马某称“我给你发消息之前搜狗下载的,不能登录啊。”刘某回复称“用你发我的账号能登录啊,就是设置资料会报错。头像上传服务器失败,腾讯存储有问题。在沟通呢。”马某回复称“工单回复了。”刘某称“看到了,这个问题解决了,微博登录的问题。” 2017年12月2日,刘某通过QQ给马某发送消息称“这个问题解决了,微博登录的问题。这个上线就可以了。”马某问“能正常使用了吗?”刘某回复称“你现在试试微信登录能不能用?我这边是微信可以登录。”马某回复称“不能,和之前一模一样。包括游客登录不能用,忘记密码不能用,微信登录报错,微博报错,QQ不能用。游客登录什么原因不能用?”刘某回复称“游客登录是匿名登录,也是找注册账号的,只不过是由我们服务器完成这步操作,同时要加入一些功能限制,毕竟有些操作是不允许游客做的,所以逻辑上比正常注册登录复杂,我看你发的小视频,是点击了没反应是吧?我排查下,是哪步流程出的问题。”马某称“对,点了一点反应没有。我刚才打开App试了下,和昨晚给你发的一样,和周一搜狗上线后的情况一样。”刘某回复称“我往搜狗上传了一个安装包,审核通过后,你下载一下。微信、微博登录的问题,还有账号密码登录注册的问题,应该解决了。我现在看看,忘记密码和游客登录。这个样子,这忘记密码和游客登录,我保证今天一定解决,下个军令状,如果到明天早上这两个问题还没有解决,你就直接扣我1000块钱的开发费。登录注册问题确实卡的时间比较长,但有些问题不是我这边的,以后功能有问题,我给出你解决的时间,超时了你就扣我开发费好不?”马某回复称“扣钱倒是不用,只是现在不早了,尽量把问题都解决掉,之后有问题稍微快点就行。我希望这几天能把问题都解决掉,不然开发完不能用没人用就没意思了。” 2017年12月3日,马某通过QQ给刘某发送消息称“1.万人持股没有;2.设置模块排序没有;3.微信登录登录完了进登录页再进主页;4.App最小化=退出;5.个人中心资料和消息中心没有;6.夜间模式没有;7.直播间表白没有,分享没有;8.连麦页面没有;9.小纸条当中一直有‘暂无内容’;10.小纸条页面滑动有问题,上下滑和左右滑容易冲突;11.社区图片不能放大,图片一张的时候不能向贴吧一样宽度占满最大化;12.发布拍卖不能拍摄视频。给我个时间吧,上面这些什么时候解决完?登录问题以后,为什么里面还有这么多问题?滑动不合理,我往上下滑,有一点偏移就变成左右了?这个要弄成满足一定的角度才是左右滑,不满足一定角度都视为上下滑。这个就是开发完的版本?”刘某回复称“这个是个测试版的。我今天会把完整版的发上去。”当天稍晚时候,马某通过QQ给刘某发送消息称“安卓的完整的包给我一个。”刘某回复称“晚点发你,发现个问题正在优化。” 2017年12月4日,马某通过QQ给刘某发送消息称“好了吗?”刘某回复称“现在的问题是进入好友列表页面会卡上几秒,加载的数据有点多。另外你发我的视频我看了,图片选择不上?你手机的配置发我一下。”马某回复称“不是图片,是点击开始直播,App就挂了。好友列表加载什么,现在不是没数据吗?”刘某回复称“有好友以后,有聊天记录以后就会变卡。”马某称“进入好友界面,只读取最近一条消息和未读消息数,点击进入聊天窗口读取这个聊天窗口的最新二三十条聊天记录,滑到最上面再读取之前的二三十条,反复直到全部进界面,只需要所有未读消息的数字和所有窗口最近一条消息。”刘某称“开启直播会闪退,这个我找找原因。这些问题我尽量避免一下,都是基本操作,有这些问题App就不能正常使用了。”马某称“我手机的包,拍卖的视频也不能拍,点了没反应。等基本操作问题都解决完跟我说下,该推广了,到现在一个月了用户没有,钱没有,耗时间了。”刘某回复称“嗯,今天我重新上传一个包。”马某回复称“顺便传给我一个。等基本操作问题都解决完跟我说下,该推广了,到现在一个月了用户没有,钱没有,耗时间了。”刘某回复称“嗯。”稍后,马某问刘某“还没有好?”刘某回复称“没有,再给我两天时间可以吗?我把所有功能再过一遍。”马某称“App尽量把使用问题都处理掉,现在还没有到优化,仅仅启动后使用问题,之后如果再有几个问题,那照现在进度直接就是年后上线了,没时间了,寒假前总共就剩一个月,还要准备时间,经不起折腾。” 2017年12月8日,刘某通过QQ给马某发送消息称“测试通过了,我先打包往搜狗上传一个。测试结果有个别手机内存不够,可能造成闪退,我看着再优化一下。”马某称“嗯,我先下载看看。上次我发的平台,有一些是因为登录注册问题不能发布的,也传一下,阿里、联通、小米、vivo、三星、安智。可以给我个包我去传。”刘某称“嗯,等下我去传,看看有没有问题,如果有再修改。”马某问“你在搜狗传的就是完整的包?我下载下来和之前的没什么区别,登录还是有问题。”刘某回复称“没有,我先下架,然后上传完整包。之前是测试版本,现在是正式版本。我要先下架。”马某继而又给刘某发送消息称“给我个包吧,我自己去传。”刘某问“你是打算直接更新传,还是下架重新上?”马某回复称“搜狗的话下架吧,没用户,其他平台直接换包就是了。”刘某称“先把搜狗上了,看下效果,再上其他平台吧。”马某称“别,搜狗没效果,上线一两周,一个下载都没有。之前发的几个平台,先开放平台换包上线一下。搜狗上线之后,安卓有下载链接了吧?应用汇是因为ICP备案原因被驳回的,也上传一下。”刘某回复称“阿里分发不是因为直播的问题不给上吧?ICP备案你有了吗?”马某回复称“这个截图就是。没有证书这种东西,用截图就行……这样以后有新包了就先给我发个,我能自己下,也能去传,你这里上传速度一直不可控,而且我还可能是最后拿的包。我的性子算是比较慢了,可这是创业,而且我还没钱,经不起时间消耗的,越快上线越早收回成本,缓上几个月,那我都不用等上线就耗死了。之后上传包,上线什么的事情我都自己来吧,你这边修复完改完直接给我包,不用做别的事情。”刘某回复称“好的,今天上传完,我检测正常了,之后的上传包就交给你来。”马某继而问刘某“跟我说下现在App的情况?哪些功能还需要优化,哪些需要实际使用去发现问题。一些测试的工作也顺便可以给我测。不要开发完了告诉我,开发过程中有什么问题,测试都带我一起。应用汇我已经问过了,可以的,上传新版本就能审核通过了。” 2017年12月9日,马某通过QQ给刘某发送消息称“应用汇、阿里、联通、小米、vivo、三星、安智上传了吗?”刘某回复称“昨晚上传了,刚才查看结果,没找到,不知道为啥?正在重新传。”马某稍晚问刘某“人呢我说的平台一个都没上传包啊,搜狗是下架流程卡住了,其他的你没时间把包给我我去传。”刘某回复称“游客登录发现一个bug。”马某回复称“之后上传包的工作全部我自己来,你这边速度太慢,我说完每次都要等三五天。”刘某回复称“ok下周二见个面,做个交接。后面所有的事情都给你了,软件遇到问题,你就再找我。下周二见面,软件正式交付,ok?”马某回复称“嗯,还有后台,我没找到。”刘某回复称“后台上次发包给你了呀,到时候一起说。问题马上改好,等下就提交审核。”当天稍晚的时候马某问刘某“现在App安卓、iOS两个版本能正常使用了吗?”刘某回复称“小米审核失败,我在看logo日志,报错好像跟之前的一样。” 2017年12月11日,马某通过QQ给刘某发送消息称“之前那个线上的测试包,我也是开始直播就崩溃。小米没上传,vivo没上传,腾讯没上传。”刘某回复称“发现一个小问题,在改。”随后,马某又通过QQ给刘某发送消息称“这样,腾讯、oppo什么都需要软著,你这边弄一个把第三方SDK、代码去掉的安卓代码给我吧。”刘某回复称“第三方SDK去掉?”马某回复称“说申请软著的代码要不和别的软件冲突,使用的im、腾讯云的SDK都要去掉,就是把代码里别人的东西拿掉。”刘某回复称“那没法弄,整个产品都是依托腾讯云,如果都去掉的话,剩下的代码根本申请不了软著。”稍后,刘某称“安智平台的,上传错包了。我在重新上传,没事,重新上一下就好了。”马某称“好不容易有个好消息。安智、小米、vivo、腾讯四个。机锋开发者平台也没上传。金立、机锋、yunos、wostore(联通)、安智、小米、vivo、腾讯这些平台都是其他原因被拒或者没有上传过的,改完一起传下吧。”刘某回复称“我这边改点东西,然后一起传。有的平台好像是因为一些问题不让上传,我都重新看一下。”马某回复称“嗯,我刚看了,这些都是测试失败或者没上传的。” 2018年1月1日,马某通过QQ向刘某发送消息称“应用上传了吗?”刘某称“正在弄。”随后,刘某向马某展示了拟发布的各个平台和账号、密码,双方继而就哪些平台可以暂时不用上传进行了沟通。 2018年1月2日,马某通过QQ给刘某发送消息称“你们在逗我?多花了2个月做出来和两个月之前的区别在哪里?今天给我个说法吗?开直播闪退,QQ登录不能用,直播间白屏,这都是正常的?主界面当中的暂无内容提示直播间白屏,主播头像是我自己以前头像,开直播闪退,QQ登录不能点击,社区图片不能放大,单张照片显示就占1/3,拍卖里不能点上传封面不能点上传视频。你们花了5个月,给我这么个东西?我多等了这么长时间,说的很明白,按我的要求能正常使用。现在我的App这两个都没达到吧,直播、拍卖不能用,连麦倒好直接没了。社区现在这个东西谁愿意发帖啊……我真的觉得效率太慢,上线一个错的包本来就是一个大失误了吧?你下载看一下三五分钟就能确定是不是最终的包,然后打开电脑换包,说句不太好听的话,正常来说十分钟能解决的事,你已经花了3个小时了。我没有那么多时间。”刘某回复称“我问问负责上传的人,是不是传错包了……我这边在问为什么会上传错包,包都是现生成的,代码是放在外网服务器的。你这边有什么想法可以说,损失我说了,我这边承担,也可以按照合同走。你的这个项目本身坑就特别多,卯公司也是遇到太多解决不了的坑才最终没做完吧。这些我们都解决了,时间是长了点,但是我说了,损失算我的。按照合同,该赔你钱就赔,我不推卸责任。有什么想法你可以说,我们也可以协商讨论。”马某称“我去年12月开始走这个项目,从2月份开始等,苦苦等到6月,当中4个月我是每一天都过得很辛苦,他们从来没有告诉我具体时间,我一天接一天等,4个月比一年还长。6月份突然告诉我开发不下去了,当时就是晴天霹雳。身上所有钱花进去,却什么都出不来。你这边开发过程中基本上很少和我聊功能、规则什么的。所以我其实心里一直比较忐忑,生怕功能、规则有什么不对,逻辑有没有问题。有一句话我一直想说,为什么我总是最后一个拿到安装包的。我不介意给我一个有问题的包,我只需要有完成的时间。可是测试的时候我看不到,上线前我根本接触不到安装包。一直想着上线以后去看看,看看功能,看看逻辑,看看有没有什么问题。两个月前,你们找我去长泰广场星巴克,那天我还是很兴奋的,虽然又要贷一笔钱,但是总算能上线,能真的去开始去做事情,去运营这个产品了。可是我那天还是拿不到包,除了在你们面前用了三五分钟。之后居然一个礼拜上不了线,一天拖一天,我熬了一周,上线了我打开居然发现全是问题,对我来说,就是从天上到地下的感觉,一下子一盆冷水倒头上。所以上线那天我很不开心。现在又过去2个月,昨晚看你截图开始走上线流程,心里一个石头也算掉了一半了,可是今天打开一看,和两个月前没有区别。如果这个包就是最后开发的结果,那我相当于一整年荒废了,两次都不能用。我的感受真的很难熬,你们开发了5个月,对我来说,现在是第13个月了,我只想要这个App能和我心里想的一样。”刘某回复称“你的心情我理解,上线的包居然是错的,是很不应该的。因为代码都是存在外壳服务器上的,打包都是现拉取代码然后打包。如果说是因为网上代码出问题,对我这边来说后果是很严重,所以我在找问题,在找原因……我的态度是,你的项目保证上线,你要赔偿我负责任,是我这边没在规定的时间上线,这个我承担。我这边代码都是在外网服务器存放的,如果是这里出问题了,对我来说是一个很大的事故,可能很多事情都要重新作。那这样就需要再找几个朋友一起,通宵把东西做完。所以我在找原因,来避免这些事情。在你这边看来就是上传错一个包,是一个失误。对于我这边看起来,是不可思议,不应该发生的事情。”马某问“App和开发前的UI和文档一样吗?”刘某回复称“你这边看到的东西说跟2个月前的一样,你要知道我这边不可能2个月一直不做事情,这样对我一点好处都没有。App和UI文档一样?是什么意思,没理解你这句话?”马某回复称“开发前的UI给我看过的那些还有我文档里的功能,规则。”刘某回复称“是按照你的这些要求做的。”马某回复称“我不急,不求明天必须上线,这个处理完之后,以后东西都留个备份把。”刘某称“最终问题我会给你一个明确的答复,现在我在排除问题。” 2018年1月3日,刘某通过QQ给马某发送消息称“原因已经找到了,服务器上的代码出问题了,我这边看看今天能不能修复……对于你说的安装包的事情,如果代码真的无法修复,那么从明天开始,每隔两天给你一个安装包,这样可以让你看到一个实时的进度。今天我先找人看看能不能修复。” 2018年1月4日,刘某通过QQ给马某发送消息称“代码修复回来的都有问题,有些功能需要重新再做一次,按照昨天说的,从今天开始,每两天给你发一个安装包,让你这边看到一个实时的进度。”马某回复称“嗯,预计要多少天啊?”刘某称“一周左右。”马某回复称“安卓、苹果都一起弄吧,一周以后安卓苹果两个版本都上线,网文我在准备资料。”刘某称“安装包明天早上发你。程序在改一个bug安装包,晚点发你哈。发你安装包的时候,我会把做了哪些更新都标注给你。” 2018年1月7日,刘某通过QQ给马某发送消息“之前说好两天给你发一个包。这几天做下来,进度不是很理想,我这边打算再加一个人,把进度赶上来。”马某回复称“安卓、iOS一周左右能完成吗?主要是质量啊,之前的那个所谓的测试包的质量那是不能用的。”刘某称“明白。” 2018年1月8日,刘某通过QQ给马某发送消息称“要不我把钱退你吧,不想做了。就你这个项目,钱少事多,各种麻烦事。你这边想省钱,腾讯的SDK根本达不到你的要求。很多都是我们自己这边想办法解决。按照你现在的弄法,我这边还要投入近十万,还不如直接退你钱呢。真不想做了,直接退你钱吧。UI、UE的钱也不要你的了。在做项目的时候,你就一直不断地提需求,更改需求,现在还这样,事情没法做。我这边不光荒废时间,也荒废钱。但是按照你现在的做法,我还要继续赔更多。”马某回复称“那按照原来你们这边的思路,App最后是什么样子?原先UI、UE的设计做完,我不提别的,行吗?”刘某回复称“就是按照你给的需求文档走。你想了很多不错的点子,但这些都是要花时间,很多开始没想,后面要改,就要推翻之前做的东西。做事情是为了赚钱的,现在我考虑的是如何尽快的完成你这个项目,然后少亏钱,现在已经是在赔钱做事了。这里面有我这边的问题,但是很多问题不是出在我这边。你想省钱做,功能又多,腾讯SDK很多不支持,都是要我们居中去想办法,东西不好做。”马某回复称“你看这样行不行,东西我不改,按原来的UI、文档先把第一版做出来能用,之后变更需求,额外的东西我付钱行吗?”刘某回复称“不是钱的问题,而是东西不好改,就好比盖房子,一开始规划好,再复杂的房子都有办法建,但如果盖到一半的时候说要改,那就可能很多东西要推倒重来。”刘某称“先尽快把第一版能上线的给你吧。” (四)马某、刘某在涉案合同履行后续阶段发生矛盾后的交涉情况 2018年3月12日,刘某通过QQ给马某发送消息称“主要就3点:1.当前项目的情况;2.文网文的进度;3.费用问题……最后关于费用,你也知道开发你这个项目,我们这边实在耗费太大,光成本就20多万,你那边方不方便加点钱……”马某回复称“我需要完整的App,所有功能没有问题而且还要优化。”刘某称“项目没问题,你要是感觉不乐意加钱也就算了,还是之前说好的,因为项目延期,其中有一部分费用就不要了。就是后面两部分钱,能不能先给一部分,最起码这段时间我们这边这么辛苦,我要给朋友们有点说法,有点表示。”马某回复称“两个版本得让我能用,我再付钱吧,10月到现在我都没拿到过能用的包。”刘某回复称“你先付我一笔费用,包立刻发你。我们之间不管项目做的怎么样,聊了这么久,最起码我不是那种拿你钱不做事的人,这个你承认吧。现在你项目做完了,随时可以给你发包,但是项目做成现在的样子,我得给大家一个交代。”马某回复称“这样吧,安卓包给我看看,没什么问题我晚上付钱。”刘某称“安卓包随时给你,你随时可以上线,这个可以给你保证。”马某回复称“每次该付钱的时候,我也都付钱了吧,你考虑开发人员的成本,可是我到现在还没看到东西啊。”刘某称“你先给一部分,包立刻发你。”马某回复称“你给我安装包,代码还是在你手上,而且还有苹果的,合同大部分钱在几个月前都给你了。”刘某称“之前大部分代码和服务器的东西,都给过你了。UIUE也都给过你了。”马某回复称“录个视频给我看看吧,我需要看到东西。我看到东西,今晚付钱。”刘某称“你先给一部分钱,东西立刻发你,不是一样的吗?我又骗不了你的钱。” 2018年3月23日,马某通过QQ给刘某发消息称“测试有结果了吗?软件还没结果吗?” 2018年3月25日,马某通过QQ给刘某发消息称“你这边实在给不出结果的话,我的开发成本是9.1万,信用卡套现利息18.25%,一年利息16607.5,有几笔钱分两年,提前还款手续费不知道,不提前又是18.25%。辰公司巳公司(去年5月份注册)3600,午公司花了七八千。文网文12000,额外给文广局审核老师1000块,软件著作权1200,未公司不算的情况下,大额支出成本就是125407.5,还不算小支出。这还是我大半年时间作废,这个项目就这么稀里糊涂没了的结果。如果你这边实在给不了我东西,我的现金成本在12万5千以上,项目时间和违约,你需要给我最少16万,我半年的时间和这个项目完蛋折算3.5万,这个价钱不过分。我知道对你们来说,我也许要价超过9.1万都不太能接受,所以我还是希望说项目能正常交付,不然对我对你都是麻烦。说最晚10号交付,现在是25号。这个月底给我个消息吧。如果实在不行,合同里没有写明‘合同签署地在上海’,也就是我要到被告户籍所在地上诉,然后我们都要去江西解决问题,麻烦太多了。”刘某回复称“有意思的了,你贷款是我让你贷的吗?想上直播,丁公司,没有文网文,能上吗?这些东西还能赖到我身上?你要这么说,那简单了,你去上诉吧,按照合同走嘛。要全额退你钱,你不要……你自己要作?合同里写明了‘开发的内容必须腾讯云支持’。你这本身就不支持,你讲什么啦?你跟我算成本,我填进去20多万找谁要的?上周就是9万1全额退你,我就等于损失30多万,就这样你都不乐意?原来是憋了个坏心思,想多要是吧?那你去告吧。按照合同也是你违规在先,我是看大家钱来的都不容易帮你考虑,宁可自己多损失也要减少你的损失,被你当成我理亏,我违反了合同是吧?搞笑的呢,你连按照合同是谁违法都不清楚,就告我啊?那你去吧,好好看看合同,看看是谁违规好么?我自己宁可吃亏,损失30多万也不想你损失,反而变成你以为我在占便宜了是吧?搞笑了,那你去吧。”马某回复称“合同违约,正常都得赔钱,到我这就是原价退还?还是我憋了坏心思?合同是要你们给我开发软件,你们开发的东西呢?这五个月里毛都没有,到现在,你们说开发完了,依然毛都没有,在我的角度,和诈骗区别大吗?”刘某回复称“马先生,最早我们聊的时候你就保证过,你要的东西腾讯云是都支持的,合同上我们也说明过了,但是事实是,你要的功能腾讯云并无法支持。如果说违约,也是您违约在先。在这种情况下,我愿意退钱,无论是人情、道德、法律,我都尽最大的心了。并且,当时我也说过,如果全额退款你还不满意,我们可以聊,也是您当时不聊的。现在你要的这个钱,很抱歉,不可能!” 2018年4月1日,刘某通过QQ给马某发送消息称“马先生,你现在应该也找过警察和律师了吧,那你现在也应该知道我这边从来都没有骗过你,相反因为你这边提供的SDK不能满足开发需求,导致我这边损失很大,按照合同,按照法律,我比你更有权追责。所以之前我这边说9万多开发费用全额退你,已经是最大诚意了,但是你开口要14万,这个真的不可能。当然事情到了这一步,我依然是积极的态度来处理这个事情,你如果有合理的要求,可以提出来,我们还可以协商。”马某回复称“如果软件能正常交付,我对钱没有要求。”刘某称“腾讯SDK满足不了开发需求,有问题的软件没有办法交付。除非有问题的你也要,但是那样的话,后续我们这边没有办法负责,并且后续也太麻烦,不如想个一次解决的方法。” 2018年5月13日,马某称“你那么多开发成本,好像没有任何东西给我吧,算上网文、公司,我就是13万的成本。网文我办理的时候是先跟你说,确定日期去办的。你说停就停了,和你一点关系没有?公司层面的钱,我不问你要,不代表你没责任吧?”刘某回复称“之前给你发的那版都被你吞了么,UI文件也被你遗忘了么?”马某称“你给我的能用吗?”刘某称“能不能用你当初没试过吗?”马某回复称“一开始进都进不去,打开就一个登录页,其他都看不到。好不容易等半个月,能进去了,全是问题,直播、语音、拍卖哪个能用?这个就是开发成果?你手机上能用的东西,我没拿到过。我也不谈这些,我说的你给不了,那你能给我多少?”刘某称“你还是先去咨询律师吧,你又在自己给自己把问题绕回来了,就是根本核心问题,你提供的SDK是否能支持开发,责任在谁,你先找律师搞清楚。之前给你的,手机上就能用,只不过没连麦和电台,你去试试再说。” (五)关于原审法院向腾讯科技(深圳)乙公司(以下简称腾讯公司)函询“腾讯云S某某”的相关情况 2019年6月19日,原审法院向腾讯公司函询如下问题:在2017年6月27日至2018年10月27日期间,“腾讯云S某某”是否可以满足以下功能:1.在同一个App中同时支持视频直播、连麦(包括语音和视频)和电台(语音直播);2.直播过程中,主播可以选择与用户连麦,多个用户之间(例如6人)实现同时连麦;3.主播的直播过程中,用户录制语音发送给指定用户或主播,收到语音的用户自动播放语音,直播背景音量降低,语音播放完毕后直播音量恢复;4.“腾讯云S某某”如果能够满足上述全部功能或部分功能,请明确具体何时开始能够满足相关功能。 2019年7月10日,腾讯公司函复原审法院:关于问题1,移动直播SDK、实时音视频TRTCSDK及互动直播iLiveSDK支持问题1提到的功能,GVoiceSDK无法支持问题1提到的功能;关于问题2,移动直播SDK、实时音视频TRTCSDK及互动直播iLiveSDK支持问题2提到的功能,GVoiceSDK无法支持问题2提到的功能;关于问题3,移动直播SDK、实时音视频TRTCSDK及互动直播iLiveSDK及GVoiceSDK均无法实现问题3提到的功能;关于问题4,移动直播SDK、实时音视频TRTCSDK及互动直播、iLiveSDK能满足上述问题1、2中的功能,但因时间较久,相关技术人员已无法明确其具体何时能够满足相关功能,另实时音视频TRTCSDK于2019年1月上线,互动直播iLiveSDK已于2019年5月下线。 本院认为,根据本案当事人的上诉请求、答辩情况及案件事实,本案在二审阶段的争议焦点问题是:刘某关于其已经完成涉案合同已付款阶段对应的全部工作的上诉主张能否成立。该焦点问题可以进一步划分为如下三个问题:(一)刘某开发的涉案软件是否已经实现上线的效果;(二)刘某开发的涉案软件的基本功能是否均已实现;(三)涉案软件存在问题的根本原因是否在于马某提供的腾讯云S某某无法满足开发需求。本院逐一评述如下: (一)涉案软件并未实现上线效果。理由如下: 首先,马某与刘某的聊天记录显示,涉案软件上线后多次出现直接影响正常使用的缺陷问题。相关事实举其要者:1.马某于2017年11月27日向刘某反映涉案软件在搜狗上虽能下载,却出现“游客浏览和QQ登录不能点击”“微信微博登录显示错误”“短信验证码无法接收”“注册失败”等问题。2.刘某于2017年11月28日向马某反馈已找到前述问题的原因,但马某向其表示仍然存在“三星N900手机显示闪退”“搜狗下载虽然能收到验证码但马上显示错误”“填完个人信息注册点击‘确定’直接返回注册页”“第三方登录和游客登录不可用”等问题,刘某承认找到已报错原因并在调试。当天晚些时候马某询问登录问题是否已经解决,刘某回复称“微信登录光报错,不提具体错误,微信的key和sig都在弄,微博也在重新弄”。3.马某于2017年12月1日针对在搜狗应用上重新下载的涉案软件向刘某反映,软件问题仍然存在无法登录。刘某称用马某发给其本人的账号能登录,但承认确实存在“设置资料会报错”“头像上传服务器失败”的问题,并表示正在与腾讯沟通解决。4.刘某于2017年12月2日承认马某向其发的小视频在涉案软件上点击无反应,并且保证解决“忘记密码”“游客登录”等问题。5.马某于2017年12月3日向刘某反馈涉案软件存在“万人持股没有”“设置模块排序没有”“微信登录登录完了进登录页再进主页”“App最小化=退出”“个人中心资料和消息中心没有”“夜间模式没有”“直播间表白没有,分享没有”“连麦页面没有”“小纸条当中一直有‘暂无内容’”“小纸条页面滑动有问题,上下滑和左右滑容易冲突”“社区图片不能放大,图片一张的时候不能向贴吧一样宽度占满最大化”“发布拍卖不能拍摄视频”等12个问题,刘某承认上线软件只是测试版,并称需要优化某个问题才能向马某提供软件的安卓完整版。6.针对马某询问涉案软件的安卓版和iOS版能否正常使用的问题,刘某于2017年12月9日承认“小米审核失败,报错与此前一样,需查找原因。”7.马某于2018年1月2日再次向刘某抱怨多花两个月时间做出来的涉案软件仍然存在与此前软件上线后暴露出的相同问题,如“开直播闪退”“QQ登录不能用”“直播间白屏”“主播头像是马某以前头像”“QQ登录不能点击”“社区图片不能放大”“单张照片显示就占1/3”“拍卖不能点上传封面不能点上传视频”“连麦直接没”等,而刘某的回应仅是“上传错包了”。8.刘某于2018年1月3日向马某承认1月2日软件上线出现问题的原因并非上传错包,而是服务器代码出问题。9.刘某于2018年1月4日进一步承认“代码修复回来的都有问题,有些功能需要重新再做一次”。由上述例举的事实可知,即使如刘某所称上线软件仅是测试版,尚且出现如此之多的问题。可见,刘某上诉称涉案软件已经实现上线效果,没有事实依据。 其次,刘某多次向马某表示愿意为涉案软件上线后出现的问题承担责任,由此亦可以说明刘某上诉称软件已经实现上线效果并无事实依据。相关事实举其要者:1.针对软件上线后出现的“游客登录、忘记密码、QQ不能使用”“微信微博登录报错”“账号密码登录注册不能使用”等问题,刘某于2017年12月2日向马某承认“忘记密码和游客登录,保证今天一定解决,下个军令状,如果到明天早上这两个问题还没有解决,你就直接扣我1000块钱的开发费,登录注册问题确实卡的时间比较长。”2.针对软件再次上线后出现的“开直播闪退”“QQ登录不能用”“直播间白屏”“主播头像是马某以前头像”“QQ登录不能点击”“社区图片不能放大”“单张照片显示就占1/3”“拍卖不能点上传封面不能点上传视频”“连麦直接没”等,刘某于2018年1月2日向马某承认“我问问负责上传的人,是不是传错包了……你这边有什么想法可以说,损失我说了,我这边承担,也可以按照合同走……时间是长了点,但是我说了,损失算我的。按照合同,该赔你钱就赔,我不推卸责任,有什么想法你可以说,我们也可以协商讨论……你的心情我理解,上线的包居然是错的,是很不应该的……如果说是因为网上代码出问题,对我这边来说后果是很严重,所以我在找问题,在找原因……我的态度是,你的项目保证上线,你要赔偿我负责任,是我这边没在规定的时间上线,这个我承担。我这边代码都是在外网服务器存放的,如果是这里出问题了,对我来说是一个很大的事故……在你这边看来就是上传错一个包,是一个失误。对于我这边看起来,是不可思议,不应该发生的事情。”由上述例举的事实可知,刘某对涉案软件上线后多次出现问题并不否认,并愿意就此向马某作出相应的损失弥补。如果软件确如刘某上诉所称已经实现上线效果,则其还表示愿意为相关问题对马某进行赔偿显然不合情理。 最后,刘某关于涉案软件已经实现上线效果的上诉理由,存在人为割裂其与马某对话的完整过程,进而以偏概全、断章取义之嫌。其一,关于刘某上诉称“2017年11月28日马某表示已经可以搜到软件”。事实是,虽然马某于2017年11月27日表示搜狗应用已经可以搜到涉案软件并下载,但其随后告知刘某“我试了下游客浏览、QQ登录不能点击,微信登录显示未知错误,微博登录错误显示21338,短信验证码收不到。输入你的测试账号不能登录。登录问题呢?你的测试账号和第三方都不能用。能知道什么原因吗?为什么我不能登录?测试账号、QQ、微信、微博、游客、注册全部失败?”可见,马某在搜狗应用搜到涉案软件,并不代表软件已经实现上线效果。其二,关于刘某上诉称“2017年11月28日马某表示已经可以收到验证码”。事实是,马某当天针对通过搜狗应用下载涉案软件一事告知刘某“我试了下,能收到验证码。但是马上显示错误,然后进昵称头像编辑页面。昨天不行,刚刚行。注册个人信息,填完信息以后点确定,它返回注册页了。第三方登录和游客登录还是不可用的。”可见,马某收到验证码亦不代表软件已经实现上线效果。其三,关于刘某上诉称“2017年11月30日马某表示搜狗、电信(天翼)审核通过”。事实是,马某于2017年12月1日针对在搜狗应用重新下载的涉案软件向刘某反映,软件问题仍然存在即仍无法登录。及至2017年12月8日,马某再次问刘某“你在搜狗传的就是完整的包?我下载下来和之前的没什么区别,登录还是有问题。”刘某回复称“没有,我先下架,然后上传完整包。之前是测试版本,现在是正式版本,我要先下架……今天上传完,我检测正常了,之后的上传包就交给你来……测试通过了。我先打包往搜狗上传一个。测试结果有个别手机内存不够,可能造成闪退,我看着再优化一下。”由上述例举的事实可知,涉案软件于2017年11月30日通过搜狗等平台的审核的仅是测试版而非完整版,而且即便只是测试版上线都出现登录闪退的问题。由此进一步表明,刘某上诉称涉案软件已经实现上线效果,没有充分的事实依据。 (二)涉案软件的基本功能并未全部实现。理由如下: 首先,马某与刘某的QQ聊天记录显示,马某多次向刘某反映涉案软件功能存在问题,对此刘某不持异议,还主动表示有些问题涉及软件使用的基本操作,甚至承认因软件诸多功能无法使用而无法向马某演示软件和交付软件完整版。相关事实举其要者:1.针对“软件开启直播会闪退”的问题,刘某于2017年12月4日向马某承认“这些问题我尽量避免一下,都是基本操作,有这些问题App就不能正常使用了。”2.马某于2017年12月9日问刘某“现在App安卓、iOS两个版本能正常使用了吗?”刘某回复称“小米审核失败,我在看logo日志,报错好像跟之前的一样。我找找原因。”3.马某于2017年12月11日告知刘某“之前那个线上的测试包,也是开始直播就崩溃。小米没上传,vivo没上传,腾讯没上传。”刘某回复称“发现一个小问题,在改。”4.马某于2017年12月21日问刘某“是不是下周一所有功能都正常使用,不会有bug,不会有别的不能用的问题?别再晚了。”刘某回复称“拆包,找到重复的代码删除后重新打包是个耗时费力的工作,确实没办法。”马某回复称“可是到现在,App我都不敢打开去用,我的安装包不能直播,第三方登录不正常,界面显示不对,等等。开发完快3个月了吧,我一个用户都没有!”刘某回复称“快2个月了,这个损失我这边承担。”5.马某于2017年12月4日问刘某“好了吗?”刘某回复称“现在的问题是进入好友列表页面会卡上几秒,加载的数据有点多。”马某回复称“不是图片,是点击开始直播,App就挂了。好友列表加载什么,现在不是没数据吗?”刘某回复称“有好友以后,有聊天记录以后就会变卡。”马某称“进入好友界面,只读取最近一条消息和未读消息数,点击进入聊天窗口读取这个聊天窗口的最新二三十条聊天记录,滑到最上面再读取之前的二三十条,反复直到全部进界面,只需要所有未读消息的数字和所有窗口最近一条消息。”刘某称“开启直播会闪退,这个我找找原因。这些问题我尽量避免一下,都是基本操作,有这些问题App就不能正常使用了。”6.刘某于2018年1月7日告知马某“之前说好两天给你发一个包。这几天做下来,进度不是很理想,我这边打算再加一个人,把进度赶上来。”马某回复称“安卓、iOS一周左右能完成吗?主要是质量啊,之前的那个所谓的测试包那是不能用的。”刘某称“明白。”7.马某于2018年1月15日问刘某“还要多少时间?”刘某回复称“正在测试一部分功能,快了。”8.马某于2018年1月24日问刘某“今天能好吗?开发3个月,到现在没几天就6个月了。我还要等到什么时候?”刘某回复称“如果只是单纯的看下,最早的包,不就可以吗?正在做测试。”马某称“那个包全是问题,直播不能用,四个主界面当中写着‘没内容’,连麦整个没了,多少功能不能用。那个包那时候居然还帮我上架?那能用吗?打开一眼就能看出都是问题,怎么给人家看,主要功能和界面都有问题。我这里一共就一个包,直播能用吗?”刘某回复称“今天测试完,没问题就给你一个完整的包。晚上9点左右有结果。”9.刘某于2018年1月25日告知马某“我到开发这边看了一下,有个功能模块有点问题,今天再改,没提交测试。明天提交测试,今天这事我说他们了。”10.刘某于2018年2月1日再次告知马某“现在情况是这样,连麦功能在测试的时候,还是会出现不稳定的情况,在开启电台时,主持端有时会断开连接。连麦功能模块目前还达不到我这边的上线标准,毕竟一个好的软件,不能频繁出现问题,而连麦这块还是不行,我这边正在想办法解决。”11.马某于2018年2月3日问刘某“这么长时间,怎么也该让我知道现在什么情况,让我看看东西吧?晚上能弄好吗?”刘某回复称“现在的进度就是整体开发已经完成,就剩下一个问题项在修改。现在真的没人手去负责,时间紧人手紧,真的很抱歉。”马某又问“这样吧,你能给我看到什么?除了视频,有什么能告诉我现在快开发完了……你能给我看到什么东西吗?”刘某回复称“东西确实现在没法给你看啊。你就想,我这边都愿意全款都退还你了,是多大的损失?”马某回复称“你这边是不是一直都是不到最后交付,都是看不到东西啊?”刘某回复称“现在人手都抽调开了,真的没办法给你东西看。整合SDK没弄完,很多东西都没法用。如果东西是ok的,就随时可以给你看。”由上述例举的事实可知,即便只是涉案软件的测试版上线后都出现了诸多问题,对于个别问题刘某甚至表示关涉软件的基本操作。可见,刘某上诉称涉案软件的全部基本功能均已实现,亦缺乏充分的事实依据。 其次,根据涉案合同的约定,刘某给马某开发的软件由直播、社交、社区、拍卖、个人中心等五个模块组成,这些模块反映了马某作为涉案软件委托方的需求,属于涉案软件的基本功能模块,构成软件的核心功能。然而,马某与刘某的QQ聊天记录显示,涉案软件上线试运行后至少先后出现三次较为严重的状况:1.马某于2017年11月27日告知刘某,在搜狗应用上下载的软件存在“游客浏览和QQ登录不能点击”“微信登录显示未知错误”“微博登录显示错误”“短信验证码收不到”“游客注册失败”等问题。2.马某于2017年12月3日告知刘某,软件运行后出现“未见万人持股”等12个问题。3.马某于2018年1月2日告知刘某,软件运行后仍然存在“开直播闪退”“QQ登录不能用”“直播间白屏”“QQ登录不能点击”“社区图片不能放大”“拍卖里不能点上传封面”“拍卖里不能点上传视频”等问题。一款软件的全部基本功能是否已经实现,完全可以通过软件上线后试运行的情况来加以检验。由上述例举的事实可知,涉案软件上线后试运行的情况表明其显然不能实现预期的核心功能。由此进一步表明,刘某上诉称涉案软件的全部基本功能均已实现,没有充分的事实依据。 最后,无论是刘某交付给马某的软件安装包,还是刘某上线的软件包,均并非双方共同确认、业已满足涉案合同附件二《需求文档》所述功能的完整安装包。合同履行过程中,刘某数次向马某表示相关安装包仅是简化版或测试版,目的是为了先安排软件尽快上线,后续再作进一步完善。此外,刘某多次向马某允诺会交付后者完整的软件安装包却屡屡食言。在合作后期阶段出现矛盾后,刘某甚至明确表示软件安装包就是有问题,即使交付、上线,后续的维护也将非常麻烦。此外,在马某与刘某间隔长达数月的聊天过程中,本院注意到,刘某不止一次向马某表示软件安装包存在问题需要改进。以上沟通情况足以证明,刘某在合同履行期间从未开发出符合合同约定的需求且基本功能全部得到实现的软件。可据以证明上述论断的相关事实,举其要者: 1.关于刘某允诺向马某交付软件包。(1)刘某于2017年11月27日向马某发送了“设计.zip”“服务器相关.zip”“代码_Android.zip”“代码_iOS.zip”“安装包.zip”等五个安装包,但刘某在当日交流过程中明确告知马某交付给后者的只是软件安装包的简化版,并称“功能越少,审核速度越快。我们现在的目的,不就是为了先让你的项目上线吗?然后很多问题都是在能上线的基础上再做处理的对吗?”(2)刘某于2018年1月3日向马某表示“对于你说的安装包的事情,如果代码真的无法修复,那么从明天开始,每隔两天给你一个安装包。”(3)刘某于2018年1月4日-6日告知马某“代码回来的都有问题,有些功能需要重新再做一次,按照昨天说的,从今天开始,每两天给你发一个安装包,让你这边看到一个实时的进度……安装包明天早上发你。程序在改一个bug,安装包晚点发你。”(4)刘某于2018年1月7日告知马某“之前说好两天给你发一个包。这几天做下来,进度不是很理想。”(5)刘某于2018年1月8日向马某允诺“先尽快把第一版能上线的给你吧。”(6)刘某于2018年1月10日再次向马某承诺“现在整体进度还可以,这两天先给你个安装包,让你看下进度。”(7)刘某于2018年1月11日再次向马某承诺“安装包明天发你一版。”(8)刘某于2018年1月15日对马某表示“正在测试一部分功能,快了。”(9)刘某于2018年1月24日再度告知马某“今天测试完,没问题就给你一个完整的包。” 2.关于刘某负责将软件包上传至各个应用平台。(1)马某于2017年12月8日问刘某“你在搜狗上传的就是完整的包?我下载下来和之前的没什么区别,登录还是有问题。”刘某回复称“没有,我先下架,然后上传完整包。之前是测试版本,现在是正式版本。我要先下架。”(2)针对刘某此前允诺将涉案软件上传至应用汇、阿里、联通、小米、vivo、三星、安智等平台一事,马某于2017年12月9日问刘某“我说的平台一个都没上传包啊,搜狗是下架流程卡住了,其他的你没时间,把包给我,我去传。”刘某回复称“游客登录发现一个bug。”(3)马某于2017年12月11日再次告知刘某“之前那个线上的测试包,我也是开始直播就崩溃。小米没上传,vivo没上传,腾讯没上传。”刘某回复称“发现一个小问题,在改。”(4)马某于2017年12月13日问刘某“360先换个能用的包,修复完再上一个更强的包吧。线上的包换了吗?360和搜狗的?”刘某回复称“还没有,连麦的问题,我找到一点,在改。” 3.关于刘某告知马某开发的软件存在问题。需要指出的是,关于此方面的事实,与前述刘某向马某允诺交付软件完整安装包、协助马某将软件在各个应用平台分发的相关事实多有重合,于此不再赘述。除此之外,以下事实亦不容忽视:(1)刘某于2018年1月13日对马某表示“在改个bug,安装包晚点发你。”(2)刘某于2018年1月25日再次告知马某“我到开发这边看了一下,有个功能模块有点问题。”(3)刘某于2018年1月30日对马某表示“就这一两天,就可以发你了,好了我就给你发消息。”(4)刘某于2018年2月3日向马某表示“现在人手都抽调开了,真的没办法给你东西看。整合SDK没弄完,很多东西都没法用。如果东西是ok的,就随时可以给你看。”(5)刘某于2018年4月1日明确向马某表示“腾讯SDK满足不了开发需求,有问题的软件没有办法交付。除非有问题的你也要,但是那样的话,后续我们这边没有办法负责,并且后续也太麻烦,不如想个一次解决的办法。”由上述例举的事实可知,自刘某于2017年11月27日向马某交付软件安装包的简化版后,刘某后续仍然在不断地测试软件的功能和修复软件出现的问题,甚至在2018年4月1日明确承认有问题的软件就是没有办法交付。因此,刘某上诉称其开发的软件的全部基本功能均已实现,其已经完成涉案合同第三阶段的工作任务,与客观事实并不相符。 (三)腾讯云S某某并非导致涉案软件存在问题的根本原因。理由如下: 首先,虽然涉案合同4.1中约定“甲方(即马某)有责任保证提供的腾讯云S某某可以满足主要的开发需求,包含直播、连麦、电台、IM通信、美颜滤镜”。但是,通过梳理马某和刘某双方的微信聊天记录可知,腾讯云S某某是双方约定用于开发涉案软件的一款直播平台开发工具,其技术提供者是腾讯公司而非马某,这一点从双方在软件开发过程中分别向腾讯公司提交工单咨询“腾讯云S某某是否可以实现涉案软件的功能”可以得到印证。 其次,在案事实表明,腾讯云S某某并非如刘某所称的导致涉案软件开发失败的根本原因。其一,针对刘某于2018年9月20日的询问,腾讯云工程师明确告知:腾讯云S某某可以同时支持“直播、连麦和电台”,还可以支持“实现多人(例如6人)同时连麦(移动端)”和“几万人收听直播,包括视频和音频”,仅是不支持“用户之间可以连麦,且可以自行匹配异性连麦,连麦可以打开视频”和“主播直播过程中,用户可以录制语音发送给指定用户或主播,收到语音的用户自动播放语音,直播背景音量降低,语音播送完毕后,直播音量恢复”这两种功能。其二,在刘某询问腾讯公司技术客服一月有余后,马某于2018年10月27日就与此前刘某所问问题基本相同的问题再次询问腾讯公司并被明确告知:腾讯云的实时音视频SDK可以支持“视频直播”“电台(语音直播)”“6人语音和视频连麦”等功能,前述三个功能所使用的腾讯云S某某可以同时在一个App内开发使用,仅是“在腾讯云基础上进行自动匹配异性连麦、连麦后打开视频、收到语音的用户自动播放语音(播放时直播的背景音量降低,语音播放完毕后直播音量恢复)”的功能需要自行开发。其三,腾讯公司针对原审法院函询提交的书面答复,进一步证明腾讯云S某某并非开发涉案软件并实现功能需求的根本障碍。由上述事实可知,腾讯云S某某并非造成涉案软件开发和上线问题无法解决的核心技术障碍,刘某将软件开发和上线调试过程中出现的诸多问题的根本原因归结为腾讯云S某某,不能令人信服。 最后,通过梳理马某和刘某关于“利用腾讯云S某某进行涉案软件连麦功能开发”的聊天记录,可以进一步佐证腾讯云S某某并非导致软件出现问题的根本原因。其一,软件开发过程中,刘某不止一次向马某表示连麦问题可以解决、正在解决或已经解决,举其要者:1.刘某于2017年10月29日回复马某称“就是有的时候,开房间之后连接不上。在解决。”2.刘某于2017年12月15日告知马某“连麦已经找到问题点了,正在解决……连麦的问题预计到明天中午的时候就能解决了。”3.刘某于2017年12月20日告知马某“连麦的问题差不多了,今天晚上给你一个具体的上线时间。”4.马某于2018年3月7日问刘某连麦问题是否已解决,刘某明确告知已经解决,并且可以很快交付软件的安卓版和iOS版。其二,刘某在与马某共商软件开发的过程中虽曾向后者表示连麦的问题时好时坏,但从未表示因为腾讯云S某某而导致软件无法开发,双方聊天记录谈及软件试运行过程中出现各种问题的原因可谓五花八门,并不能完全归结为腾讯云S某某。其三,马某在与刘某共商软件开发的过程中从未要求后者只能选择腾讯云S某某,相反,马某曾对刘某表示如果在开发过程中发现腾讯云不行可向其告知,在开发进入中期阶段后马某甚至表示可以考虑将腾讯云S某某调换成其他公司的SDK,关于此可以从双方2017年7月28日、2018年2月1日、同年2月3日的聊天记录内容得到印证。刘某本人在整个开发过程中对于究竟是继续用腾讯云S某某来开发涉案软件,申公司的SDK开发涉案软件,自始至终都没有表达出特别明确的倾向性意见。其四,双方在合同履行过程爆发矛盾的重要时间点是2018年3月12日,当日矛盾爆发的原因在于刘某要求马某支付合同第四、五阶段的开发费用以给开发团队一个交代,而马某坚持要求必须取得软件的完整安装包或至少看到软件的演示效果才同意支付余款。但是,即便在该次双方矛盾爆发的聊天记录中,本院亦注意到刘某明确告诉马某“项目没问题”“安卓包随时给你,你随时可以上线,这个可以给你保证”。换言之,即使在2018年3月12日双方因第四、五阶段款项支付条件是否成就而爆发矛盾,刘某也未表明腾讯云S某某导致软件无法开发或认为导致软件出现问题的根本原因是腾讯云S某某,反而明确表示软件项目没有问题。至于刘某向马某告知腾讯云S某某是导致软件存在问题的根本原因,则已是2018年3月12日后双方后续争执过程中才从刘某处集中出现的说法,而此时导致软件开发和优化工作陷入停滞的原因是双方丧失互信,显然与腾讯云S某某工具无关。 在围绕本案争议焦点所涉及的三个问题进行评述的基础上,本院要特别阐明:一款软件在开发过程中可以依照当事人的约定,根据各个阶段所设定工作事项的逐次推进和完成情况而采取分阶段付款的模式。但应当指出的是,一方面,在软件开发过程中各个阶段的开发事项彼此之间是环环相扣、紧密衔接的,某一阶段对应的工作事项的完成情况和效果直接决定了下一阶段工作能否顺利开展和完成效果,而下一阶段开发工作暴露的问题亦可以作为检验先前阶段开发工作质量的参照。另一方面,委托方基于交易风险管控的考量,在软件开发的不同阶段向开发方分阶段支付款项,这种情形在实践中所在多有。但是,不应当基于此便人为机械地将委托方在每一阶段支付的款项,仅视为是该阶段工作的对价,而是应认为每一阶段所支付的款项均是整个软件开发项目对价的有机组成部分。无论是分阶段约定的工作事项,还是分阶段支付的款项,归根结底均是服务于计算机软件开发合同的缔约目的。一款软件从线下开发到部署至线上调试,再到后续完善优化,直至最终交付给委托方完整代码,系计算机软件开发合同履行的完整流程。而且,线下开发和线上调试两个环节缺一不可,软件基本功能齐备和软件实现上线效果二者不应区别对待。委托方缔结计算机软件开发合同的目的,是期待受托方开发并交付能够在线上正常使用、符合委托方功能需求的合格软件。如果委托方缔结计算机软件开发合同的目的最终无法实现,且可归责于开发方并由此导致合同解除,则开发方在软件开发过程中相应阶段所收取的款项自无继续保有的正当性。无视软件开发工作是否最终实现缔约目的,刻意将软件开发这一整体工作割裂为互不关联的孤立片段,单纯地将每一阶段收取的款项固化为该阶段工作对应的对价,并以此作为保有该阶段相应款项理由的观点,既不符合计算机软件开发合同履行的本质特征,也不符合计算机软件开发合同委托方的真实意思表示。本案中,根据本院二审查明的事实,涉案软件最终既未实现双方所约定的基本功能,也未实现软件正常上线的效果,软件开发调试过程中所暴露出的缺陷问题的根本原因应归责于刘某,而非第三方软件开发工具腾讯云S某某。因此,刘某关于其已经完成涉案合同已付款项对应阶段的全部工作,马某无权要求其返还相应阶段已付款项的上诉主张不能成立,本院不予支持。 综上所述,原审判决认定事实清楚,适用法律正确,应予维持。刘某的上诉请求不能成立,应予驳回。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定,判决如下: 驳回上诉,维持原判。 二审案件受理费2075元,由刘某负担。 本判决为终审判决。 审判长 何 鹏 审判员 欧某 审判员 李某 二〇二〇年八月七日 法官助理钱静 书记员管某 裁判要点 案 号 (2020)最高法知民终643号 案 由 计算机软件开发合同纠纷 合议庭 审判长:何某 审判员:欧某、李某 法官助理:钱静 书记员:管某 裁判日期 2020年8月7日 关键词 计算机软件开发合同纠纷;分阶段付款;违约 当事人 上诉人(原审被告):刘某; 被上诉人(原审原告):马某。 裁判结果 驳回上诉,维持原判。 原判决主文:一、原告马某与被告刘某2017年6月27日签订的《直播平台委托开发合同》自2018年10月18日解除;二、被告刘某应于本判决生效之日起十日内返还原告马某开发费用人民币91000元,并以人民币91000元为基数,支付自2018年10月18日起至实际还款之日止的利息[2019年8月19日之前按同期中国人民银行公布的贷款基准利率计付;2019年8月20日之后按同期全国银行间同业拆借中心公布的贷款市场报价利率(LPR)计付];三、被告刘某应于本判决生效之日起十日内赔偿原告马某腾讯云服务器费用人民币1626.52元,并以人民币1626.52元为基数,支付自2018年4月1日起至实际付款之日止,按同期中国人民银行公布的存款基准利率计算的利息;四、被告刘某应于本判决生效之日起十日内赔偿原告马某软件宣传广告单费用人民币114元;五、被告刘某应对《直播平台委托开发合同》附件二《需求文档》的内容履行保密义务;六、驳回原告马某的其余诉讼请求。 涉案法条 《中华人民共和国合同法》第八条、第六十条第一款、第九十一条第二项、第九十二条、第九十四条第四项、第九十七条、第一百零七条、第一百一十三条第一款; 《中华人民共和国民事诉讼法》第六十四条第一款、第一百七十条第一款第一项; 《最高人民法院关于适用<中华人民共和国民事诉讼法>的解释》第九十条。 法律问题 计算机软件开发合同违约行为的认定 裁判观点 一款软件在开发过程中可以依照当事人的约定,根据各个阶段所设定工作事项的逐次推进和完成情况而采取分阶段付款的模式。但应当指出的是,一方面,在软件开发过程中各个阶段的开发事项彼此之间是环环相扣、紧密衔接的,某一阶段对应的工作事项的完成情况和效果直接决定了下一阶段工作能否顺利开展和完成效果,而下一阶段开发工作暴露的问题亦可以作为检验先前阶段开发工作质量的参照。另一方面,委托方基于交易风险管控的考量,在软件开发的不同阶段向开发方分阶段支付款项,这种情形在实践中所在多有。但是,不应当基于此便人为机械地将委托方在每一阶段支付的款项,仅视为是该阶段工作的对价,而是应认为每一阶段所支付的款项均是整个软件开发项目对价的有机组成部分。无论是分阶段约定的工作事项,还是分阶段支付的款项,归根结底均是服务于计算机软件开发合同的缔约目的。一款软件从线下开发到部署至线上调试,再到后续完善优化,直至最终交付给委托方完整代码,系计算机软件开发合同履行的完整流程。而且,线下开发和线上调试两个环节缺一不可,软件基本功能齐备和软件实现上线效果二者不应区别对待。委托方缔结计算机软件开发合同的目的,是期待受托方开发并交付能够在线上正常使用、符合委托方功能需求的合格软件。如果委托方缔结计算机软件开发合同的目的最终无法实现,且可归责于开发方并由此导致合同解除,则开发方在软件开发过程中相应阶段所收取的款项自无继续保有的正当性。无视软件开发工作是否最终实现缔约目的,刻意将软件开发这一整体工作割裂为互不关联的孤立片段,单纯地将每一阶段收取的款项固化为该阶段工作对应的对价,并以此作为保有该阶段相应款项理由的观点,既不符合计算机软件开发合同履行的本质特征,也不符合计算机软件开发合同委托方的真实意思表示。 注:本摘要并非判决书之组成部分,不具有法律效力。 本案法律依据 中华人民共和国合同法 第107条 中华人民共和国合同法 第113条1款 中华人民共和国合同法 第60条1款 中华人民共和国合同法 第8条 中华人民共和国合同法 第91条1款2项 中华人民共和国合同法 第92条 中华人民共和国合同法 第94条1款4项 中华人民共和国合同法 第97条 更多

同类案例

在法小和里继续

把这条案例当成参考,用你自己的案情做一次相似检索,可以同时看到相关法条、司法解释和更多同类案例。
在知识库中打开