福建省福州市中级人民法院
民 事 判 决 书
(2017)闽01民初1370号
原告(反诉被告):福州蓝电信息技术有限公司,住所地福州市台江区广达路**群升国际御园**楼**1703。
法定代表人:王延祥,执行董事。
委托诉讼代理人:杨友伟、李钻康,福建信得律师事务所律师。
被告(反诉原告):福建桔子信息科技有限公司,住所,住所地福州市台江区鳌峰街道连江中路东侧与曙光支路交叉处百联大厦**02办公div>
法定代表人:林滔,董事长。
委托诉讼代理人:刘思涵、徐忠琛,福建熹龙律师事务所律师。
原告(反诉被告)福州蓝电信息技术有限公司与被告(反诉原告)福建桔子信息科技有限公司计算机软件开发合同纠纷一案,本院于2017年12月6日受理后,被告福建桔子信息科技有限公司(以下简称桔子公司)于2018年3月12日向本院提起反诉,本院依法受理并合并审理。本院依法适用普通程序,于2018年4月24日公开开庭审理了本案,原告福州蓝电信息技术有限公司(以下简称蓝电公司)的法定代表人王延祥及委托诉讼代理人杨友伟、李钻康,被告桔子公司的委托诉讼代理人刘思涵到庭参加庭审。本案现已审理终结。
蓝电公司向本院提出诉讼请求:1.确认蓝电公司和桔子公司2016年6月27日签订的《福建桔子信息科技有限公司APP开发项目服务合同书》于2017年7月28日已解除;2.判令桔子公司返还蓝电公司APP定制开发费用96520元;3.判令桔子公司赔偿蓝电公司违约金36195元;4.本案诉讼费用由桔子公司承担。事实和理由:蓝电公司委托桔子公司定制开发智能手机应用程序“泊泊乐”APP项目。双方于2016年6月27日签订《APP开发项目服务合同书》,该合同包括《定制开发后台导图》及《定制开发工作流程》两个附件。合同对服务期限、收费标准及付款方式、双方的权利义务、过程控制、违约责任等均作了具体约定。合同签订后,蓝电公司依约于2016年7月1日向桔子公司汇转了48260元,于2016年8月24日向桔子公司汇转了48260元。但桔子公司迟延提供原型及UI效果图,且UI存在许多问题,经多次修改才勉强达到验收标准,以致后续开发时间顺延。时间顺延后,桔子公司应于2016年9月17日交付提测一,于2016年9月24日正式交付APP。而桔子公司迟至2016年12月12日才提供一个半成品,且完全达不到验收标准,已构成根本违约。桔子公司于2016年10月8日发邮件称超期是由于蓝电公司UI验收延迟,蓝电公司提供的SDK文件及程序代码不能用。事实上,双方签约时已明确SDK包可用JAVA语言编写,蓝电公司已依约交付了可以使用的SDK包。桔子公司于2016年12月14日向蓝电公司发邮件要求单方终止合作,构成根本违约。故蓝电公司于2017年7月27日向桔子公司发出《解除合同告知函》,通知桔子公司解除涉案合同,要求桔子公司返还开发费96520元并赔偿违约金,桔子公司于次日收到该函。综上,桔子公司的违约行为严重侵害了蓝电公司的合法权益,蓝电公司依法提起诉讼,请求判如所请。
桔子公司辩称,1.桔子公司已向蓝电公司交付软件原型及UI设计,因蓝电公司提出修改需求,桔子公司需要修改,导致相应开发工作流程顺延。2.因蓝电公司未能按照合同约定提供有效SDK接口,导致软件开发未能完成提测。涉案合同开发内容不包含SDK及有关代码,根据合同约定,蓝电公司须于合同签订的五个工作日内提供本项目所有相关SDK接口,并确保接口有效性。但蓝电公司经多次催促于2017年10月25日才提供有关文档,但该文档并不是SDK。桔子公司要求蓝电公司重新提供但蓝电公司拒绝。3.桔子公司已经向蓝电公司交付了所有开发成果,合同未能继续履行的责任应归结于蓝电公司,蓝电公司不享解除合同的权利。
桔子公司向本院提出反诉请求:1.判令蓝电公司依约向桔子公司提供有效的SDK接口;2.判令蓝电公司于项目提测完成验收合格后向桔子公司支付剩余开发费用24130元;3.判令诉讼费用由蓝电公司承担。事实和理由:2016年6月27日,桔子公司与蓝电公司就开发APP事宜签订《福建桔子信息科技有限公司APP开发项目服务合同》。合同约定蓝电公司须于合同签订的五个工作日内,提供本项目所有相关SDK接口,并确保接口有效性,若因其无法及时提供有效接口,所产生的其他费用以及所造成的项目延期,由其自行负责。合同签订后,桔子公司依约交付了软件主体。在此过程中,桔子公司多次催促蓝电公司提供有效SDK接口,其先后两次向桔子公司交付了有关文档,但该文档格式与SDK格式完全不符,不属于SDK包。综上,桔子公司已经交付了所有开发成果,蓝电公司未提供有效SDK接口,合同未能继续履行的责任应归结于蓝电公司,其违约在先,不享有解除合同的权利。故桔子公司提起反诉,请求判如所请。
蓝电公司辩称,蓝电公司于2016年7月4日已按约定提供了服务器端SDK,于2016年8月15日前提供了app端源代码,并可使用,已履行了合同义务。且《APP开发项目服务合同书》因桔子公司根本违约,已于2017年7月28日解除,请求驳回桔子公司的全部诉讼请求。
蓝电公司为支持其本诉诉讼请求及反诉抗辩主张向本院提交了以下证据:
1.2016年6月27日《福建桔子信息科技有限公司APP开发项目服务合同书》;
2.定制开发后台导图(合同附件一);
3.定制开发工作流程(合同附件二);
证据1-3证明:蓝电公司委托桔子公司定制开发泊泊乐APP项目,合同约定开发总费用为120650元,合同并约定了APP的框架功能、开发成果交付时间、双方项目联络人及具体的工作流程等。
4.中国农业银行客户收付款入账通知2份,证明蓝电公司依约共向桔子公司支付96520元。
5.解除合同告知函;
6.快递面单;
7.快递回执网站打印件;
证据5-7证明:因桔子公司根本违约,蓝电公司于2017年7月27日依法向桔子公司发出《解除合同告知函》,要求解除合同并要求桔子公司返还开发费用96520元、赔偿违约金36195元,桔子公司于次日收到该函,涉案合同已于2017年7月28日解除。
8.2016年7月11日蓝电公司王延祥和桔子公司张伟茜QQ聊天记录,证明蓝电公司已提供服务器的SDK包,其他部分是提供APP程序代码。
9.2016年7月22日蓝电公司开发人员杨志勇和张伟茜QQ聊天记录、2016年7月25日王延祥和张伟茜QQ聊天记录,证明蓝电公司已向桔子公司交付APP程序代码,并询问SDK测试情况。
10.2016年9月1日王延祥和张伟茜QQ聊天记录,证明桔子公司对JAVA语言写的SDK包无异议,因桔子公司后台是.net语言,不能读取算法,要求蓝电公司提供算法。
11.2016年9月19日王延祥和蓝电公司郑晓辉QQ聊天记录,证明桔子公司技术总监表示可以生成授权码,蓝电公司提供的SDK包及APP程序代码是可用的,并与对方电话沟通详细说明。
12.2016年09月19日16:50王延祥与张伟茜通话记录,证明蓝电公司很早就提供了硬件,并提供了演示程序(DEMO)去桔子公司公司演示,桔子公司并没及时处理,已超过开发周期了桔子公司工作人员才把硬件拿出来试用,而且还说忘记怎么用了。
13.2016年10月8日张伟茜发送给王延祥的电子邮件;
14.2016年10月8日张伟茜发送给王延祥的电子邮件附件《泊泊乐APP项目合同违约函》;
15.2016年10月9日王延祥回复张伟茜的电子邮件;
证据13-15证明:桔子公司以所谓的项目超工期为由,要求加价5万元。蓝电公司表明工期延误系桔子公司责任,蓝电公司已依约提供了SDK程序代码,且事先也约定好SDK包是由JAVA语言所写,要求桔子公司按项目进度开发,否则应赔偿损失。
16.2016年10月9日王延祥与张伟茜通话记录;
17.2016年11月14日王延祥和张伟茜通话记录;
18.2016年11月22日王延祥和郑晓辉通话记录.;
证据16-18证明:桔子公司称投入人力超出成本,项目亏本要求加钱;郑晓辉承认蓝电公司提供的资料可用,并且已调试成功。
19.2016年11月25日张伟茜发送给王延祥的电子邮件及正文《项目通知函》;
20.2016年11月25日张伟茜发送给王延祥的电子邮件附件二王延祥与张伟茜QQ聊天记录第28页;
21.2016年11月25日张伟茜发送给王延祥电子邮件附件二王延祥与张伟茜QQ聊天记录第39页;
证据19-21证明:(1)桔子公司要求蓝电公司提供可用的SDK包,否则桔子公司单方终止合作,不再继续开发泊泊乐APP项目;(2)蓝电公司SDK包用JAVA语言编写经桔子公司代表张伟茜同意;(3)2016年7月5日王延祥向张伟茜询问SDK是否可用,张伟茜表示技术那边还在看,且对JAVA语言写的SDK包无异议。
22.2016年12月14日张伟茜发送给王延祥电子邮件,证明桔子公司单方终止合作,构成根本违约。
23.蓝电公司工作人员吴伟购买IOS账号成功确认的电子邮件,证明蓝电公司于2016年8月1日即成功购买IOS账号。
24.APP开发项目实际时间节点表,证明桔子公司实际开发工作流程时间节点。
25.原桔子公司双方主要人物网络名称对照表,证明原桔子公司双方工作人员网络名称及身份。
26.本案英文缩写百度百科名词解释,证明本案英文缩写百度百科名词解释。
27.2016年11月23日王延祥发给张伟茜电子邮件,证明:(1)催促桔子公司尽快按合同约定交付APP程序;(2)告知桔子公司“若因硬件对接问题,最后开门步骤可由我公司来完成,请你们留好数据库及对接的接口和说明文档”,为尽快完成开发,蓝电公司作出让步,对桔子公司无法完成的手机安卓端及IOS端接口由蓝电公司完成,所以不存在蓝电公司提供的手机安卓端及IOS端源代码不能使用的问题。
28.2016年11月25日张伟茜发送给王延祥电子邮件《项目通知函》中附件三聊天记录第1页(桔子公司证据4),证明:(1)蓝电公司已经给桔子公司jar包(服务器端SDK),2016年7月6日张伟茜表示正在评估;(2)2016年7月6日张伟茜承认服务器给的是SDK包,app端是程序代码。
29.2016年12月12日张伟茜电子邮件发给王延祥,以及王延祥回复邮件,证明桔子公司未完成合同约定的工作,提供的是半成品app,桔子公司提供的安卓手机端,服务器端都无法正常使用,ios端都还没提供,根本达不到验收标准。
桔子公司对上述证据的质证意见如下:对证据1-4的合法性、真实性、证明对象没有异议;对证据5-11、13-15、19-22、27、29的合法性、真实性没有异议,但对证明对象有异议;对证据12、16、17、18、23-26、28的真实性、合法性、证明对象均有异议,认为录音通话内容不能反应相关的事实,仅是原告单方的陈述,证据25中杨志勇并非原告公司的员工,是承包原告SDK开发的承包方。
桔子公司为支持其本诉抗辩主张及反诉诉讼请求向本院提交了以下证据:
1.《福建桔子信息科技有限公司APP开发项目服务合同》,证明桔子公司与蓝电公司于2016年6月27日签订《福建桔子信息科技有限公司APP开发项目服务合同书》,合同第三条第9款约定:蓝电公司须于合同签订的五个工作日内,提供本项目所有相关SDK接口,并确保接口有效性。若因蓝电公司无法及时提供有效接口,所产生的其他费用以及所造成的项目延期,由蓝电公司自行负责。
2.《王延祥与张晓(张伟茜)qq聊天记录》,证明合同洽谈过程中,王延祥向针对“密码验证怎么对接、闸道这块怎么实现”问题,称其已经有团队做好了,可以直接提供代码。桔子公司代表张晓(张伟茜)多次要求其事先提供“闸道”确认其是否可用,王延祥以涉及机密为由拒绝,并表示闸道对接不是桔子公司的工作,其团队已经完成并且“肯定能用”。
3.《王延祥与张伟茜qq聊天记录》、《杨志勇与张伟茜qq聊天记录》,证明:(1)张伟茜多次催促王延祥提供SDK接口并强调继续延迟交付将耽误开发进程,王延祥均未依约提供接口,并指定其公司杨志勇与张伟茜完成SDK代码的交付;(2)张伟茜多次催促杨志勇交付代码,杨志勇不予理会导致开发进程延误;(3)张伟茜反复多次要求蓝电公司提供SDK包,因对方原因导致开发进度延误,在发现蓝电公司交付的SDK包不可用时多次要求蓝电公司提供SDK包算法,对方均未提供,期间王延祥表示杨志勇只会JAVA语言。
4.《泊泊乐项目违约函》,证明经多次催促未能获得有效SDK接口,开发进程无法继续,桔子公司分别在2016年10月8日及2016年11月25日函告蓝电公司,告知其提供的SDK接口不可用的原因,并要求其履行提供SDK接口的义务,否则应自行承担开发无法继续的不利后果。
5.蓝电公司提供的“SDK包”(光盘),证明蓝电公司提供的SDK数据包与与开发软件后台不兼容。
蓝电公司对上述证据的质证意见如下:对证据1-5的客观性、合法性没有异议,但对证明对象有异议,认为根据合同约定蓝电公司需提交的是服务器端的SDK包及app端的源代码,蓝电公司已于2016年7月4日交付SDK包、于7月22日提供源代码,且上述SDK包及源代码均可用。
经审查,本院对双方当事人提交的证据认证如下:一、关于蓝电公司提交的证据,对证据1-11、13-15、19-22、27、29的真实性、合法性桔子公司无异议,本院予以确认;桔子公司对证据12、16、17、18通话录音中的人身份无异议,对录音资料是否经过剪辑不能确定,本院认为,被告无法证明录音是否经过剪辑,蓝电公司已提交录音资料的原始载体手机,故本院对其真实性予以确认;证据23电子邮件未提供原始载体无法确认其真实性,且也无法确认与本案的关联性;证据24、25系蓝电公司自行制作的表格,桔子公司对真实性有异议,但桔子公司又当庭对证据25中涉及的双方主要人员身份信息予以认可,故本院对证据24的真实性不予确认,对证据25的真实性予以确认;证据26系蓝电公司自行打印的材料,内容为本案涉及的SDK、UI、Java等一些名词的百度百科解释,本院认为该些名词应根据本案的具体情况来认定,百度百科解释可作为参考;证据28电子邮件系证据19中提及的附件三杨志勇与张伟茜的聊天记录,二者可互相印证,本院对其真实性予以确认。二、关于桔子公司提交的证据,蓝电公司对桔子公司提交的证据1-5的真实性、合法性无异议,本院予以确认,证明对象在事实查明部分详述。
根据上述有效证据及双方当事人的陈述,本院确认如下事实:
2016年6月27日,蓝电公司作为甲方与乙方桔子公司签订《福建桔子信息科技有限国内公司APP开发项目服务合同书》,约定甲方委托乙方开发制作APP,合同主要内容如下:
1.服务期限:自2016年6月24日至2016年8月26日止(预计46个工作日)。
2.收费标准及付款方式:甲方APP定制开发总费用为120650元,按以下方式分期支付:(1)签订合同五个工作日内支付预付款40%,即48260元,作为乙方前期工作费用和合同预付款;(2)乙方完成APP项目开发原型和UI设计后,并由甲方验收合格且邮件正式回复确认后五个工作日内支付40%,即48260元;(3)乙方完成APP项目开发、提测完成,甲方验收合格且邮件正式回复确认后五个工作日内支付余款20%,即24130元。
3.甲方权利义务:(1)甲方有权在产品设计(产品原型设计、UI设计)交付后,对设计提出意见,乙方应积极配合。甲方的修改意见应在收到乙方产品设计稿后3个工作日内提出,由甲方未在工作日内反馈造成阶段工作延期的,乙方应出具正式的法律合同函件,则甲方项目延期的结果由其自行承担;(2)甲方指定王延祥与乙方张伟茜进行工作联系,甲方更换联系人应及时通知乙方;(3)甲方须于合同签订的五个工作日内,提供本项目所有相关SDK接口,并确保接口有效性。若因甲方无法及时提供有效接口,所产生的其他费用及所造成的项目延期,由甲方自行负责。
4.乙方权利义务:(1)乙方承接本项目业务,应尽职尽责为甲方服务,按时、按质、按量完成甲方委托的各项工作,并为甲方资料保密;(2)乙方应按照合同约定进度提交有关成果,若乙方未按合同交付时间履约,每延误一个工作日,提交时间推迟一个工作日,成果交付时间详见附件二;若关于提测,以原型确认稿为依据,乙方未按合同功能要求完成开发,或存在重大技术问题,由乙方承担相关违约责任。
5.违约责任:(1)本合同一经生效,甲乙双方不得无故擅自解除合同,否则擅自解除合同的一方应负违约赔偿责任,违约金为本合同约定服务费总额的30%;(2)乙方应按甲乙双方确认的书面计划开展工作,无故拖延工作计划进度达到10个工作日以上的,甲方有权单方面终止合同,不予支付服务费,并有权要求乙方赔偿,赔偿额按服务费总额30%计取;(3)甲方应按本合同约定的付款进度付款,如甲方在合同约定的付款期限届满后五日内仍未付款,则甲方每延期一日应向乙方支付应付而未付部分服务费的千分之三的违约金,如甲方在合同规定的付款期限届满后15日内仍未付款,则乙方在甲方付清款项之前有权停止相关服务,并视甲方违约,乙方有权单方终止合同并按违约责任第一款追究甲方责任。
6.其他:(1)本合同产生的附件与本合同具有同等法律效力;(2)APP框架见附件一定制开发后台导图,APP开发工作流程及时间节点见附件二定制开发工作流程;(3)附件二定制开发工作流程显示,原型一稿交付时间为2016年7月5日;UI及后台开工交付时间为2016年7月6日(若原型确认时间较长相关开发时间顺延);UI效果图确认交付时间为2016年7月19日(若原型确认时间较长UI效果图确认时间顺延);提测一交付时间为2016年8月19日(若UI确认时间较长相关开发时间顺延);提测二正式交付时间为2016年8月26日(若UI确认时间较长正式交付时间顺延)。
合同签订后,蓝电公司于2016年7月1日向桔子公司转账48260元;7月25日,桔子公司向蓝电公司提交了UI稿,蓝电公司认为UI存在很多内容错误需要修改;8月11日,桔子公司将UI修改稿发给王延祥请求确认验收;蓝电公司于2016年8月17日回复确认验收UI效果图,并于2016年8月24日向桔子公司转账48260元。
本案根据双方履约过程中的微信截屏内容,还查明如下事实:
2016年6月22日,在涉案合同签订前,王延祥与张伟茜沟通洽谈过程中,张伟茜表示“SDK包您那边用JAVA语言写是没问题的。”合同签订后,2016年6月29日、7月1日、7月4日,桔子公司张伟茜多次催促蓝电公司王延祥提供SDK包。王延祥于7月4日将用JAVA语言编写的服务器的SDK包发送给张伟茜,并表示APP端只需提供一小段源程序即可。7月5日王延祥询问其昨日交付的sdk是否可用,张伟茜称技术人员还在看,需花点时间去研究,并提出王延祥能否提供用.net语言写的关于验证码的例子,SDK包里都是代码,有例子好理解,王延祥表示其都是java写的,对.net不熟。7月11日,张伟茜称上次给的只是服务器的SDK包,还需要王延祥提供APP端的SDK包,王延祥表示APP的是程序代码,不是SDK包。7月22日,蓝电公司杨志勇将部分APP代码发给张伟茜。7月26至8月5日期间,张伟茜多次向杨志勇要剩余的APP程序代码,杨志勇于8月9日将全部代码发给张伟茜。张伟茜称收到的只是安卓端的程序代码,还要提供IOS端的。8月11日,张伟茜向杨志勇要IOS端程序代码,并提出要蓝电公司把SDK包的算法也发给桔子公司,因为其公司没有JAVA人员。杨志勇让其先开始做安卓端的。8月15日,杨志勇将SDK包的算法发给了张伟茜。8月30日,张伟茜称蓝电公司提供的是JAVA语言的SDK包,要求杨志勇直接提供一个算法文档。9月8日,张伟茜向杨志勇发一个“Orange.rar”文件,称其建了个工期,要求杨志勇用vs2013把算法写明白就行。杨志勇表示其只有VS2015,且也过期了不能用。9月19日,桔子公司称可以生产授权码了。
2016年10月8日,张伟茜发邮件给王延祥,称涉案项目超期原因主要为:1.UI验收延迟一个月;2.未按约定提供相关的SDK文件及程序代码,致使桔子公司无法使用,造成额外劳动力;3.相关文档提供时间超出合同约定。桔子公司表示自该日起不再去对接硬件部分,只负责软件部分且软件部分已完成。若蓝电公司想完成整个项目,包括硬件对接部分,还需多支付5万元,则桔子公司承诺在2016年11月30日完成。邮件还附了《泊泊乐APP项目合同违约函》。次日,蓝电公司回复上述邮件,称:涉案项目按约应于8月26日完成,项目超期是因桔子公司迟延提交UI,蓝电公司已按约提供SDK及APP程序代码;如桔子公司不能在10日内上线测试,15日完工,则蓝电公司将按合同约定终止合同,不支付服务费,并要求赔偿损失。同日,王延祥与张伟茜还电话沟通了项目是否有增加功能需求及费用问题,王延祥表示蓝电公司自原型确定后从未增加过功能,不同意增加费用;张伟茜认为该项目已超成本,蓝点公司增加功能,要求加付5万元。
2016年11月14日,王延祥致电张伟茜询问项目情况,张伟茜表示之前收到的不是SDK包,无法调用;王延祥表示之前提供的就是SDK,是桔子公司用的语言版本太旧,要求桔子公司按照之前提供的文档把安卓做通,IOS的按照安卓的把数据接口留好。11月22日,王延祥致电桔子公司郑晓辉沟通项目情况,询问蓝电公司提供的SDK包后服务器端生产授权码情况,郑晓辉表示服务器端生产验证码没问题,已经可以用,并称安卓的都已经做好了,IOS的不行。11月23日,王延祥发邮件给张伟茜,称涉案项目已严重超期,要求对方尽快完成交付,并留好数据库及对接的接口和说明文档。11月25日,张伟茜向王延祥发送电子邮件《项目通知函》并附了四个附件,《项目通知函》对目前涉案项目顺延阶段提供两种方案供蓝电公司选择:1.蓝电公司在2016年12月2日前提供标准、可用的JAR形式的SDK包,并经由桔子公司确认规范可用,则接下来的软件及硬件部分由桔子公司完成;2.桔子公司在11月28日把源代码、产品使用说明书等相关验收材料交至蓝电公司,双方合作终止,由蓝电公司负责接下来的软件及硬件部分。若蓝电公司对上述方案不接受,桔子公司将根据合同约定单方面解除合同。
2016年12月12日,张伟茜发邮件给王延祥,主题为“泊泊乐验收材料2016.12.12”,包括源代码、接口协议、前端、后台使用说明书供蓝电公司验收。同日,王延祥回复邮件称桔子公司提供的安卓手机端、服务器端都无法正常使用,IOS端还没提供,根本达不到验收标准。2016年12月14日,张伟茜回复了上述邮件,表示其公司已配合蓝电公司做了很多,相关记录也都发给了王延祥。其公司决定双方合作终止,如有异议按正常程序走,其公司不会再回复邮件。
2017年7月27日,蓝电公司向桔子公司发出《解除合同告知函》,称:桔子公司未按合同履行,无故拖延工作进度,至今未交付成果,还于2016年12月14日发电子邮件单方终止合作,已构成根本违约,给蓝电公司造成巨大损失,故蓝电公司特发此函通知桔子公司解除涉案合同,并要求桔子公司返还开发费用96520元、赔偿违约金36195元。桔子公司于2017年7月28日收到该函件。
本院认为,原、被告双方签订的《APP开发项目服务合同书》系双方真实意思表示,未违反法律、行政法规有关效力性强制性规定,应认定该合同合法有效,对双方当事人具有法律约束力。本案争议焦点是:桔子公司是否构成违约;《APP开发项目服务合同书》是否应当解除及其法律后果。
一、桔子公司是否构成违约
(一)关于桔子公司是否构成逾期违约的问题
蓝电公司主张,桔子公司应于2016年9月17日交付提测一,于2016年9月24日正式交付APP。而桔子公司却迟至2016年12月12日才提供一个开发的半成品,且完全达不到验收标准,已构成根本违约。经查,根据双方当事人微信截屏内容可认定,双方在实际履行协议过程中不断地进行交流沟通,桔子公司于2016年8月份曾多次要求蓝电公司提供可连接的端口,包括IOS端程序代码,将SDK包的算法发给桔子公司等。至10月8日,桔子公司仍发邮件给蓝电公司,认为因其未按约提供相关的SDK文件及程序代码,致使桔子公司无法使用,造成额外劳动力,要求增加开发费用。而蓝电公司则认为其并未增加相关功能,不同意增加费用。双方约定所开发的涉案APP项目因此搁浅,据此不能认定桔子公司构成迟延交付。再是,根据本案讼争合同约定,蓝电公司应于合同签订的五个工作日内,提供本项目所有相关SDK接口,并确保接口有效性。若因蓝电公司无法及时提供有效接口,所产生的其他费用及所造成的项目延期,由蓝电公司负责。但根据双方在合同履行过程中的交流,可判定蓝电公司并未按约在签订合同后的5日内向桔子公司提供“本项目所有相关SDK接口,并确保接口有效性”,故而不能认定桔子公司应承担构成逾期交付开发项目的责任。
(二)关于桔子公司是否构成根本违约的问题
经查,11月25日,桔子公司向蓝电公司发送项目通知函及项目相关附件,声称其把源码、产品使用说明书等相关验收材料交至蓝电公司,由蓝电公司负责接下来的软件及硬件部分。12月12日,桔子公司又发邮件给蓝电公司,主题为“泊泊乐验收材料2016.12.12”,包括源码、接口协议、前端、后台使用说明书供蓝电公司验收。同日,王延祥回复邮件称桔子公司提供的安卓手机端、服务器端都无法正常使用,IOS端还没提供,根本达不到验收标准。2016年12月14日,桔子公司回复上述邮件,表示其公司已配合蓝电公司做了很多,相关记录也都发给了蓝电公司。2017年7月27日,蓝电公司向桔子公司也发出《解除合同告知函》,称桔子公司未按合同履行,无故拖延工作进度,至今未交付成果,构成根本违约。以上事实可以认定,在开发项目过程中,桔子公司根据讼争公同约定向蓝电公司提交了UI效果图,并最后得到蓝电公司验收确认。本案讼争《APP开发项目服务合同书》约定蓝电公司应向桔子公司提供本项目所有相关SDK接口,并确保接口有效性,但由于桔子公司所开发的APP软件与蓝电公司提供的端口无法匹配而引发纷争,直至本案诉讼过程中,双方也未对涉案软件进行验收,亦没有证据表明桔子公司提供的涉案软件出现问题无法解决的情况下,不能认定涉案软件质量不合格,故桔子公司并未构成根本违约。
二、关于《APP开发项目服务合同书》是否应当解除及其法律后果问题
我国《合同法》第94条规定“有下列情形之一的,当事人可以解除合同:(二)在履行期限届满之前,当事人一方明确表示或者以自己的行为表明不履行主要债务;(三)当事人一方迟延履行主要债务,经催告后在合理期限内仍未履行;(四)当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的。”由于蓝电公司未提供有效证据证明其已提供有效的端口可用于涉案软件进行验收,构成违约。鉴于网络环境的变化,以及双方当事人之间由于诉讼产生的隔阂,双方不宜再继续履行《APP开发项目服务合同书》。故蓝电公司提出确认解除双方签订的《APP开发项目服务合同书》本院予以支持。根据《合同法》第97条规定,合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。从合同履行过程来看,本案讼争合同未能全面履行,双方均有过错,均应承担相应的责任。由于涉案软件处于验收期,开发项目未全部经过验收,亦未上线测试,对于尚未履行的部分,应终止履行,蓝电公司无需再支付余款,桔子公司要求蓝电公司提供有效的SDK接口的反诉请求亦不予支持。关于蓝电公司主张桔子公司应当返还已支付的开发费用问题,本案诉争合同共分三期支付开发费用,蓝电公司已向桔子公司支付了第一、二期的费用,鉴于桔子公司也投入了开发成本,对其收取的第一期前期预付款费用不再予以退还,但桔子公司未完成涉案软件的开发,故应退还蓝电公司支付的第二期费用48260元。
综上所述,蓝电公司的诉讼请求部分成立,对成立部分予以支持。桔子公司的反诉请求无理,不予支持。依照《中华人民共和国合同法》第六十条、第九十四条、第九十七条、第一百零七条、第三百三十四条,《中华人民共和国民事诉讼法》第六十四条第一款之规定,判决如下:
一、解除福州蓝电信息技术有限公司与福建桔子信息科技有限公司签订的《APP开发项目服务合同书》;
二、福建桔子信息科技有限公司应于判决生效之日起十日内向福州蓝电信息技术有限公司返还已收取的开发费用48260元;
三、驳回福州蓝电信息技术有限公司的其他诉讼请求;
四、驳回福建桔子信息科技有限公司的反诉请求。
如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百五十三条之规定,加倍支付迟延履行期间的债务利息。
本案本诉案件受理费2954元,由福州蓝电信息技术有限公司负担1900元,由福建桔子信息科技有限公司负担1054元;本案反诉案件受理费202元,由福建桔子信息科技有限公司负担。
如不服本判决,可在判决书送达之日起15日内,向本院递交上诉状,并按对方当事人的人数提出副本,上诉于福建省高级人民法院。
审 判 长 李瑞钦
审 判 员 潘 筝
人民陪审员 张福荣
二〇一八年九月二十七日
法官 助理 黄金凤
书 记 员 施国琴
附:一、本判决书引用的主要法律条文
1、《中华人民共和国合同法》
第六十条当事人应当按照约定全面履行自己的义务。
当事人应当遵循诚实信用原则,根据合同的性质、目的和交易习惯履行通知、协助、保密等义务。
第九十四条有下列情形之一的,当事人可以解除合同:(一)因不可抗力致使不能实现合同目的;(二)在履行期限届满之前,当事人一方明确表示或者以自己的行为表明不履行主要债务;(三)当事人一方迟延履行主要债务,经催告后在合理期限内仍未履行;(四)当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的;(五)法律规定的其他情形。
第九十七条合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施、并有权要求赔偿损失。
第一百零七条当事人一方不履行合同义务或者履行合同义务不符合约定的,应当承担继续履行、采取补救措施或者赔偿损失等违约责任。
第三百三十四条研究开发人违反约定造成研究开发工作停滞、延误或者失败的,应当承担违约责任。
2、《中华人民共和国民事诉讼法》
第六十四条第一款当事人对自己提出的主张,有责任提供证据。
二、执行申请提示
《中华人民共和国民事诉讼法》第二百三十九条
申请执行的期间为二年。申请执行时效的中止、中断,适用法律有关诉讼时效中止、中断的规定。
前款规定的期间,从法律文书规定履行期间的最后一日起计算;法律文书规定分期履行的,从规定的每次履行期间的最后一日起计算;法律文书未规定履行期间的,从法律文书生效之日起计算。