最高人民法院知识产权法庭课题组:计算机软件开发合同纠纷案件法律适用问题研究[合同纠纷]
委托方订立计算机软件开发合同所追求的履行利益实际上受到剥夺,换言之,订立合同的目的无法实现,则极有可能导致合同的解除和违约责任的承担。 在委托方和开发方约定了由委托方取得源代码著作权的合同中,按照合同约定,开发方不仅应当交付源代码,而且应就其交付的源代码负有保证第三人不享有任何权利的义务,即此时开发方负有权利瑕疵担保责任。若开发方在履行合同过程中无法对所开发的软件尽到权利瑕疵担保责任,则委托方取得软件著作权的合同目的不能实现,委托方有权依据《民法典》第563条第1款第4项规定解除合同。 在委托方和开发方约定了由委托方取得源代码著作权的合同中,按照合同约定,开发方不仅应当交付源代码,而且应就其交付的源代码负有保证第三人不享有任何权利的义务,即此时开发方负有权利瑕疵担保责任。若开发方在履行合同过程中无法对所开发的软件尽到权利瑕疵担保责任,则委托方取得软件著作权的合同目的不能实现,委托方有权依据《民法典》第563条第1款第4项规定解除合同。 三、计算机软件开发合同的解除 合同解除,是指合同有效成立后,因一方或双方当事人的意思表示,使合同关系终了,未履行的部分不必继续履行,已履行的部分依具体情形进行清算的制度,是合同特有的终止原因。《民法典》第557条区分了合同终止和合同解除,第2款限定于合同解除的情形,同时在解除的效果上区分有溯及力和没有溯及力的解除,其中没有溯及力的解除相当于狭义的“终止”。由此,合同终止是合同解除的上位概念。合同解除以有效成立并继续存在的合同为前提,如果合同权利义务已经终止,则不存在解除合同的问题。下面以计算机软件开发合同中两种较常见的解除方式为例进行分析。 (一)诉讼中的协商解除 协商解除的本质是当事人双方消灭有效合同的意思表示一致,即双方当事人就消灭既有的合同法律关系达成了新的合意,与解除权无关。由于计算机软件开发合同的履行往往需要双方的相互配合,该类合同纠纷中,协商解除的比例比较高。据统计,至少有近10%的纠纷案件当事人双方在诉讼中均主张解除合同。此时,即便合同履行情况没有达到根本违约的程度,但基于对当事人意思自治的尊重,法院也可以判令合同解除。特别需要注意的是,此时需要考察双方当事人是否对合同解除的后果达成一致意见,分情况作出处理。第一,如果双方都同意解除合同,在协商解除的意思表示不以对解除后果形成一致意见为前提时,即使双方未就协商解除后的法律后果作出约定,只要双方解除合同的意思是明确形成一致的,一般也可以认为构成协商解除。第二,如果当事人协商解除的意思表示以对解除后果形成一致意见为前提,若当事人仅达成解除合同的合意,但对于解除合同的后果未能达成一致意见的,也不能产生合意解除合同的法律效果。在合意解除的情况下,是否恢复原状、赔偿损失等问题,均须双方当事人协商确定。 如果合同双方仅协商解除而未约定解除后果,也没有约定当事人协商解除的意思表示是否以对解除后果形成一致意见为前提,《民法典合同编通则解释》第52条规定,当事人一方主张行使法律规定或者合同约定的解除权,经审理认为不符合解除权行使条件但是对方同意解除,或者双方当事人均不符合解除权行使的条件但是均主张解除合同,人民法院可以认定合同解除,并依据《民法典》第566条、第567条和有关违约责任的规定处理。 当出现上述情形,当事人未对诸如违约赔偿等问题作出安排的,对于合意解除合同后的损害赔偿、违约责任承担问题,原则上应当在一案中一并处理,法院可以向当事人释明,以充分保障当事人的诉讼权利。如果
当事人坚持不提出请求,可以在裁判文书中指出通过另行起诉的方式予以解决。之后当事人向法院起诉要求损害赔偿的,法院应当允许,不能以默示的方式排除当事人对损害赔偿的请求权。实践中,存在一方当事人以对方当事人根本违约为由起诉解除合同,案件审理过程中查明不存在根本违约事实,但双方当事人均同意解除合同的情形。在这种情形下,起诉解除合同的一方并不享有法定解除权,法院可以依法向双方释明此时涉案合同因双方合意而解除,合意解除合同后违约赔偿等问题的安排如上所述,以充分保障当事人的诉讼权利。 在此需要指出,附解除条件的合同(《民法典》第158条最后一句)、协商解除合同(《民法典》第562条第1款)、约定解除权的合同(《民法典》第562条第2款),需要在理论上明确其法律属性的区别,并在实践中根据合同当事人的具体约定准确识别,不应混淆,否则会在法律分析的起点上犯错。其中的关键区别在于:约定一方解约的条件成就,解除权人可以解除(也可以选择不解除),通知对方时解除(解除权的行使);附解除条件成就,合同失效,即自动消灭但无溯及力,不需意思表示。文义上的区别是条件成就后,是合同(自动)解除,还是一方有权解除。 (二)特殊情况下的合同解除 计算机软件开发合同当事人之间的信赖是合同成立的重要基础,如果合同成立后由于主客观原因变化,委托人对受托人的信赖基础已经丧失或者认为已无继续履行合同的必要时,软件开发工作的进程和结果往往受影响,在解除合同对秩序影响不大的情况下,法律鼓励资源从效率低的领域向效率高的领域流动,允许不再需要合同履行结果的一方放弃或者终止尚未履行或正在履行中的服务,委托方可以解除合同,但须赔偿给对方造成的损失。如此处理,既避免了合同双方无谓地付出更多的时间、精力或金钱,又避免了社会资源的浪费,符合民法典合同编对自由与效率的价值追求。在不存在法定解除权和约定解除权的情况下,是否支持一方解除合同的诉讼请求,特别应考虑是否因双方丧失信赖而出现了合同僵局或债务不适合强制履行的情形。 1.合同僵局 解除权是单方解除合同的权利,属形成权。在民法典颁布之前,关于违约方能否解除合同存有较大争议。对此,《民法典》第580条在原《合同法》第110条规定基础上新增第2款予以明确。在计算机软件开发合同中,出现合同僵局,违约方可以根据《民法典》第580条第2款的规定起诉请求解除合同。履行非金钱债务的当事人一方常常为开发方,委托方则往往履行的是支付对价的金钱债务,但这并不意味着所有的开发方都仅负非金钱债务、所有的委托方都仅负金钱债务,双方当事人的权利义务须按合同约定而定,不可一概论之。在开发方不履行其非金钱债务或者履行非金钱债务不符合约定时,因继续履行最能实现合同订立目的,委托方可以请求继续履行;反之,在委托方不履行自身所负的非金钱债务或者履行非金钱债务不符合约定时,基于合同严守的原则,开发方亦可要求委托方继续履行。出现《民法典》第580条第1款所列三种情形之一,且达到第2款所称“致使不能实现合同目的的”,双方当事人中的任何一方都可以请求人民法院或者仲裁机构终止合同,违约方亦在可申请解除合同的请求者之列。 2.债务不适合强制履行 《民法典》第580条第1款规定了在符合“法律上或者事实上不能履行”“债务的标的不适于强制履行或者履行费用过高”“债权人在合理期限内未请求履行”之一的情况下,违约方继续履行非金钱债务所需的财力、物力超过合同双方基于合同所能获得的利益,合同已不具备继续履行的条件。参照《全国法院民商事审判工作会议纪要》(法〔2019〕254号)第48条,违约方起诉解除合同需要同时具备三个条件:第一,违约方起诉请求解除合同主观上必须是非恶意的;第二,违约方继续履行合同显失公平;第三,守约方拒绝解除合同违反了诚信原则。《中华人民共和国民法典合同编解读》一书在肯定继续履行不能的基础上,指出适用该款的前提有三:首先是对方当事人不能请求违约方继续履行,其次是致使不能实现合同目的,最后是当事人提出请求。对“致使合同目的不能实现”的强调,意味着如果不能请求继续履行的仅为非主要债务,则不履行一般不会导致合同目的不能实现,此时守约方既不享有法定解除权,也不能依据该款申请解除合同,违约方本来就不享有解除权,同样也不能依据该款申请解除合同。换言之,在出现履行不能严重到致使合同目的不能实现时,合同的违约方才可能得以据此申请法院或者仲裁机构解除合同。 《民法典》第580条的适用结果体现为人民法院收到当事人申请后的考量因素和违约方的违约责任承担。第一,考察是否存在合同不能继续履行且致使合同目的不能实现的情形,以及不能继续履行的原因何在。例如,债务人是否已经进行了部分履行、债务人是否恶意违约、债权人是否能够以成本较低的方式获得替代履行、债务人是否对他人有赔偿请求权、债权人拒绝解除合同是否为获得不相当的利益而违反诚信原则、合同不终止是否会导致双方的权利义务或者利益关系明显失衡等因素。第二,适用该款不影响违约方承担除继续履行外的其他违约责任。《民法典》第580条第2款的规定并未影响对方当事人根据法律规定和约定所享有的法定解除权和约定解除权,对方当事人依然可以行使解除权解除合同。如果对方当事人依法行使了解除权,则债务人之后依据该款规定请求法院确认终止合同的,法院可以依据《民法典》第565条确认合同解除以及解除的时间。 在麦某公司诉鼎某公司计算机软件开发合同纠纷案中,麦某公司主张鼎某公司的违约行为致使合同目的无法实现,麦某公司享有解除权。经审理,鼎某公司不存在导致合同解除的违约行为,但二审法院认为如果不允许麦某公司请求解除合同,对合同双方都不利,因此考虑如下因素,对麦某公司解除合同的诉讼请求予以支持:一是涉案合同在双方发生分歧后,合同履行没有取得任何进展,实际已经出现合同僵局;二是双方对合同陷入僵局均存在一定过错,麦某公司不存在恶意违约;三是鼎某公司没有拒绝解除合同,而是提出如果麦某公司执意解除合同,应赔偿其遭受的损失;四是如果要求麦某公司继续履行合同,需要其履行的配合等义务在事实上不适于强制履行,麦某公司长期不履行义务可能对双方均造成严重不利后果。 四、合同解除后的责任认定 原《合同法》第97条规定:“合同解除后,尚未履行的,终止履行;已经履行的,根据履行情况和合同性质,当事人可以要求恢复原状、采取其他补救措施,并有权要求赔偿损失。”《民法典》第566条延续了上述规定。上述法律规定相当清楚,但通过调研和实践体察,计算机软件开发合同纠纷的司法实践并非那么清晰。对此,我们自2021年3月起在相关司法实践中,总结提出具有可操作性的处理合同解除后责任问题的“三步法”(终止履行—恢复原状—赔偿损失)和区分两种不同性质的合同(一时性合同与继续性合同)的思路。 例如,在康某公司诉燕某公司计算机软件开发合同与技术服务合同纠纷案中,二审判决指出,计算机软件开发合同属于一时性合同,一定期限内持续提供技术服务的技术服务合同属于继续性合同,该两类合同在合同确定性要求、可转让性、解除权产生的原因、违约处理、合同解除后果等方面有所不同。在合同解除后的溯及力方面,一时性合同的解除以溯及既往为原则(自始归于消灭),尽可能恢复原状;继续性合同的解除原则上仅面向将来发生效力,解除前业已发生的合同关系不受影响。对于继续性合同解除前已经履行的部分内容,原则上仍应根据合同约定和合同履行的法律规定处理有关权利义务。除继续性合同解除原则上没有溯及力外,合同解除后,双方当事人除终止履行外,主要应当依法处理两个层面的问题:一是对已经履行部分进行恢复原状或者采取其他补救措施,其中恢复原状主要是指对于能够恢复原状的已履行部分在物理形态上恢复到订约前的状态,采取其他补救措施主要是指对不能恢复原状的已履行部分进行折价补偿(即在价值形态上恢复到订约前的状态);二是双方如果采取恢复原状或者其他补救措施后,还因对方违约或者合同解除而遭受损失的,应当依法确定损失赔偿责任。 (一)终止合同履行 合同解除后首先要终止合同的继续履行,即合同解除后,对于尚未履行部分,终止履行。实践中,对于终止履行作为合同解除法律效果的理解并不清晰,一些当事人在提出解除合同的诉讼请求之余,还要求对方当事人继续支付剩余开发费用;或者在对于原审法院判决解除合同无异议的情况下,上诉请求对方当事人支付未付合同款项。上述做法显然与法律规定相悖。当事人之所以提出未付价款给付的继续履行请求,往往是因为当事人认为在合同履行中,对方支付的对价没有达到其已经履行部分的价值,因而这种继续履行的请求通常表现为继续支付一部分合同价款。对于开发方认为合同履行中委托方欠付的开发费,不应通过继续履行合同而应当通过折价补偿、赔偿损失等方式提出请求。 (二)对已履行部分恢复原状 双务合同中,当事人互负对待给付义务,合同解除后的债权债务如何处理?对此,通说认为,合同解除后与自始没有合同相同,未履行的部分不再履行,针对已履行的部分,当事人可以根据履行情况和合同性质,要求恢复原状或者采取其他补救措施,并有权要求赔偿损失。根据直接效果说,恢复原状请求权在性质上为返还原物请求权。恢复原状指对于能够恢复原状的已履行部分在物理形态上恢复到合同订立之前的状态,不仅包括返还原物,还包括返还财产所产生的孳息、支付一方在财产占有期间为维护该财产所花费的必要费用和因返还财产所支出的必要费用。“采取其他补救措施”也即请求修理、更换、重作、减价等,是指在原物返还不能(原物不存在或者没有必要返还)的场合,作价返还,在性质上为不当得利请求权。换言之,对不能恢复原状的已履行部分进行折价补偿,使之在价值上恢复到合同订立之前的状态,包括“所提供劳务的恢复原状”“受领的标的物为金钱时的恢复原状”“受领的有体物消失时的恢复原状”等。在两者的关系上,“采取其他补救措施”相当于“价值形态的恢复原状”,它与“恢复原状”即“实物形态的恢复原状”具有相同的目标,“采取其他补救措施”是“恢复原状”的代替,二者只能择一行使,不能同时行使。“根据履行情况”是指根据履行部分对合同债权的影响。解除合同后,如果债务人已经履行的部分对债权人根本无意义,可以请求恢复原状;如果根据合同履行状况无法或者不容易恢复原状,或者债权人的利益不是必须通过恢复原状才能得到保护的,不必恢复原状,可以采取其他补救措施。“根据合同性质”指根据合同标的的属性区分一时性合同和继续性合同。计算机软件开发合同的合同标的为给付符合约定的计算机软件,在性质上属于一时性合同。在分阶段履行的计算机软件开发合同中,若分阶段履行涉及软件功能需求的完善以及上线方式(如网页、微信小程序、手机应用程序)的增加,因其在抽象上仍为同一给付,该总给付自始确定,并不因履行分阶段或上线方式不唯一而转变为继续性合同。在计算机软件开发合同解除后,如何根据履行情况采取恢复原状或补救措施,应当结合案件情况综合考虑。 实践中,由于软件开发合同多数需要根据委托方的个性化要求定制开发成果,不具有普遍适用性,而在物理形态上恢复到订约前的状态要求双方互相返还已经交付的内容,此时需要考虑对于已经交付的开发成果是否存在返还必要的问题。根据实际情况,在计算机软件开发合同中恢复原状的适用大致分为以下情况: 1.委托方已经支付部分开发费,开发方尚未交付开发成果。此时,恢复原状主要体现为返还已支付价款。由于合同解除时开发方并未交付开发成果,即使开发方保有开发成果没有任何价值,也不再适用继续履行的方式由开发方继续交付,而是在终止履行之后,适用恢复原状由开发方返还开发费。由于恢复原状的适用并不考虑双方在履行中的过错,因此在此种情况下,委托方已经支付的开发费在不考虑过错的前提下全部予以返还。至于开发方在履行过程中投入的成本,则属于其因履行合同遭受的损失,应由双方按照其各自的过错比例分担。在确定损失承担后,可以对开发方的价款返还债务与委托方的损失承担债务相互冲抵,最终确定一方的给付义务。 2.开发方已经完成交付或部分交付。此时,对于已交付部分是否适用恢复原状,由委托方返还开发成果,主要考虑由哪一方保有开发成果更合适。如果开发成果由开发方保有更合适而对委托方没有价值,如开发成果完全不具备委托方要求的功能、开发方可以将开发成果用于其他项目等,则一般应适用恢复原状。由于作为开发成果的软件具有无形性,恢复原状的具体方式可以是返还,也可以由委托方删除部署在其服务器上的软件,交出后台管理的账号和密码等。如果开发成果对委托方有价值,如委托方对开发成果进行修改、完善后使用,则一般对于已经交付的部分不再适用物理形态的恢复原状,而只能进行价值形态的恢复原状,即进行折价补偿。尽管计算机软件开发合同的开发成果一般是根据委托方的需求定制,初看起来该类合同似乎不宜适用恢复原状,但该类合同的实际履行情况比较复杂,是否适用恢复原状还需要根据现实情况来判断,如果一概认定该类合同不适用恢复原状未免过于武断。 (三)赔偿损失 根据《民法典》第566条第1款的规定,合同解除后,当事人可以请求恢复原状或者采取其他补救措施,并有权请求赔偿损失。该处“赔偿损失”在性质上仍为违约损害赔偿,以履行利益(如果合同履行后的可得利益)为主。违约损害赔偿的基本原则是完全赔偿(《民法典》第584条),赔偿范围包括直接损失(积极损失)和间接损失(可得利益损失)。直接损失不难计算,相对复杂的是可得利益损失的确定。可得利益损失,系合同履行后的纯利润,根据交易性质、合同目的等因素,基本包括生产利润损失、经营利润损失和转售利润损失等三种主要类型。认定可得利益损失的规则包括:可预见规则(《民法典》第584条)、减损规则(《民法典》第591条)、过错相抵规则(《民法典》第592条)、损益相抵规则。同时,因果关系规则作为损害赔偿的一般规则自然应当适用。据此,可得利益损失的计算公式可以表述为:可得利益损失赔偿额=可得利益损失总额–不可预见的损失–扩大的损失–受害方自己过错造成的损失–受害方因违约获得的利益–必要的成本。 原合同法在合同解除的法律效果上承认合同解除与损害赔偿并存,合同解除不影响当事人要求赔偿损失的权利。民法典延续了这一立法传统,《民法典》第566条第2款规定,合同因违约解除的,解除权人可以请求违约方承担违约责任,但是当事人另有约定的除外。根据该款规定,可以主张赔偿损失的“当事人”既包括解除权人,也包括相对人,在双方均存在违约行为的情况下,合同的每一方当事人均可以向对方主张赔偿因违约行为所产生的损失。在恢复原状后,如果双方仍然有损失的,可以请求赔偿损失,赔偿损失的适用以存在过错为前提。 合同因违约解除后的损失赔偿范围可以由合同当事人双方约定,也可以根据法律规定。《民法典》第584条规定:“当事人一方不履行合同义务或者履行合同义务不符合约定,造成对方损失的,损失赔偿额应当相当于因违约所造成的损失,包括合同履行后可以获得的利益;但是,不得超过违约一方订立合同时预见到或者应当预见到的因违约可能造成的损失。”在当事人之间没有另行约定和法律没有特殊规定的情况下,根据民法典的规定,应当按照完全赔偿原则赔偿全部损失,包括直接损失和间接损失。直接损失即财产上的直接减少,也称实际损失或积极损失,包括信赖利益(如费用的支出、丧失其他交易机会的损失以及因对方违约导致自己对第三人承担违约赔偿的损失等)和固有利益的损失。间接损失指失去的可以预期取得的利益,也称之为可得利益损失或消极损失,根据交易的性质、合同目的等因素,可得利益主要包括利润等。在违约赔偿中,由于证明可得利益的困难性,债权人可以选择债务人赔偿信赖利益。当存在其他违约行为导致除合同解除外,还要承担其他违约责任时,如在因交付标的物不符合合同目的导致合同解除的案件中,交付方还存在迟延交付行为,应逐一审查适用违约责任的条件是否成就,而不能直接追究违约责任。 (四)合同解除责任认定“三步法”及示例 “终止履行—恢复原状—赔偿损失”这三个步骤可以称为处理合同解除责任的“三步法”。由于对上述三个步骤理解不清晰,当事人可能将应当以损失赔偿的形式提出的诉讼请求,通过继续履行或恢复原状等方式提出。此时,法院应当对当事人进行必要的释明,引导其通过正确的方式提出请求。如果经过释明后,当事人仍没有提出赔偿损失的请求,则法院不能超出当事人的诉讼请求进行判决,一般可以允许当事人就恢复原状后仍然存在的损失另行提起诉讼。“恢复原状—赔偿损失”这两个步骤在合同解除后法律后果的适用上不能混为一谈,而要分别适用,忽略其中任何一个步骤都可能导致双方承担的法律后果与其过错不相适应。 关于“三步法”的运用,特别是第二步和第三步之间的分步骤适用是否必要,是否可能导致委托方和开发方之间的利益失衡,能否直接依据公平原则认定合同解除后的法律效果,特别是双方之间冲抵已支付价款和赔偿损失的金钱给付,回答这些问题是正确认识合同解除法律效果的重要方面。首先,对于合同解除后的法律效果,法律已有明确规定。从《民法典》第566条第1款(原《合同法》第97条)的规定来看,第一步和第二步的适用实际是将合同双方的权利义务恢复到合同订立之前的状态,不考虑合同双方过错造成的损失,第三步是在恢复或采取其他补救措施的基础上根据双方在合同履行中的过错对各方遭受的损失进行赔偿。正确适用上述条文可以充分保障各方的利益,在这一问题上软件开发合同与其他合同并无不同。其次,对于第二步中恢复原状或采取其他补救措施的适用,恢复原状是指对已履行部分在物理形态上恢复到订约前的状态,采取其他补救措施主要是指对已履行部分进行折价补偿,即在价值形态上恢复到订约前的状态。软件开发合同的标的物软件是无形物,往往还是定制软件,在大多数情况下合同解除的情形中开发者往往只完成了部分开发,因此在第二步恢复原状或采取其他补救措施的适用上具有一定特殊性,即部分完成的开发成果在已经交付的情况下是否需要在物理形态上恢复原状、返还给开发方的问题。在具体适用中是采用恢复原状还是其他补救措施,可以综合考虑以下因素:1.开发任务的完成度;2.双方在合同履行中的过错;3.由谁保有更有利于发挥开发成果经济价值。如果开发方已完成大部分开发任务,在履行中并无明显过错,则原则上对于已经交付部分不再适用物理形态的恢复原状,而要考虑已完成部分占整体开发任务的比例,后续维护等义务的免除等,参考全部合同价款合理确定其对应的价值,由委托方对开发方进行价值形态的补偿。反之,如果适用恢复原状,将已经部分完成的开发成果返还开发方,那么开发方在开发活动中付出的成本可以计入其损失,其具体数额的确定参考分阶段履行中约定的对应价款,根据开发成果的完成程度,并考虑双方在履行中的过错进行分担。 为避免出现不区分法律适用步骤的责任认定和在判决合同解除情况下还判令当事人继续履行合同约定义务(如支付剩余合同价款)等不合法律规定的问题,以下特就“三步法”的具体运用示例如下:假设某计算机软件技术开发合同中,委托人A与研究开发人B约定全部项目研发费用100万元,B实际已经研发约定项目80%,之后A以B开发迟缓等为由提出解除合同,解除时A已经向B支付研发价款50万元。法院经查A提出解除尚不符合法定和约定的合同解除条件,但合同实际难以继续履行,双方在诉讼中均同意解除合同,故应判决认定合同解除;对于合同解除,双方均有过错,A、B应分别承担70%、30%的责任。在解除合同后,大致存在三种情形:软件部分交付但需返还、软件部分交付且不宜返还、软件没有任何交付。假设在软件部分交付情况下,A因合同解除,在不返还已交付软件情况下额外遭受损失20万元,在返还已经交付软件情况下额外遭受损失40万元;B因合同解除在不返还已交付软件情况下额外遭受损失20万元,在返还已经交付软件情况下额外遭受损失80万元;在软件没有任何交付情况下,合同解除,A的损失40万元,B的损失80万元。 情形一(软件部分交付但需返还):B已经向A交付实际研发的80%的软件(项目),但合同解除后因B已不再继续研发导致A实际难以正常使用(含难以另行委托他人完成后续研发)已经交付项目。处理步骤依次为:第一步,停止履行,A不再支付未支付价款;B不再继续研发。第二步,恢复原状或者折价补偿,A向B返还已经交付的80%的软件;B向A返还A已经支付的50万元价款。第三步,A的损失40万元,B承担30%的责任即12万元;B的损失80万元,A承担70%的责任即56万元。最终结果(双方所有金钱给付对冲):A向B返还B已经交付的80%约定研发软件;B向A返还价款6万元(50万元+12万元-56万元)。 情形二(软件部分交付且不宜返还):B已经向A交付实际研发的80%的软件(项目),但合同解除后A可以另行委托他人完成后续研发而正常使用已经交付项目。处理步骤依次为:第一步,停止履行,A不再支付未支付价款;B不再继续研发。第二步,恢复原状或者折价补偿,A不返还已经交付的80%的软件,但应当折价补偿80万元;B向A返还A已经支付的50万元价款。需要注意的是,此时对冲后是A需补偿B 30万元,而不是“A应当继续支付B合同价款30万元”。第三步,A的损失20万元,B承担30%的责任即6万元;B的损失20万元,A承担70%的责任即14万元。最终结果(双方所有金钱给付对冲):A不向B返还B已经交付的80%约定研发软件;A向B补偿和赔偿38万元(80万元+14万元-50万元-6万元)。 情形三(软件没有任何交付):A已经支付合同价款50万元;A的损失40万元,B的损失80万元。处理步骤依次为:第一步,停止履行,A不再支付未支付价款,B不再继续研发;第二步,恢复原状或者折价补偿,B向A返还A已经支付的50万元价款;第三步,A的损失40万元,B承担30%的责任即12万元,B的损失80万元,A承担70%的责任即56万元。最终结果(双方所有金钱给付对冲):B向A给付6万元(50万元+12万元-56万元)。