甲公司乙公司计算机软件开发合同纠纷二审民事判决书
裁判文书北京市高级人民法院裁判日期 2022-10-26案由 商业秘密
引注:(2022)京民终507号
全文
甲公司乙公司计算机软件开发合同纠纷二审民事判决书
北京市高级人民法院
民事判决书
(2022)京民终507号
上诉人(原审原告、反诉被告):甲公司,住所地辽宁省沈阳市浑南新区某地。
法定代表人:刘某,董某兼首席执行官。
委托诉讼代理人:常某,某律师事务所律师。
委托诉讼代理人:蒋某。
被上诉人(原审被告、反诉原告):乙公司,住所地北京市西城区某地楼A座1102室。
法定代表人:孙某,董某。
委托诉讼代理人:卢某,某律师事务所律师。
委托诉讼代理人:张某,某律师事务所律师。
丙公司(以下简称丙公司)丁公司(以下简称庚公司)计算机软件开发合同纠纷一案,不服北京知识产权法院(2020)京73民初648号民事判决,向本院提起上诉。本院于2022年7月27日立案后,依法组成合议庭,公开开庭进行了审理。上诉人丙公司的委托诉讼代理人常某、蒋某,被上诉人庚公司的委托诉讼代理人卢某、张某到庭参加诉讼。本案现已审理终结。
丙公司上诉请求:1.撤销一审判决,在查明事实的基础上驳回庚公司一审全部反诉请求,改判支持丙公司一审诉讼请求;2.本案一审、二审诉讼费由庚公司承担。事实和理由:一审判决认定事实和适用法律错误。1.关于判决主文第一项合同解除问题。首先,在计算机软件开发合同中,丙公司作为负责软件开发的一方,主要任务是软件代码及相关文档的完成和交付。事实上,丙公司在一审阶段提交的证据足以证明丙公司已经向庚公司交付了合同约定的软件安装包、源代码、《信息化项目技术开发服务合同》(以下简称《合同》)第七条约定的绝大部分文档以及项目周报等文件,这些开发成果及文档已经达到合同约定的90%的工作成果,不属于迟延履行主要债务的问题。其次,双方所发生的争议出现在丙公司将开发好的软件到庚公司的实际运行环境中调试运行过程中。众所周知,新开发的软件系统在实际运行环境中调试运行是需要庚公司积极配合才能完成的。在模拟环境下开发和在实际运行环境中调试是有很大差异的,需要给出软件开发一方合理的时间试错才能最终上线成功。丙公司的团队从2019年11月8日起一直积极推进软件上线和涉案项目的数据迁移工作。并且,上线和数据迁移工作发生的时间恰好是新冠疫情大爆发和2020年元旦、春节期间,丙公司工作团队所面临的困难是不言而喻的。一审判决适用《中华人民共和国合同法》第九十四条第三项法定解除规定解除双方签订的《合同》及《补充协议》,没有事实基础。最后,一审法院判决《合同》和《补充协议》于2020年4月25日解除,依据的是庚公司于2020年4月23日发出的《解除通知》,而该在《解除通知》中庚公司主张的是约定解除,并非法定解除。戊公司享有约定解除权的同时,又承认其《解除通知》的效力,前后自相矛盾。2.关于返还庚公司支付的第一期费用15万元和支付违约金12.5万元的问题。一审判决要求丙公司返还第一期费用15万元的依据是《合同》第13.3条约定:“丙公司交付的开发成果不符合约定标准的,应返还已收取的开发费用,并支付开发费用25%的违约金。”事实上,丙公司交付的开发成果基本符合双方约定的标准,并已经进入最后的上线调试和数据迁移阶段。这一点,从庚公司《民事反诉状》的反诉请求4“判令反诉被告将截至2020年4月23日前的全部开发成果交付反诉原告”中也能看出,庚公司对丙公司交付的开发成果基本符合双方约定的标准是心知肚明的。因此,一审判决适用《合同》第13.3条约定要求丙公司返还已收取的15万元开发费用没有事实依据。此外,一审判决虽然详细论述了违约金12.5万元的支付问题,但在庚公司没有证据证明其有任何损失的情况下,12.5万元的违约金也明显过高。最后,在一审期间,丙公司依法向法院递交了书面勘验申请,申请到庚公司处勘验丙公司开发的软件实际运行情况,而一审法院并未组织勘验,对丙公司交付的开发成果是否能够满足合同目的这一关键事实没有查明。3.关于“己公司将截至2020年4月23日庚公司”的问题。关于这一判决事项,一审判决依据的是:《合同》约定了全部开发成果归庚公司所有;《合同》6.1条关于合同终止后,乙方(丙公司)返还甲方(庚公司)交付乙方资料的约定。首先,《合同》约定了全部开发成果归庚公司所有是基于合同正常履行情况下的约定。在合同解除情况下,只有庚公司支付了相应对价才能适用,否则,不能成立。一审判决主文第二项判令丙公司返还庚公司支付的第一期费用15万元,也就是庚公司不支付任何对价的情况下,再判令丙公司交付全部开发成果,没有法律依据,显失公平。其次,《合同》6.1条是关于合同终止后,乙方(丙公司)返还甲方(庚公司)交付乙方资料的约定,与判决第四项毫无关系,一审判决不能据此作出第四项判决。再次,丙公司已经交付完了2020年4月23日前的全部开发成果,双方并无争议,法院没有必要判决丙公司重复履行。综上所述,一审判决明显缺乏公正,在认定事实和适用法律上均存在错误,请求二审法院依法查明案件事实,改判驳回庚公司一审的全部反诉请求,支持丙公司一审的诉讼请求。
庚公司辩称:
一、丙公司未能交付符合涉案合同约定要求的开发成果,一审判决对此事实的认定清楚、正确。1.丙公司作为证据主张的软件成果不符合合同要求。丙公司提交的成果软件存在明显的系统错误,无法正常部署和运行。丙公司提交的成果软件在功能上也不能满足涉案合同的要求。本案完全没有组织现场勘验的必要性与可行性。2.丙公司交付的其他成果也不符合交付条件。涉案合同第7.2条规定了其他成果的交付要求:“乙方向甲方交付开发成果的方式:(1)系统上线后乙方向甲方交付安装包及源代码;(2)项目文档按照项目阶段分批提供”。同时,涉案合同第8.2条规定:“验收标准:(1)项目各阶段评审通过;(2)系统设计满足需求规格说明书;(3)项目最终交付物符合《需求规格说明书》中的要求;(4)需求、设计、操作等方面的文档必须与系统一致;(5)系统正常运行,无明显的系统错误;(6)为保证系统正常应用及后续开发运维所需的项目培训完成”。认定其他成果是否符合交付要求以涉案软件成功上线为前提。丙公司自认其没有完全交付涉案合同约定的全部成果。丙公司提交的其他成果并未获得庚公司的认可。
二、丙公司未能交付符合涉案合同要求的开发成果的行为,已然构成根本违约,一审法院据此认定庚公司享有法定解除权,并确认涉案合同于2020年4月25日解除,认定事实清楚,适用法律正确。1.丙公司未能交付符合涉案合同约定的开发成果,已然构成根本违约。2.丙公司所谓因试错时间不充分和新冠疫情导致不能交付符合涉案合同约定的开发成果的理由,明显缺乏事实依据。3.庚公司发出的《解除通知》的具体措辞不影响法定解除权的成立。庚公司于2020年4月23日发出的《解除通知》并非仅声明解除涉案《合同》及其《补充协议》,而是充分说明了解除合同的理由。该通知第二自然段明确陈述道:“自2019年12月1日至今,辛公司通过邮件、微信等方式沟通并要求你公司及时履行新系统交付义务,壬公司癸公司催告后仍未能交付合格的最终开发成果”,该等表述已然是对于《中华人民共和国合同法》第九十四条第三项规定情形的陈述。
三、丙公司的违约行为导致涉案合同解除,一审判决判令丙公司返还庚公司支付的第一期费用并支付违约金、判令丙公司交付开发成果,认定事实清楚,适用法律正确。1.一审判令丙公司向庚公司支付违约金及经济损失12.5万元并返还第一期费用,适用法律正确、酌定标准适当。2.一审判令丙公司向庚公司交付全部开发成果,认定事实、适用法律正确。丙公司在上诉状第8页就其不应当承担向庚公司交付开发成果的主张,提出的理由包括:一、交付开发成果以合同正常履行为前提。二、涉案合同第6.1条不能称为交付开发成果依据。三、丙公司已经交付了全部成果。庚公司认为,丙公司的上述主张均不能成立。第一,涉案合同对于交付成果的约定。涉案合同第6.1条约定:“乙方应在本合同终止或接获甲方书面通知时起【30】个工作日内,将甲方已交付乙方的资料及其所有的复制本(不论由甲方提供或由乙方自行制作),均应返还给甲方。无法返还的资料,包括但不限于已安装于硬设备的软件程序,乙方应立即清除销毁,并遵守合同有关保密的规定”。第7.3条约定:“本合同的最终开发成果、本合同履行过程中形成的阶段成果、以及与上述成果和过程有关的知识产权,归甲方所有”,第7.4条明确:“本合同履行过程中形成的技术秘密、及这些技术秘密的使用权、处置权及利益,归甲方所有”。第二,丙公司的上诉理由是对一审判决的曲解。一审判决判令丙公司交付全部开发成果的逻辑在于:涉案合同明确任何庚公司的资料和信息均应返还给庚公司;丙公司交付的开发成果载有庚公司的资料和信息,而且涉案合同明确约定涉案合同项下的开发成果均归庚公司所有,所以丙公司应当向庚公司交付开发成果。第三,丙公司所谓无需重复判令交付的主张不能成立。一方面,如前所述,丙公司自认其没有完全交付《合同》约定的全部成果。在2021年9月23日的一审庭审中,丙公司认可系统详细设计文档和项目总结报告尚未交付。另一方面,判令交付的意义在于,确认丙公司已经交付的开发成果属于庚公司,从而就本案纠纷的全部方面予以定分止争。
丙公司向一审法院起诉请求:1.判令庚公司继续履行《合同》及《补充协议》;2.判令庚公司支付丙公司开发费用共计64.6万元;3.本案诉讼费用由庚公司承担。
庚公司向一审法院反诉请求:1.确认《合同》及《补充协议》已于2020年4月23日解除;2.判令丙公司返还庚公司已经支付的第一期费用15万元;3.判令丙公司向庚公司支付违约金及经济损失共计102.5万元;4.判令丙公司将截至2020年4月23日前的全部开发成果交付庚公司;5.判令丙公司承担本案全部诉讼费用。
一审法院认定事实:2019年7月16日,丙公司收到庚公司发出的邀请,就“新核心业务系统改造”项目,邀请丙公司参与竞争性谈判。
2019年7月23日,丙公司向庚公司递交《乙公司新核心业务系统改造项目技术方案》,内容有“预备项目组核心成员库为保证本次项目按时实施成功,东软准备抽调有经验的实施人员,组成项目实施组。保证在项目中标后组建不少于10人的项目技术团队,目前预备可选的项目核心组成员分工如下”,上述“预备可选的项目核心组成员”包括唐诗、倪思聪、王晖、朱晖、郑宇、周健、凤启伟、张楠、张伟、薛志龙、马铁峰、简玉霞、张迪、王梦然、李丽、姜桂梅、闫英楠。
2019年8月21日,庚公司代表与丙公司团队召开了“昆仑经纪新业管核心系统需求评审会议”。会后,丙公司蒋某以电子邮件形式向庚公司张大伟、兰宁,丙公司唐诗提交了会议记录。
2019年8月28日,庚公司代表与丙公司团队召开了“昆仑经纪新业管核心系统设计评审会议”。会后,丙公司蒋某以电子邮件形式向庚公司张大伟、张红芳、黄权伟,丙公司唐诗提交了会议记录。
2019年8月30日,丙公司与庚公司签署《合同》。《合同》第1.1条明确庚公司委托丙公司开发的主要内容为“核心业务系统建设”,《合同》附件1对委托开发内容涉及的业务板块和功能模块予以明确。《合同》第1.1.1条约定“甲方(系指‘庚公司’,下同)在合同执行过程中,有权改变、增加、减少或变更委托开发内容”,第1.1.2条约定“上述变更如涉及到项目的重大改变及工作量增加,经双方确认,甲方应给予乙方(系指‘丙公司’,下同)相应的服务费用补偿;如涉及到项目的重大改变导致工作量减少,经双方确认,乙方应相应的减少服务费用。”
关于合同的履行期限,《合同》第2.2.1条约定“本合同乙方履行的期限为自合同签订之日起至2019年11月30日”,第2.2.4条约定“若因乙方原因而未达到预期的进度,经甲方催促之后未能采取必要的补救措施或采取的措施未能达到原进度,甲方有权决定暂停或终止乙方的部分或全部工作”。
关于项目组及人员,《合同》第3.1条约定“本项目以为主,甲方配合的方式进行。乙方应对本合同下服务的质量、进度、深度等全面负责。乙方应本合同要求成立项目组,甲方也应指派相关单位和人员代表甲方履行合同,配合乙方项目组开展工作”,第3.2条约定“乙方应任命并保持一名经验丰富的项目经理,代表乙方履行本合同。乙方为项目组配备的各专业人员都应满足甲方关于本项目对项目人员的资质要求,乙方应保证所配备的人员是足够的、称职的和有经验的”。《合同》附件2明确了主要项目人员。
《合同》第4条对开发费用及支付进行了明确。第4.1条约定:“乙方按照本合同规定的进度和质量要求正确完整地完成全部服务,甲方向乙方支付开发费用。本合同的开发费用(含税)为人民币500000.00元(大写人民币伍拾万元整)增值税税率为6%。若法律或税收法规发生,变化,适用新的增值税税率。上述开发费用为本合同的总价格,包含但不限于乙方和所有乙方人员的固定成本、差旅费、住宿费、津贴、保险、税金等,甲方不再支付额外费用”。第4.2.2条约定了支付方式为:“(1)第1期,合同生效后7个工作日内,支付开发费用总额的30%;即人民币150000.00(大写人民币壹拾伍万元整),乙方须提供付款通知;(2)第2期,系统上线试运行60日内验收完成后,支付开发费用总额的60%,即人民币300000.00元(大写人民币叁拾万元整),乙方须提供付款通知、本项目全额增值税专用发票、甲方对本阶段开发的成果和资料予以认可或验收通过的书面文件。验收通过后进入试运行阶段,质保期开始;(3)第3期,质保期满一年后,支付开发费用总额的10%,即人民币50000.00元(大写人民币伍万元),乙方须提供付款通知、验收文件”。
《合同》第7条对开发成果的交付及归属进行了明确。第7.1条约定乙方向甲方交付的开发成果包括:“新保险经纪系统软件及全部源代码、《软件开发计划》、《用户需求规格说明书》、《系统概要设计文档》、《系统详细设计文档》、《系统数据库设计报告》、《系统接口设计文档》、《测试计划》、《测试用例》、《测试报告》、《系统试运行方案》、《项目总结报告》、《系统安装及运营维护手册》、《用户操作手册》”。第7.2条约定:“乙方向甲方交付开发成果的方式:(1)系统上线后乙方向甲方交付安装包及源代码;(2)项目文档按照项目阶段分批提供”。第7.3条对于开发成果的归属进行了明确的约定,即“本合同的最终开发成果、本合同履行过程中形成的阶段成果、以及与上述成果和过程有关的知识产权,归甲方所有”。
《合同》第8条对验收及保证进行明确,第8.2条约定:“验收标准:(1)项目各阶段评审通过;(2)系统设计满足需求规格说明书要求;(3)项目最终交付物符合《需求规格说明书》中的要求;(4)需求、设计、操作等方面的文档与系统一致;(5)系统正常运行,无明显的系统错误;(6)为保证系统正常应用及后续开发运维所需的项目培训完成”。第8.3条约定了验收方式。第8.3.1条明确:“在开发过程中,乙方有责任根据开发范围和进度将各阶段的交付成果(或过程性材料)提交甲方审查、检验或测试。若甲方指出存在的问题和修改意见,乙方应根据甲方意见并经双方充分讨论达成一致,对相应的交付成果(或过程性材料)进行修改,直到得到甲方的同意”。第8.3.3条约定:“如果验收认为项目服务提交成果未达到合同规定的要求或不符合甲乙双方讨论并达成一致的修改意见,双方应在共同分析原因,采取相应措施,修改消除缺陷后,再进行第二次验收”。第8.3.4条约定:“若第二次验收仍未通过,如系乙方责任,乙方应赔偿甲方遭受的直接损失,并采取相应措施消除缺陷,进行第三次验收,直至合格,所发生费用由乙方承担,甲方再付款前扣除合同总金额的5%作为赔偿金”。第8.4条约定了保证期等。
《合同》第13条对违约责任等进行了明确。第13.2条约定:“乙方逾期交付开发成果的,每逾期一日,应向甲方支付开发费用总额1%的违约金,并继续履行合同;经催告30个工作日仍未交付的,除按上述标准支付违约金外,乙方应原数返还已收取的开发费用;造成甲方损失的,乙方应予以赔偿”。第13.3条约定:“乙方除合同第9条和第12条规定情形外,不能交付开发成果或交付的开发成果不符合约定标准的,应返还已收取的开发费用,并支付开发费用总额25%的违约金;造成甲方损失的,乙方应以赔偿”。第13.9条约定:“一方不履行其他合同义务或履行义务不符合约定的,应继续履行、采取补救措施或赔偿对方损失”。
《合同》第14条对《合同》的解除与变更予以明确。第14.2条约定“出现下列情形之一的,一方可以解除合同,应当向对方发出书面解除通知,合同解除并不影响各方依法应享有的权利和承担的义务:……(3)乙方逾期交付开发成果经催告仍不交付的……”。
《合同》附件2约定了“主要项目人员”包括项目经理唐诗、需求分析师蒋某、质量经理闫英楠、高级软件开发工程师薛志龙、软件开发工程师张迪和软件开发工程师王梦然。
2019年9月2日,庚公司信息科技部兰宁发送邮件给丙公司唐诗、蒋某,邮件载明:“请确保开发人员不晚于本周三入场,并同时提交详细项目计划”。
2019年9月4日,丙公司蒋某以电子邮件形式向庚公司张大伟、兰宁和丙公司唐诗提交了涉案项目的详细开发计划,并于2019年9月19日、10月16日对该计划进行修改。
2019年10月24日,丙公司靳春明向庚公司兰宁和丙公司蒋某提交涉案项目的数据迁移计划。
2019年11月1日,庚公司与丙公司就上述《合同》签订《补充协议》一份,仅对《合同》第4.1条约定的发票开具事宜进行调整。
2019年11月8日,丙公司蒋某以电子邮件形式通知庚公司张大伟、兰宁和丙公司赵宏光,明确自2019年11月11日上班时起,项目组成员增加4人,并声明:“由于剩余时间紧迫,请在人员入场前安排好工位及网络情况,确保人员入场直接进入工作状态”。
2019年11月14日,丙公司蒋岫以电子邮件形式向庚公司张大伟、兰宁和丙公司赵宏光、靳春明提交修改后的数据迁移方案。
2019年11月15日,庚公司代表与丙公司团队召开了“数据迁移文档评审会”。会后,丙公司靳春明以电子邮件形式向庚公司兰宁和丙公司赵宏光、蒋某提交了会议记录。
2019年11月26日,庚公司兰宁致丙公司黄秋实、赵宏光、蒋某和庚公司张大伟、张红芳、杨晓倩邮件写道:“项目到目前这个状态,交付日期一再拖后,问题确认、讨论了一遍又一遍,你们从来没拿出来过一个可行的方案来解决问题,也从来没有正面回复过我们关于问题完成日期的邮件,反而总想找需求不明确的地方作为拖延的理由。我想这不是一个解决问题的态度。合同结束日期是11月30日,在这个日期之前,请端正态度,拿出切实可行的方案,针对之前提出的问题,每一个都认真思考并评估准确的解决日期,且让双方都满意。”对于该邮件,黄秋实于同日回复表示:“针对当前的情况,我给出的方案如下:1.当前剩下的问题,以功能准确,流程准确,数据准确,为首要目标。2.优化改善性问题,在上线后,由业务人员使用15天之后,我们集中整改一次。再使用15天,我们再集中整改一次。这也是任何项目都要经历的过程,没有任何一个项目是一次性交付成功的。3.哪些是优化改善性问题,宏光筛选出来,交由甲方确认。4.时间节点,由宏光判断给出。最后,大家焦急心情是一样的。出现延期,有管理过程的失误,更多是客观事实,时间太紧张。开发团队已经再满负荷工作,这里不存在态度问题,但是宏光不正面回答问题的确很可气。马上30日,我恳请各位平复一下情绪,客观的判断项目当前状态,适当合理的放宽一些上线条件,先交付一个版本”。同日,丙公司赵宏光致庚公司张大伟、兰宁、杨晓倩、张红芳和丙公司黄秋实、蒋某邮件写道:“时间计划正在和团队开会讨论中,一经确定结果,一定会第一时间发出”“这个时间节点,各位领导和老师的急切心情我能理解,我们的目标是一致的。也请相信团队兄弟们同样想尽快解决问题,团队负荷度也是200%以上,周末更是从来也没休过,这里面的努力我同样相信老师们也能看得的,我这边也会基于现在的问题客观的梳理出解决方案”。
2019年11月27日,丙公司赵宏光以电子邮件形式向庚公司张大伟、兰宁和丙公司黄秋实、蒋某提交“新核心项目后续解决方案”,并给出了两版解决方案,方案一:“(1)11月30日前上线部分核心业务功能;(2)12月15日前上线其余业务功能及除“业务情况统计表”外的全部报表;(3)12月22日前完成剩余报表的上线;(4)12月30日前交付所有剩余文档类及评审类问题修改”,方案二:(1)12月15日前上线除“业务情况统计表”外所有业务功能;(2)12月22日前完成剩余报表的上线;(3)12月30日前交付所有剩余文档类及评审类问题修改”。对于赵宏光提出的方案,庚公司张大伟回复表示:“我没看错吧?您开玩笑呢吧?12.30上线全部?您承担相应的损失?11-子公司损失有多大吗?延期一个月!”。对此,赵宏光解释称:“方案计划不是说上线时间是12月30日,总体是想保住11.30上线一版,然后在12.15前上线余下的,到12.30是为了后续做验收的准备;另一套是合成一版于12.15前上线,之后到月底的时间也准备验收”。
2019年11月28日,丙公司赵宏光致庚公司张大伟、兰宁、杨晓倩和丙公司黄秋实、蒋某邮件,声称:“项目后续依此进度执行:截止12月6日晚,开发团队交付验收版本,12月7-8日信息部检验版本及问题修改,12月9-15日交由业务部门验收。2、自12月15日开始,我方安排两名人员,在场为期一个月(至2020年1月15日离场),由现场进行工作任务安排”,丙公司蒋某于同日发出“到交付前的项目计划,包含问题清单及修复计划”。对于该计划,庚公司张大伟于2019年11月29日回复认为不合理,并明确要求丙公司考虑:“同时请考虑如果超过协商的时间点还不能达到验收程度该怎么处理,请正面回答这个问题。是处罚金钱还是延期一年结算还是如何处理。为了共同的目标项目成功,丑公司已经做出了最大的支持,我本人也尽力了,剩下的你们看着办”。
2019年11月30日,丙公司赵宏光致庚公司张大伟、兰宁、杨晓倩和丙公司黄秋实、蒋某邮件,表示:“项目交付测试版本日期为12月8日晚,之后由贵部启动UAT测试,按海艳总和大伟总商定的方案,大家共同努力,争取早日上线”。对此,黄秋实于同日回复邮件表示:“宏光,刚和张总通完电话,你反馈的和客户要求的信息不对称,周一去到张总那报道,详细了解一下需求,再做判断”。
2019年12月9日,丙公司赵宏光致庚公司张大伟、兰宁、张红芳、黄权伟、杨晓倩和丙公司蒋岫邮件,声称“uta环境昨晚已准备好,除报表涉及的公估、标书款和其它收入统计,0a和新核心这边还需要联调下,确保数据准确,其它主要业务流程功能还请安排业务老师参与验证”。对此,庚公司兰宁于同日回复表示:“根据您的描述,系统目前这个状态还不能达到可验收程度。还请回复确切可验收日期”。丙公司赵宏光回复称:“因uta测试的功能很多,建议是否可以先进行部分功能的验证,并行开展,以保证最终上线的进度”。
2019年12月10日,庚公司杨晓倩致丙公司赵宏光、黄秋实、蒋某和庚公司张大伟、兰宁、张红芳、黄权伟邮件明确指出:“从下午6点20左右启动需求功能层面验收,截止当前,共发现问题11个”“截止当前,保险方案一个流程未审批完成,而且保险方案的细节规则未进行验收,如果按照这样的bug出现率,不能达到需求验收标准吧?请确保提供验收代码质量,谢谢”。
2019年12月12日,丙公司蒋某致庚公司张大伟、兰宁、杨晓倩和丙公司赵宏光邮件,请庚公司杨晓倩审核测试用例。对此,庚公司张大伟于同日回复:“您提供这个太笼统了,根本无法用于支持测试”,庚公司杨晓倩也于同日称:“您给的测试用例,是分小功能点来的,我觉得需要把这些小功能点情况组合变成几个大的测试场景才行吧,在这几个大的业务场景下需要把你的各种情况考虑进去”。
2019年12月25日,丙公司蒋某以邮件形式向庚公司张大伟、兰宁、杨晓倩和丙公司赵宏光、黄秋实提交“上线前计划”:“业务方案与备案(12.9-12.22);首页面、业务流程、报表、MQ消费者、MQ生产者、数据迁移(12.23-12.26);修改bug:12.27-12.29业务验收、文档交付:12.30-01.06;上线:01.07-01.08”。
2020年1月19日,丙公司蒋岫以电子邮件形式向庚公司张大伟、兰宁和丙公司赵宏光、黄秋实提交“核心系统年后计划”,计划为:“培训地点安排:2月2日,备注需准备操作手册;业务培训:2月3日,备注记录好业务提出的问题;业务验收数据库准备:2月3日,备注清空uat库之前测试数据,确定验收机构分配好角色及菜单权限;业务验收:2月4日至15日;修改问题:2月5日至15日,备注分析业务验收期间提出的问题并修改;数据迁移准备及执行:2月15日,备注提前准备好数据进行生产数据迁移测试;上线:2月16日”。对此,庚公司兰宁于2020年1月20日回复邮件表示不认同,指出:“之前一直说的是年前把问题都改完,给我们演示没问题,年后才安排培训。到目前为止一直没有能把系统做好的迹象,怎么确定出来这样的计划的?”
2020年2月3日,庚公司兰宁致丙公司蒋某、赵宏光、黄秋实和庚公司张大伟邮件:“蒋某,你好。节前一直未收到你方关于报表的计划,以及测试、验证进展。附件是我们针对2019年11月份前的数据测试的基本情况,可以说每张报表都有问题,请查阅附件、查找问题、验证问题、解决问题。并且你们做出的测试,应该比我们的还要细致。请自我检查”。
2020年2月8日,丙公司蒋岫以邮件形式向庚公司张大伟、兰宁和丙公司李海艳、赵宏光、黄秋实提交上线前计划,明确各环节时间点为:“报表迁移数据比对及问题处理2.3-2.9;操作手册补充2.5-2.9;反馈说测试用例缺少两部分(报表及oa传输过来的数据)2.10-2.12;剩余bug修改2.3-2.11;结算及开票后报表展示验证2.4-2.9;领歌上done的问题回归验证2.9-2.11;准备业务验收环境2.12;业务验收2.12-2.26;业务验收阶段问题修改2.17-2.26;数据迁移演练,上线环境准备2.27;系统上线2.28”。
对于上述计划,丙公司蒋某结合庚公司张大伟提出的2月21日上线的要求,于2月10日进行了修改:“迁移数据比对及问题处理2.3-2.10;操作手册补充,培训视频补充2.5-2.11;反馈说测试用例缺少两部分(报表及oa传输过来的数据)2.10-2.12;剩余bug及每日问题及时处理2.3-2.11;后台管理系统操作手册2.10;领歌上done的问题回归验证2.9-2.1业务按照操作手册与培训视频作为学习资料,进入业务验收阶段,项目组每日监控跟踪整理跟踪表2.12-2.20;验收阶段问题及时修改,如因问题复杂当日解决不了,项目组应及时提出并附以原因和计划修复时间2.12-2.20;系统试运行方案,核心系统详细设计文档2.12-2.14;数据迁移演练,上线环境准备,系统上线试运行2.21”。
2020年2月12日,丙公司蒋某再次以邮件形式向庚公司张大伟、兰宁和丙公司赵宏光、黄秋实提交“核心系统验收流程计划”,称:“1.新核心系统功能验收:2.12-2.15;2.新核心与老0a系统数据交互验收:2.16-2.18;3.新核心系统迁移历史数据验收:2.19-2.20”。
2020年2月27日,丙公司蒋某致庚公司兰宁邮件,附最新的升级部署相关资料。同日庚公司华勇对该等“升级部署相关资料”指出“请说清楚和之前的版本有哪些修改,每次这么一大包发出来,不能一个一个都给你比对一遍吧”。
2020年2月29日至3月1日凌晨,丙公司团队与庚公司团队共同就涉案软件安排进行上线验收。2020年3月1日0:15昆仑黄权伟截图明确,系统报错。丙公司蒋某随后回复:“工程不报错,是日志redis报错了”。2020年3月1日0:55庚公司兰宁在群里0丙公司蒋某:“今天升级又失败。请尽快把问题解决”。庚公司于2020年3月25日向丙公司发出《关于新系统不能交付的解决意见》:要求解除《合同》,丙公司依据合同约定承担违约责任,包括《合同》第8.3.4条约定的违约金25000元、第13.2条约定的违约金和第13.3条约定违约金125000元,并退还已支付的第一期开发费用150000元;还要求丙公司依据合同第7条的约定,将现阶段全部开发成果交付庚公司。
2020年3月27日,丙公司作出《<关于新系统不能交付的解决意见>的回函》,表示:“1.如贵司(指‘庚公司’,下同)要求终止《信息化项目技术开发服务合同》,我司(指‘丙公司’,下同)愿意与贵司共同协商确认服务合同的实施进度及实施完成部分所对应的合同价款,双方依据合同实际执行情况进行结算。2.如贵司希望项目继续执行……”。
2020年4月13日,双方就前述情况的解决方案以微信会议形式进行了专门沟通,双方未能达成一致意见。
2020年4月23日,庚公司根据《合同》中的约定向丙公司发出《解除通知》,明确告知丙公司:1.解除《合同》;2.《合同》解除后,丙公司仍应承担《合同》中约定的违约责任;3.丙公司应将截止2020年3月15日的全部开发成果交付庚公司。
2020年5月14日,丙公司就《解除通知》向庚公司回复《关于<信息化项目技术开发服务合同》解除通知>的回函》,提出了3个方案供庚公司参考:1.继续履行《合同》;2.双方按项目实际现状部分解除《合同》;3.双方全部解除《合同》,丙公司退还庚公司已支付的第一期费用15万元,庚公司将丙公司已交付的部分开发成果和文档退还或销毁。对于上述方案,庚公司不予认可和接受,某律师事务所于2020年5月21日向丙公司发送的律师函中,再次重申了庚公司在《解除通知》中提出的全部主张。
双方确认以驻场办公方式开发涉案软件。双方确认涉案软件交付日期为合同约定的2019年12月1日。双方确认以涉案《合同》附件1委托开发内容和《新保险经纪核心系统需求规格说明书》的功能需求作为功能交付验收的依据。但庚公司认为在《合同》签订前已经存在《新保险经纪核心系统需求规格说明书》v2.0版本,因此该版本内容应当属于规格说明书和功能附件的补充,是双方达成合意后的意见,可以作为双方确认是否存在增加、变更需求及验收的依据。丙公司则表示双方达成合意的是《新保险经纪核心系统需求规格说明书》v1.0版本,v2.0版本-v7.0版本都是后续变更的版本,因为丙公司人员驻场时间为2019年8月9日,v1.0版本为邀标函原始版本,报价及合同安排均是以该版本为准。庚公司认可v2.0版本与v1.0版本相比有相应功能的增加和变更,后续版本存在功能的细化。
庚公司主张,合同解除后,经过庚公司的不断测试、完善和改进,一共对涉案项目的软件测试出数百个遗留bug并一一进行完善。为了完成相应的测试、完善和改进工作,寅公司内部的技术开发人员外,卯公司、辰公司、巳公司作为第三方支持机构,协助庚公司进行开发、改进和测试工作,直至2020年年底(距离合同约定的履行届满日超过1年),庚公司才完成涉案项目的软件开发工作并达到上线条件。2020年12月16日,庚公司业务管理中心向庚公司各业务单位发出《关于新业务系统全面上线的通知》,定于2021年1月4日全面正式上线运行“新一代业务核心系统”。
就验收是否合格问题,丙公司主张其于2019年12月8日曾向庚公司发起验收,但因疫情原因和庚公司的不配合导致验收未完成,验收成果丙公司已经准备好,延期交付的原因在于庚公司提出了超出涉案《合同》要求的功能,包括增加和变更需求。庚公司自认进行过至少三次验收,但每次都因存在问题未能通过,经2020年3月催告后丙公司在未完成工作的情况下撤场。
一审法院认为,根据《最高人民法院关于适用<中华人民共和国民法典>时间效力的若干规定》第一条第二款规定:“民法典施行前的法律事实引起的民事纠纷案件,适用当时的法律、司法解释的规定,但是法律、司法解释另有规定的除外。”第二十条规定:“民法典施行前成立的合同,依照法律规定或者当事人约定该合同的履行持续至民法典施行后,因民法典施行前履行合同发生争议的,适用当时的法律、司法解释的规定;因民法典施行后履行合同发生争议的,适用民法典第三编第四章和第五章的相关规定。”本案争议事实发生在《中华人民共和国民法典》施行前,应适用《中华人民共和国合同法》(以下简称《合同法》)等相关法律、司法解释的规定。
本案中,丙公司和庚公司签订的《合同》及《补充协议》,系双方当事人在平等自愿基础上作出的真实意思表示,具备我国法律规定的合同的法律特征,且内容不违反国家法律之强制性规定,应属有效。涉案《合同》系以开发软件系统为标的的计算机软件开发合同,计算机软件开发合同并不是《合同法》所直接规定的有名合同,在具体的法律适用上,涉及与《合同法》分则的承揽合同、技术合同、委托合同等类型的区分问题。本院认为,该合同不适用分则关于承揽合同、委托合同、技术合同的规定。综上,对于涉案合同纠纷的法律适用问题,适用《合同法》总则的规定,并参照分则第十八章技术合同和相关司法解释处理。
一审法院认为,本案涉及的争议法律问题为:
一、涉案《合同》是否解除
当委托方以开发方逾期履行软件开发或交付义务主张解除合同时,应结合合同约定、延期原因、是否进行过催告、该延期是否导致委托方合同目的无法实现等因素综合予以考虑,因开发方原因导致履行延期,未导致委托方合同目的无法实现,委托方未进行催告直接主张解除合同的,不予支持,但委托方进行催告后,开发方依然严重逾期履行,或因开发方逾期履行导致委托方合同目的无法实现,委托方主张解除合同的,予以支持。丙公司和庚公司约定的交付时间为2019年12月1日,根据双方庭审的意见可知,双方对于《新保险经纪核心系统需求规格说明书》的版本及相关内容的是否属于增加、变更需求存在一定的争议,在此情况下庚公司和丙公司协商推迟了验收交付时间。在经过的三次验收中,庚公司均及时的向丙公司反馈了其提交的开发成果未能达到合同约定的标准并说明了具体的问题。而后,双方对于合同如何履行存在分歧,多次协商解决未果,合同的实际履行陷入停滞阶段,庚公司作出了通知丙公司解除合同的意思表示,在通知中主张按照合同约定解除合同。综合双方诉辩意见,存在如下二个争议焦点:
1.庚公司是否享有约定解除权的问题。《中华人民共和国合同法》第九十三条第二款规定:“当事人可以约定一方解除合同的条件。解除合同的条件成就时,解除权人可以解除合同。”及《合同》第十四条对合同的解除的约定:……(3)乙方(丙公司)逾期交付开发成果经催告仍不交付的”。根据庚公司提交的证据显示丙公司提交的开发成果存在大量bug,不符合合同约定的交付内容。依据《合同》第十四条约定的文义解释,庚公司享有单方解除权的情形为丙公司未能交付合同约定的开发成果,但并不包括交付不符合合同约定的成果,即不应包括瑕疵给付。根据在案事实,丙公司存在瑕疵交付开发成果的情形,但该情形不属于双方合同约定的单方解除权的条件,故庚公司依据该条的单方约定解除权主张通知解除涉案《合同》缺乏事实和法律依据,法院不予支持。至于庚公司关于基于《合同》第2.2.4条“若因乙方原因而未达到预期的进度,经甲方催促之后未能采取必要的补救措施或采取的措施未能达到原进度,甲方有权决定暂停或终止乙方的部分或全部工作”之约定所主张的约定解除权,因为该条仅约定了庚公司的单方终止受托方丙公司工作的权利,并未约定合同解除权,故庚公司基于该条约定解除权解除涉案《合同》及其补充协议的主张,缺乏事实和法律依据。
2.庚公司是否依据《中华人民共和国合同法》的规定享有法定解除权的问题。《中华人民共和国合同法》第九十四条规定:“有下列情形之一的,当事人可以解除合同:(三)当事人一方迟延履行主要债务,经催告后在合理期限内仍未履行;(四)当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的”。一审法院注意到如下事实:丙公司在2019年11月30日后延迟履行提供符合约定的软件和文件的合同义务;庚公司在2019年11月30日至2020年3月15日期间多次催告、督促丙公司履行合同义务,但是丙公司仍未提供符合《合同》要求的成果。且双方经过协商未能就涉案《合同》的状态达成一致意见,丙公司的行为已然构成上述《中华人民共和国合同法》第九十四条第三项规定的“当事人一方迟延履行主要债务,经催告后在合理期限内仍未履行”的情形。因此,一审法院认为,庚公司就涉案《合同》及《补充协议》享有法定解除权。《中华人民共和国合同法》第九十六条第一款规定:“当事人一方依照本法第九十三条第二款、第九十四条的规定主张解除合同的,应当通知对方。合同自通知到达对方时解除”。庚公司于2020年3月25日致函丙公司,表示拟解除合同。双方经进一步沟通,无法达成一致,庚公司于2020年4月23日发出《解除通知》,要求解除《合同》,双方确认丙公司于2020年4月25日收到《解除通知》。根据上述事实,依据《中华人民共和国合同法》第九十六条第一款“合同自通知到达对方时解除”的规定,一审法院认为,涉案《合同》及《补充协议》已经于2020年4月25日解除。根据上述认定,丙公司的违约行为导致涉案《合同》及《补充协议》解除,丙公司无权要求庚公司继续支付任何费用,故丙公司的相关诉讼请求,因缺乏事实和法律依据,一审法院不予支持。
二、合同违约责任的承担根据
《中华人民共和国合同法》第一百一十四条第一款规定:当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金,也可以约定因违约产生的损失赔偿额的计算方法。约定的违约金低于造成的损失的,当事人可以请求人民法院或者仲裁机构予以增加;约定的违约金过分高于造成的损失的,当事人可以请求人民法院或者仲裁机构予以适当减少。《合同》第13.3条约定:“丙公司交付的开发成果不符合约定标准的,应返还已收取的开发费用,并支付开发费用25%的违约金。”《最高人民法院关于适用<中华人民共和国合同法>若干问题的解释(二)》第二十九条规定:“当事人主张约定的违约金过高请求予以适当减少的,人民法院应当以实际损失为基础,兼顾合同的履行情况、当事人的过错程度以及预期利益等综合因素,根据公平原则和诚实信用原则予以衡量,并作出裁决。”在确定计算机软件开发合同解除的法律后果时,应该综合考虑开发周期、付款阶段约定以及具体合同履行情况,应当结合开发方已经完成的工作量情况、双方当事人过错、已完成的成果是否具有剩余利用价值等因素,综合予以考虑。一审法院注意到如下几点事实:一是受托方丙公司采取驻场开发的方式向庚公司提供计算机软件开发服务,并且在纠纷发生前已由庚公司取得已开发部分成果的源代码等资料,昆午公司完成了标的物的开发工作;二是双方对于《新保险经纪核心系统需求规格说明书》的版本及相关内容的是否属于增加、变更需求存在一定的争议,在此情况下庚公司和丙公司协商推迟了验收交付时间。在初始的延期事宜上,难谓仅系丙公司单方原因导致未能在2019年12月1日前完成全部计算机软件开发工作;三是根据在案资料显示,丙公司开发完成了部分的计算机软件的开发工作,但仍存在诸多BUG需要进一步修改等问题,且未在约定的验收时间内提供符合验收条件的成果。故,庚公司主张丙公司支付违约金及经济损失共1025000元的请求已明显高出《合同》中对该计算机软件系统的对价50万元,且与涉案《合同》的事实履行状态、违约情形等不相一致,一审法院综合开发方已经完成的工作量情况、双方当事人过错、已完成的成果是否具有剩余利用价值等因素认定,丙公司应向庚公司返还已经收取的开发费用15万元,并支付涉案合同总价50万元的25%,即12.5万元的违约金及经济损失。至于庚公司的其他赔偿主张,法院不予支持。至于,庚公司请求丙公司将截至2020年4月23日前的全部开发成果交付庚公司的诉讼请求问题,法院认为,一方面,《合同》中已经明确约定,全部开发成果的知识产权归庚公司所有。另一方面,涉案《合同》第6.1条约定:“乙方应在本合同终止或接获甲方书面通知时起【30】个工作日内,将甲方已交付乙方的资料及其所有的复制本(不论由甲方提供或由乙方自行制作),均应返还给甲方。无法返还的资料,包括但不限于已安装于硬设备的软件程序,乙方应立即清除销毁,并遵守合同有关保密的规定”。鉴于前述以论及涉案《合同》及《补充协议》已经于2020年4月25日解除,涉案项目中的开发成果中载有庚公司的资料和信息,根据上述约定,理应全部交付给庚公司。庚公司的该项主张,具有事实和法律依据,一审法院予以支持。综上,丙公司的诉讼请求缺乏事实和法律依据,一审法院不予支持。庚公司的部分反诉请求具有事实和法律依据,法院予以支持。一审法院依据《中华人民共和国合同法》第八条、第九十四条、第九十六条第一款、第一百零七条、第一百一十四条,《最高人民法院关于适用《中华人民共和国合同法〉若干问题的解释(二)》第二十九条的规定,判决:1.确认丙公司与庚公司于2019年8月30日签订《合同》及《补充协议》于2020年4月25日解除;2.判令丙公司于判决生效之日起十日内返还庚公司已经支付的第一期费用15万元;3.判令丙公司于判决生效之日起十日内向庚公司支付违约金及经济损失共计12.5万元;4.判令丙公司将截至2020年4月23日前的全部开发成果交付庚公司;5.驳回丙公司的全部诉讼请求;6.驳回庚公司的其他反诉请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条之规定,加倍支付迟延履行期间的债务利息。
本院另查明,《合同》第8.2条对验收及保证约定:“验收标准:(1)项目各阶段评审通过;(2)系统设计满足需求规格说明书要求;(3)项目最终交付物符合《需求规格说明书》中的要求;……”,但其中并未明确《新保险经纪核心系统需求规格说明书》的版本。二审庭审中,丙公司主张《合同》签订时是以v1.0版本为验收基础文件,而庚公司则主张是以v2.0版本为验收基础文件。未公司提交的证据显示,庚公司兰宁于2019年8月15日向将“更新版说明书”即《新保险经纪核心系统需求规格说明书》v2.0版本通过电子邮件发送给了丙公司唐诗、蒋某。该时间在双方签订《合同》之前。对于《新保险经纪核心系统需求规格说明书》v2.0版本至v7.0版本是否存在功能增加的问题,丙公司认可各版本之间并未增加系统模块和功能模块,只是在v4.0版本中增加了“经纪业务综合报表”。庚公司则认为,“经纪业务综合报表”需求在v1.0版本中已经存在。经查,“经纪业务综合报表”需求在v1.0版本及v2.0版本中均有载明。
对于交付的开发成果,丙公司主张除《项目总结报告》《系统安装及运营维护手册》外,其已经向庚公司交付了《合同》第7.1条约定的丙公司应当向庚公司交付的开发成果。庚公司认可《项目总结报告》《系统安装及运营维护手册》尚未交付,同时认为,丙公司向其交付的其他开发成果存在不符合合同约定的情形。
本院经审理查明的其他事实与一审法院查明的事实一致。
以上事实,有各方当事人提交的证据及庭审笔录等在案佐证。
本院认为,本案争议事实发生在《中华人民共和国民法典》施行前,故依照《最高人民法院关于适用<中华人民共和国民法典>时间效力的若干规定》的相关规定,本案应适用《中华人民共和国合同法》及其司法解释进行审理,一审法院适用法律正确。本案焦点问题是庚公司是否享有法定解除权、丙公司是否应当承担相应违约责任、丙公司是否应当向庚公司交付截至2020年4月23日前的全部开发成果。
一、庚公司是否享有法定解除权
《中华人民共和国合同法》第九十四条规定:“有下列情形之一的,当事人可以解除合同:(一)因不可抗力致使不能实现合同目的;(二)在履行期限届满之前,当事人一方明确表示或者以自己的行为表明不履行主要债务;(三)当事人一方迟延履行主要债务,经催告后在合理期限内仍未履行;(四)当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的;(五)法律规定的其他情形。”以上是合同法中关于法定解除权的规定。法定解除是法律直接规定解除合同的条件,当条件具备时,解除权人可直接行使解除权。约定解除是双方法律行为,当事人在合同中约定合同履行过程中出现某种情况,当解除合同的条件出现时,享有解除权的当事人可以行使解除权解除合同。本案中,《合同》约定丙公司的履行期间至2019年11月30日届满,但丙公司在2019年11月30日后迟延履行提供符合约定的软件、文档的合同义务,庚公司在2019年11月30日至2020年3月15日期间多次催告、督促丙公司履行合同义务,但是丙公司仍未提供符合《合同》要求的开发成果。虽然丙公司在一审中主张庚公司提出了多项需求变更导致其增加了投入,并导致无法如期进行系统上线调试,但庚公司对此并不认同,且根据《合同》第1.1.1条约定,庚公司在合同执行过程中,有权改变、增加、减少或变更委托开发内容,上述变更如涉及到项目的重大改变及工作量增加,经双方确认,庚公司应给予丙公司相应的服务费用补偿,但丙公司并未提供证据证明存在“重大改变及工作量增加”并已经双方确认,亦未提供证据证明双方就履行期限经协商进行了变更。此外,丙公司虽主张应以《新保险经纪核心系统需求规格说明书》v1.0版本为验收基础文件,但庚公司兰宁于2019年8月15日已经将“更新版说明书”即《新保险经纪核心系统需求规格说明书》v2.0版本通过电子邮件发送给了丙公司的事实可以证明,庚公司于双方签订《合同》之前就已经向丙公司提出了v2.0版本需求规格说明书,故可以认定双方在签订《合同》时所指向的验收基础文件应为《新保险经纪核心系统需求规格说明书》v2.0版本。对于《新保险经纪核心系统需求规格说明书》v2.0版本至v7.0版本是否存在功能增加的问题,丙公司认可各版本之间并未增加系统模块和功能模块,且丙公司所称增加的“经纪业务综合报表”需求在v1.0版本及v2.0版本中均有载明。因此,现有证据不能证明双方在履行合同过程中发生了“重大改变及工作量增加”的事实。丙公司还认为,其已经向庚公司交付了《合同》约定的软件安装包、源代码、《合同》第七条约定的绝大部分文档以及项目周报等文件,已经达到了《合同》约定的90%的工作成果,不属于迟延履行主要债务的问题。本院认为,所谓主要债务,一般应为影响合同目的实现的债务,虽然有时可以量的多少为衡量标准,但在某些情况下,迟延履行的部分在合同中所占比例不大,但却至关重要,未履行将直接影响合同目的实现,亦应认定为主要履行主要债务。根据《合同》约定,丙公司要最终交付验收成果,验收标准包括项目各阶段评审通过、系统设计满足要求规格说明书要求、系统运行正常无明显系统错误等。根据双方工作人员往来电子邮件所涉文件、涉案软件上线验收结果等事实可以证明,双方多次就涉案软件中存在的问题进行沟通,验收工作不断延后,直至2020年3月1日的上线验收再次显示系统报错。也就是说,涉案软件始终未通过验收并正常工作。因此,即使丙公司主张其已经达到了《合同》约定的90%的工作成果,但涉案软件由于存在系统问题而不能交付,直接导致庚公司不能对“新保险经纪系统软件”进行正常使用,从而无法实现合同目的。丙公司的行为已经构成《中华人民共和国合同法》第九十四条第三项规定的“当事人一方迟延履行主要债务,经催告后在合理期限内仍未履行”的情形。庚公司以上述事实为依据主张解除合同,符合《中华人民共和国合同法》第九十四条规定的法定解除条件。《中华人民共和国合同法》第九十六条规定:“当事人一方依照本法第九十三条第二款、第九十四条的规定主张解除合同的,应当通知对方。合同自通知到达对方时解除。对方有异议的,可以请求人民法院或者仲裁机构确认解除合同的效力。法律、行政法规规定解除合同应当办理批准、登记等手续的,依照其规定。”庚公司依法向丙公司发出《解除通知》,丙公司于2020年4月25日收到该通知,应认定《合同》于该日解除。
二、庚公司违约责任的承担
《中华人民共和国合同法》第一百一十三条第一款规定:“当事人一方不履行合同义务或者履行合同义务不符合约定,给对方造成损失的,损失赔偿额应当相当于因违约所造成的损失,包括合同履行后可以获得的利益,但不得超过违反合同一方订立合同时预见到或者应当预见到的因违反合同可能造成的损失。”第一百一十四条规定:“当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金,也可以约定因违约产生的损失赔偿额的计算方法。约定的违约金低于造成的损失的,当事人可以请求人民法院或者仲裁机构予以增加;约定的违约金过分高于造成的损失的,当事人可以请求人民法院或者仲裁机构予以适当减少。当事人就迟延履行约定违约金的,违约方支付违约金后,还应当履行债务。”《合同》第13.2条约定:“乙方逾期交付开发成果的,每逾期一日,应向甲方支付开发费用总额1%的违约金,并继续履行合同;经催告30个工作日仍未交付的,除按上述标准支付违约金外,乙方应原数返还已收取的开发费用;造成甲方损失的,乙方应予以赔偿。”第13.3条约定:“乙方除合同第9条和第12条规定情形外,不能交付开发成果或交付的开发成果不符合约定标准的,应返还已收取的开发费用,并支付开发费用总额25%的违约金;造成甲方损失的,乙方应以赔偿。”本案中,丙公司的行为已经构成“不能交付开发成果或交付的开发成果不符合约定标准”的情形,一审法院判令丙公司向庚公司支付涉案合同总价25%,即12.5万元的违约金具有合同依据和事实依据。东软主张违约金过高应当对违约金是否过高承担举证责任,但其并未提交证据支持其主张。而且,庚公司在一审诉讼中向丙公司主张违约金及经济损失共计102.5万元,一审法院在综合考虑开发周期、付款阶段约定以及具体合同履行情况,结合开发方已经完成的工作量情况、当事人过错、已完成的成果是否具有剩余利用价值等因素的情况下,判令丙公司承担上述违约责任并无不当。
三、丙公司是否应当向庚公司交付截至2020年4月23日前的全部开发成果
《中华人民共和国合同法》第九十七条规定:“合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。”本案中,尽管庚公司认为丙公司向其交付的开发成果存在不符合合同约定的情形,但双方均确认除《项目总结报告》《系统安装及运营维护手册》外,丙公司已经向庚公司交付了《合同》第7.1条约定的其应当向庚公司交付的源代码、文档等。《合同》第7.3条对于开发成果的归属进行了明确的约定,即“本合同的最终开发成果、本合同履行过程中形成的阶段成果、以及与上述成果和过程有关的知识产权,归甲方所有”。因此,丙公司在《合同》解除前已经交付给庚公司的阶段成果归庚公司所有。在《合同》解除后,《项目总结报告》《系统安装及运营维护手册》尚未交付,亦无证据证明上述文档已经由丙公司制作完成,申公司并未提交证据证明其资料和信息与上述文档有何关联,故丙公司依法有权不再继续履行上述文档的交付义务。庚公司的该项诉讼请求缺乏合同和法律依据,本院不予支持。鉴于上述因素,一审判决判令丙公司将截至2020年4月23日前的全部开发成果交付庚公司已无必要,本院予以纠正。此外,《中华人民共和国合同法》第九十一条规定:“有下列情形之一的,合同的权利义务终止:……(二)合同解除;……”《合同》第6.1条约定:“乙方应在本合同终止或接获甲方书面通知时起【30】个工作日内,将甲方已交付乙方的资料及其所有的复制本(不论由甲方提供或由乙方自行制作),均应返还给甲方。无法返还的资料,包括但不限于已安装于硬设备的软件程序,乙方应立即清除销毁,并遵守合同有关保密的规定”。涉案《合同》第6.1条中约定的“合同终止”包括合同解除的情形。该条款关系到合同终止后庚公司资料的处理,应属于清理条款。《中华人民共和国合同法》第九十八条规定:“合同的权利义务终止,不影响合同中结算和清理条款的效力。”《中华人民共和国合同法》第九十二条规定:“合同的权利义务终止后,当事人应当遵循诚实信用原则,根据交易习惯履行通知、协助、保密等义务。”基于法律规定的后合同义务,当事人在合同解除后仍应根据诚实信用原则妥善处理相关事项。因此,在《合同》解除后,丙公司仍有义务将截至2020年4月23日前的在涉案项目开发过程中持有的庚公司资料返还庚公司,不能返还的应予销毁,并对知悉的信息予以保密并不得使用。
综上所述,丙公司部分上诉请求成立,本院予以支持。依照《中华人民共和国合同法》第九十二条、第九十七条、《中华人民共和国民事诉讼法》第一百七十七条第一款第二项规定,判决如下:
维持北京知识产权法院(2020)京73民初648号民事判决第一、二、三、五项;
撤销北京知识产权法院(2020)京73民初648号民事判决第四、六项;
酉公司的其他反诉请求。
如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条之规定,加倍支付迟延履行期间的债务利息。
一审本诉案件受理费10260元,甲公司负担(已交纳)。一审反诉案件受理费15375元,甲公司负担14000元(于本判决生效后七日内交纳),乙公司负担1375元(已交纳)。二审案件受理费5425元,甲公司负担(已交纳)。
本判决为终审判决。
审判长 杨某
审判员 闻汉东
审判员 高 翡
二〇二二年十月二十六日
书记员 金某
本案法律依据
最高人民法院关于适用《中华人民共和国合同法》若干问题的解释(二) 第29条
中华人民共和国合同法 第107条
中华人民共和国合同法 第113条1款
中华人民共和国合同法 第114条1款
中华人民共和国合同法 第8条
中华人民共和国合同法 第91条
中华人民共和国合同法 第92条
中华人民共和国合同法 第93条2款
更多
在法小和里继续
把这条案例当成参考,用你自己的案情做一次相似检索,可以同时看到相关法条、司法解释和更多同类案例。
在知识库中打开