来源:淘金网官网 发布时间:2025-11-19 17:43:04
根据最高人民法院知识产权法庭审理计算机软件开发合同纠纷二审案件所反映的问题今后该类纠纷的审理重点在合同解释、合同履行、合同解除三个层面。合同解释需要重视各种解释方法的运用构建合理的论证层次条理清晰地确定争议条款的含义处理合同履行问题要熟练运用法定的履行规则贯彻契约精神充分尊重当事人关于合同履行顺序的合法约定通过“同时履行判决”一次性解决合同纠纷合同解除问题主要在于处理合同解除后的责任需清晰体现“终止履行—恢复原状含折价补偿—赔偿相应的损失”的“三步法”其中返还价款或者折价补偿与赔偿相应的损失可以相互冲抵但在判决时应先尽可能作出清晰认定然后冲抵不宜动辄直接一揽子判令一方向另一方给付一定的金钱。
自2019年1月1日成立最高人民法院知识产权法庭集中管辖了大量涉及计算机软件开发合同的案件案件来源涵盖了大部分对技术类知识产权案件具有管辖权的中级人民法院和高级人民法院。从地域上看一审案件的分布状况与该地经济发展水平基本上呈正相关。其中北京、上海、广州三地的知识产权法院案件数量较多江苏次之山东、湖北紧随其后具有涉外因素的案件比例较小大部分案件的诉讼标的额在100万以下纠纷主要涉及合同的解释、合同的履行、合同的解除等。法院通过审理这些案件进一步明确了裁判思路审判质效得到明显提升。鉴于此自2022年5月1日起最高人民法院知识产权法庭不再受理由知识产权法院和有知识产权纠纷案件管辖权的中级人民法院审理的一审计算机软件开发合同纠纷的二审案件当事人不服知识产权法院和有知识产权纠纷案件管辖权的中级人民法院作出的计算机软件开发合同纠纷案件的一审裁判应向有关高级人民法院上诉。在此情况下有必要对二审集中管辖期间计算机软件开发合同审理中反映的普遍问题进行总结。我们根据集中审理以来的情况围绕该类纠纷中合同的解释、合同的履行、合同的解除等方面的法律问题根据民法典及《最高人民法院关于适用〈中华人民共和国民法典〉合同编通则若干问题的解释》法释〔2023〕13号以下简称《民法典合同编通则解释》结合计算机软件开发合同及技术合同的典型案例对目前审理中的明显问题择其要者进行阐释。
一合同解释规则方法的运用
“合同是当事人约定的法律”。由于当事人的意思表达能力局限和各种利益驱动、文字的模糊性等原因合同目的和内容难免产生疑义确有解释必要。合同上需要解释的问题包括合同类型、合同是否成立、合同条款的含义等。在计算机软件开发合同的解释中应当遵循《民法典》第142条关于意思表示解释规则方法的规定原《合同法》第125条按照条款词句的文义、上下文相关条款、行为的性质和目的、习惯及诚信原则从不同层面进行解释。
目前相当一部分合同纠纷以及基于合同产生的知识产权权属纠纷的核心问题在于合同条款的解释一旦将这些合同条款的含义准确解释出来争议就会迎刃而解。在白某某诉安某公司技术合同纠纷案中二审阶段双方的争议主要源于对有关绩效考核标准和股权激励方案内容的合同条款的理解差异。对此二审判决根据原《合同法》第125条《民法典》第142条对涉案合同条款进行了解释阐释了股权激励约定的三层意思第一总体上看安某公司在一定条件下应当给予白某某股权激励而不应一概否定该项合同义务。第二在具体依据方面涉案合同没有进一步约定在何种考核结果下安某公司应当给予或者如何给予相应股权激励。根据涉案合同本身约定安某公司对此有较大的自主决定空间同时按照商业实践中对等给付的普遍做法至少能明确如果白某某在安某公司年度绩效考核中不达标或者不合格安某公司可以不给予其股权激励。第三如果白某某在安某公司年度绩效考核中达标或者合格在具体数额方面安某公司有较大的自主考量空间其应在完成股票首次公开发行IPO后制定具体股权激励方案最终履行该项合同义务。
当事人订立合同均为达到一定目的合同的各项条款及用语均是达到该目的的手段。合同目的的识别是计算机软件开发合同纠纷中的一个基本问题。
合同目的一般是合同的典型交易目的即所欲实现的法律效果这种典型交易目的在每一类合同中是相同的不因当事人订立某一具体合同的动机的不同而改变。所谓当事人订立合同的动机亦即当事人的主观目的。动机乃法律行为之缘由此一缘由实则指给付目的与债务目的是清偿实现债权不同。通说认为由于动机作为缔约方的主观意图往往并未外化无法证明动辄依据缔约方的动机来解释合同目的有失公平。仅当合同动机经由合同用语、条款体现于合同文本之中时目的与动机同一但影响缔约行为效力者仍为目的而非动机。因此须严格把握将动机作为合同目的的条件主张将其动机解释为合同目的的一方必须承担举证责任证明其动机为何该动机影响合同的订立和含义且为对方知晓并接受或者作为合同的成立及基础。在计算机软件开发合同中委托方的合同目的是取得符合其需求的软件至于委托方取得开发的软件后所意图实现的盈利效果或者其他效果是合同的动机如果该动机没有通过合同用语、条款体现在合同文本中不宜作为合同目的当事人不能以其盈利目的落空为由主张合同目的不能实现。
在大某公司诉天某公司计算机软件开发合同纠纷案中大某公司委托天某公司开发小程序后双方因“阶段性库存功能”是否属于软件开发需求的内容发生争议。二审判决指出大某公司订立该计算机软件开发合同的目的是取得约定的软件而为促进租赁业务主观上要求软件运行后可以在一定程度上完成的经济效果或者其他效果是其合同动机。大某公司试图通过开发的软件优化库存管理的上述动机没有在合同中通过某种约定明确反映出来且天某公司并不接受其在合同订立后增加开发软件的库存功能大某公司主张的该项订约动机并不能解释为其订立涉案合同的合同目的。由此大某公司以涉案软件缺少库存功能为由主张其没办法实现合同目的缺乏事实和法律依据不应予以支持。
此外应注意区分合同目的、合同动机的认定规则与缔约方针对有关合同内容没有约定或者约定不明时的合同漏洞填补规则。计算机软件开发合同缔约方通常会约定软件的基本功能难以就所有技术细节进行约定。在对争议的具体技术问题是不是属于合同约定开发范围以内进行解释时应格外的注意参照行业习惯不能仅以合同未作明确约定而将争议问题排除于合同约定范围之外。如果争议的具体技术功能属于此类软件通常应具备的功能或者所属领域人员一致认为合同对此类问题已无需特别约定的原则上应当认定属于合同约定的范围以内。此即在当事人对有关合同内容没有约定或者约定不明确时参考习惯或行业惯例补充合同漏洞的规则为《民法典》第510条、第511条所规定。
任何合同均需解释所谓“合同条款文义明确无需解释”本身就是一种解释结果。解释合同在司法实践中应当像解释法律一样受到重视合同解释同样是一种技术和一种艺术。今后的有关司法实践需要更加重视合同解释工作。一是要增强解释合同的意识避免在裁判说理中大量重复照搬合同条款而不针对争点进行具体解释二是强化对合同解释规则方法的全面掌握和熟练运用切实将《民法典》第142条及有关司法解释规定的解释规则实施到位三是善于结合个案确立合理的合同解释结构讲究合同解释分析说理的层次与条理增强合同解释的说理和效果。
合同履行应当遵循全面履行、适当履行和诚信履行原则在如何具体履行的细节中当事人经常纠缠于履行顺序规则即同时履行规则和异时履行规则先履行抗辩与不安抗辩规则。在履行过程中源代码的交付也是计算机软件开发合同中双方争议的重要问题。
一关于人民法院能否作出“同时履行判决”的问题
同时履行抗辩权是一种防御性权利在制度设置上防御不是目的而在于打破僵局促使债务履行故通说认为法院可以作出同时履行判决即附条件判决。《德国民法典》第322条专门作出该类规定日本、韩国、我国台湾地区也有“交换给付判决”的规定或者实践。
在派某公司诉科某公司技术开发合同纠纷案中二审判决明确了如下裁判主旨在双务合同纠纷案件中双方互负对待给付义务。一方请求对方履行义务但因对方违约或其他正当理由未实际履行己方的对待给付义务人民法院不宜仅基于请求方未履行对待给付义务而直接驳回其诉讼请求能够准确的通过具体案情判决双方互为对待给付义务以实现双方订立合同的目的一次性解决纠纷。该案判决给出的裁判规则也为《民法典合同编通则解释》第31条所吸收并区分抗辩与反诉的不同法律效果分别进行规定。
计算机软件开发合同中当事人双方明确约定开发方先出具发票委托方再支付价款否则委托方拒绝付款且不视为违约。在开发方未出具发票的情况下委托方可否行使先履行抗辩权拒绝支付价款
对这一问题曾经存在一定的争议。《民法典合同编通则解释》第31条第1款澄清了该问题即“当事人互负债务一方以对方没有履行非主要债务为由拒绝履行自己的主要债务的人民法院不予支持。但是对方不履行非主要债务致使不能够实现合同目的或者当事人另有约定的除外。”可见司法解释倾向尊重合同约定。总体上在履行规则方面首先还是尊重当事人意思自治应当允许合同当事人依据自己需求和交易实际将一般人看来为轻微违约的某一事项约定上升为一种主观上的“严重违约”或者“根本违约”否则契约自由将失去其应有的作用空间将严重阻碍当事人利用合同创设各种交易形式。
同时我们进一步提出两点意见第一“先票后款”约定原则上应当遵照但也不能过于绝对化允许有例外即当事人违反诚信原则滥用抗辩权该例外需要在具体案件中具体判断。第二也可优先考虑作出“附条件判决”即判决在一方当事人出具发票后另一方当事人支付款项。
计算机软件开发合同中委托方和开发方通常会就软件源代码作出约定。是否交付源代码、以何种方式交付源代码、源代码的权属以及使用方式等事项均关乎合同的目的直接影响双方当事人在合同项下的权利义务内容。正常的情况下计算机软件开发合同当事人的主合同义务为交付所开发的软件和支付软件开发费用但是这并不代表软件源代码的交付必然为合同附随义务仍要根据合同约定来确定当事人之间具体的权利义务内容。如果计算机软件委托开发合同中约定了开发方向委托方交付源代码、委托方取得源代码的著作权则根据该约定源代码的交付义务属于主合同义务委托方取得源代码著作权属于合同目的的重要组成部分。如果开发方未交付源代码或者委托方没办法取得委托开发的软件源代码著作权则委托方订立计算机软件开发合同所追求的履行利益实际上受到剥夺换言之订立合同的目的没办法实现则极有可能导致合同的解除和违约责任的承担。
在委托方和开发方约定了由委托方取得源代码著作权的合同中按照合同约定开发方不仅应当交付源代码而且应就其交付的源代码负有保证第三人不享有任何权利的义务即此时开发方负有权利瑕疵担保责任。若开发方在履行合同过程中无法对所开发的软件尽到权利瑕疵担保责任则委托方取得软件著作权的合同目的不能实现委托方有权依据《民法典》第563条第1款第4项规定解除合同。
合同解除是指合同有效成立后因一方或双方当事人的意思表示使合同关系终了未履行的部分不必继续履行已履行的部分依具体情形进行清算的制度是合同特有的终止原因。《民法典》第557条区分了合同终止和合同解除第2款限定于合同解除的情形同时在解除的效果上区分有溯及力和没有溯及力的解除其中没有溯及力的解除相当于狭义的“终止”。由此合同终止是合同解除的上位概念。合同解除以有效成立并继续存在的合同为前提如果合同权利义务已经终止则不存在解除合同的问题。下面以计算机软件开发合同中两种较常见的解除方式为例进行分析。
协商解除的本质是当事人双方消灭有效合同的意思表示一致即双方当事人就消灭既有的合同法律关系达成了新的合意与解除权无关。由于计算机软件开发合同的履行往往需要双方的相互配合该类合同纠纷中协商解除的比例比较高。据统计至少有近10%的纠纷案件当事人双方在诉讼中均主张解除合同。此时即便合同履行情况没有达到根本违约的程度但基于对当事人意思自治的尊重法院也可以判令合同解除。特别需要注意的是此时需要考察双方当事人是否对合同解除的后果达成一致意见分情况作出处理。第一如果双方都同意解除合同在协商解除的意思表示不以对解除后果形成一致意见为前提时即使双方未就协商解除后的法律后果作出约定只要双方解除合同的意思是明确形成一致的一般也可以认为构成协商解除。第二如果当事人协商解除的意思表示以对解除后果形成一致意见为前提若当事人仅达成解除合同的合意但对于解除合同的后果未能达成一致意见的也不能产生合意解除合同的法律效果。在合意解除的情况下是否恢复原状、赔偿损失等问题均须双方当事人协商确定。
如果合同双方仅协商解除而未约定解除后果也没有约定当事人协商解除的意思表示是否以对解除后果形成一致意见为前提《民法典合同编通则解释》第52条规定当事人一方主张行使法律规定或者合同约定的解除权经审理认为不符合解除权行使条件但是对方同意解除或者双方当事人均不符合解除权行使的条件但是均主张解除合同人民法院可以认定合同解除并依据《民法典》第566条、第567条和有关违约责任的规定处理。
当出现上述情形当事人未对诸如违约赔偿等问题作出安排的对于合意解除合同后的损害赔偿、违约责任承担问题原则上应当在一案中一并处理法院可以向当事人释明以充分保障当事人的诉讼权利。如果当事人坚持不提出请求可以在裁判文书中指出通过另行起诉的方式予以解决。之后当事人向法院起诉要求损害赔偿的法院应当允许不能以默示的方式排除当事人对损害赔偿的请求权。实践中存在一方当事人以对方当事人根本违约为由起诉解除合同案件审理过程中查明不存在根本违约事实但双方当事人均同意解除合同的情形。在这种情形下起诉解除合同的一方并不享有法定解除权法院可以依法向双方释明此时涉案合同因双方合意而解除合意解除合同后违约赔偿等问题的安排如上所述以充分保障当事人的诉讼权利。
在此需要指出附解除条件的合同《民法典》第158条最后一句、协商解除合同《民法典》第562条第1款、约定解除权的合同《民法典》第562条第2款需要在理论上明确其法律属性的区别并在实践中根据合同当事人的具体约定准确识别不应混淆否则会在法律分析的起点上犯错。其中的关键区别在于约定一方解约的条件成就解除权人可以解除也可以选择不解除通知对方时解除解除权的行使附解除条件成就合同失效即自动消灭但无溯及力不需意思表示。文义上的区别是条件成就后是合同自动解除还是一方有权解除。
计算机软件开发合同当事人之间的信赖是合同成立的重要基础如果合同成立后由于主客观原因变化委托人对受托人的信赖基础已经丧失或者认为已无继续履行合同的必要时软件开发工作的进程和结果往往受影响在解除合同对秩序影响不大的情况下法律鼓励资源从效率低的领域向效率高的领域流动允许不再需要合同履行结果的一方放弃或者终止尚未履行或正在履行中的服务委托方可以解除合同但须赔偿给对方造成的损失。如此处理既避免了合同双方无谓地付出更多的时间、精力或金钱又避免了社会资源的浪费符合民法典合同编对自由与效率的价值追求。在不存在法定解除权和约定解除权的情况下是否支持一方解除合同的诉讼请求特别应考虑是否因双方丧失信赖而出现了合同僵局或债务不适合强制履行的情形。
解除权是单方解除合同的权利属形成权。在民法典颁布之前关于违约方能否解除合同存有较大争议。对此《民法典》第580条在原《合同法》第110条规定基础上新增第2款予以明确。在计算机软件开发合同中出现合同僵局违约方可以根据《民法典》第580条第2款的规定起诉请求解除合同。履行非金钱债务的当事人一方常常为开发方委托方则往往履行的是支付对价的金钱债务但这并不意味着所有的开发方都仅负非金钱债务、所有的委托方都仅负金钱债务双方当事人的权利义务须按合同约定而定不可一概论之。在开发方不履行其非金钱债务或者履行非金钱债务不符合约定时因继续履行最能实现合同订立目的委托方可以请求继续履行反之在委托方不履行自身所负的非金钱债务或者履行非金钱债务不符合约定时基于合同严守的原则开发方亦可要求委托方继续履行。出现《民法典》第580条第1款所列三种情形之一且达到第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万元。
中国北京市东城区东长安街1号东方广场东方经贸城东一办公楼1501-1502室