˙
新闻与出版物
计算机软件开发的主要风险点、司法裁判及合规建议
2020年09月02日 发布人:华诚小编

计算机软件开发的主要风险点、司法裁判及合规建议

 

华诚律师事务所  吴月琴  何鑫

 

近日,最高人民法院知识产权法庭发布了《最高人民法院知识产权法庭年度报告(2019)》,其中,计算机软件合同纠纷案件数量攀升,争议焦点集中在开发成果是否交付、交付内容是否符合约定、履行中的变更是否已经达成合意、迟延履行应当如何认定等问题上。本文在梳理上述纠纷争议焦点的基础上,立足于法院审判实践中有关争议的认定标准,尝试为企业厘清涉计算机软件开发合同中的主要风险点,并提出有针对性的合规建议。

 

一、开发成果是否交付

开发成果是否交付,是该类案件中常见的争议焦点,同时在认定交付成果是否符合合同约定、当事人是否存在违约行为等事实中,开发成果是否交付也是前置需要解决的争议点。有关该争议焦点,主要涉及举证责任的分配。由于交付行为是积极事实,应当由主张开发成果已经交付的一方承担举证责任。在诉讼中,一般均为软件开发方主张开发成果已经交付,此时需要由开发方提供软件交付的相关证据。一般而言,在开发方交付委托开发软件后,委托方均需出具交付确认书,因此若开发方在诉讼中提交符合合同约定形式的交付确认书,即可认定其已经尽到了相应的举证责任,此时则应由委托方举证软件并未交付。如在上海匡丞企业管理咨询有限公司诉高腾斯佳计算机软件开发合同纠纷上诉案中[1],法院认为,在开发方高腾斯佳提供录音以及确认验收合格证明以证明匡丞公司对涉案产品进行确认的情况下,委托方匡丞公司在未能提供证据证明其确认交付系受到开发方诱导或涉案产品并未实际交付,此时应认定涉案产品已经交付。


在某些软件开发过程中,开发方会通过在云服务器上部署软件的形式向委托方交付软件,此时发生争议,法院仅需在云服务器上验证软件是否实际部署即可确认软件是否交付。然而实践中,由于租用云服务器需要支付费用,在发生争议时,云服务器租赁方(通常为委托方)停止支付租金导致法院无法登陆云服务器进而验证软件是否实际交付。此种情形下,若开发方提供初步证据证明其已经交付软件,但无法通过云服务器验证软件是否实际交付,在无相反证据的情形下,法院可以直接认定软件已经交付。问题在于,若开发方无法提供证据证明软件已经交付,同时由于委托方停止支付租金导致无法登陆云服务器,在无法验证软件实际是否交付的情形下,此时法院要么根据“谁主张谁举证”的原则认定开发方承担举证不能的责任,要么则要求导致云服务器无法登陆的委托方承担举证不能的责任[2]。这将为无论是开发方还是委托方维护权利带来极大的不确定性。

 

二、交付内容是否符合约定的认定

有关交付成果内容是否符合合同约定的认定,一方面涉及技术层面的认定,另一方面涉及对合同内容的理解。由于部分委托方对计算机专业技术及术语缺乏一定了解、双方仅对交付成果应具备的功能进行了框架性描述或双方未能仔细审查合同条款等原因,导致在签订合同过程中会出现就交付成果要求约定不明或双方对交付成果要求理解存在偏差的情形。因此,在司法实践中,除对涉案软件进行技术上鉴定以查明事实外,对合同条款的理解也是法院作出裁量的重要依据,这就涉及到合同解释问题。


根据《合同法》第一百二十五条第一款规定,当事人对合同条款的理解有争议的,应当按照合同所使用的词句、合同的有关条款、合同的目的、交易习惯以及诚实信用原则,确定该条款的真实意思。即,可以通过文义解释、体系解释、目的解释并结合行业交易习惯实现对合同条款的解释。在王彬诉上海涵予信息科技有限公司计算机软件开发合同纠纷一案中,双方合同约定交付软件包括聊天与购物板块,合同1.3条进一步约定聊天板块包括:我的好友,查询好友(按条件搜索、好友申请、申请提醒)、在线聊天(聊天列表、聊天界面)。但涵予公司交付软件仅有聊天与购物界面,对于合同约定的聊天、购物板块是否不包括聊天与购物功能,一审法院指出“从上述‘按条价搜索、好友申请、申请提醒’等约定看,聊天板块不应仅仅具备聊天界面,还应具备实际的聊天功能。”,此处法院则运用了文义解释的方法对合同条款进行了解释。

此外,合同解释的工作应遵循严格的顺序,文义解释应当是最先运用的解释方法,随后则是体系解释,最后是根据合同目的、交易习惯以及诚实信用原则进行解释。[3]

 

三、履行中的变更是否达成合意的认定

在计算机软件开发过程中,委托方的需求可能会发生变化,此时委托方会要求开发方对软件进行调整,如增加功能模块等。此时若发生争议,委托方则会主张开发方未满足委托方变更的需求而构成违约。在济南艾雅信息系统有限公司诉济南凤凰新锐科技有限公司计算机软件开发合同纠纷一案中[4],委托方艾雅公司主张开发方凤凰新锐公司交付的软件未满足其在合同履行过程中提出的新开发要求及功能,构成违约。同时,开发方也可能主张委托方未支付软件开发过程中新增功能、项目的款项而构成违约。在上海凯岸信息科技有限公司诉上海麦易信息软件有限公司计算机软件开发合同及买卖合同纠纷一案中,开发方麦易公司提起反诉要求委托方凯岸公司支付后续增加的“车贷”项目开发费用。[5]此时法院在审理过程中则会重点审查双方是否就合同变更达成合意。


根据《合同法》第七十七条第一款,当事人协商一致,可以变更合同。因此,判断委托方与开发方是否就合同变更达成一致,即是判断双方是否存在合同变更的有效要约与承诺。实践中通常出现争议的情形是,一方对发出变更合同的通知(如要求对软件功能进行调整或变更开发费用等),另一方未明示同意或拒绝,此时应如何判断双方达成合意的状态,成为法院的审查重点。根据《合同法》第二十二条规定,承诺应当以通知的方式作出,但根据交易习惯或者要约表明可以通过行为作出承诺的除外。即除当事人约定或依交易习惯外,承诺应当以明示方式作出。在此理解上,开发方若对委托方的变更要求保持沉默,则不应认定双方就合同变更达成合意。前述的凯岸公司诉麦易公司案中,法院指出,“本案中并无证据表明凯岸公司或者麦易公司曾以书面形式,明确车贷属于涉案开发软件的“新增项目”。……如车贷项目属于凯岸公司的新增需求……应当由双方当事人书面协商确认。因此,再无双方当事人书面确认车贷项目属于涉案开发软件“新增项目”的情况下,仅凭麦易公司在《下周工作计划(2015/8/3-7)》车贷项目中的“增量”字样,并不能得出车贷项目属于涉案开发软件“新增项目”的结论。”当然,若开发方虽未明确表示同意委托方变更合同的要求,但实际履行了相关软件开发要求,则应当认为开发方以默示的方式作出了承诺,双方已就合同的变更达成了合意。

 

四、迟延履行的认定

在计算机软件开发合同中,双方通常会确定软件的交付时间,并约定开发方迟延交付软件将构成违约。因此,开发方迟延履行交付软件的合同义务,成为委托方主张开发方构成违约的主要理由。然而开发方未及时交付软件并非开发方构成违约的充分条件。在部分案件中,开发方均以其迟延履行系因委托方过错导致作为抗辩理由。若法院认定委托方在开发方的迟延履行中存在过错,则会减轻开发方的违约责任甚至认定开发方不构成违约。此种情形下,如何认定委托方责任成为了法院审理该类案件时的难点。


在北京中易游网络科技有限公司诉北京盛世星辉网络科技有限公司计算机软件开发合同纠纷一案[6]中,委托方中易游公司主张盛世星辉公司未能及时交付软件构成迟延履行。盛世星辉公司抗辩称系因中易游公司多次提出修改及增加端口要求导致其未能按时交付软件,因此其不构成迟延履行。法院审理后认为,由于双方未能在合同履行初期制定《项目说明书》与软件开发计划,均存在过错。而中易游公司作为委托方,负有积极督促盛世星辉公司及时协商制定软件开发计划并依照开发计划在每一个阶段检测和验收盛世星辉公司开发的阶段性产品的义务。未能制定《项目说明书》与软件开发计划导致开发方不能按期交付软件的风险和难度增加。此外,现有证据不能证明中易游公司多次要求盛世星辉公司修改软件的原因系盛世星辉公司完成的工作不合要求所致。基于以上原因,开发进度被延宕的原因不应简单归责于盛世星辉公司。该案给我们的指引是,委托方应当在计算机软件开发合同签订初期,明确己方的功能需求,并同开发方明确软件开发标准,避免因自身原因导致项目进程延宕。

 

五、给企业的合规建议

在合同签订阶段,我们建议企业在合同签订阶段应当至少做到三个“明确”,即明确开发需求、明确交付方式、明确验收标准。


1、明确开发需求,一方面可以使开发方更清晰了解委托方对于委托开发软件的现实功能需求,进而更加高效地开展软件开发工作,另一方面,明确开发需求便于为双方在软件开发过程中就软件功能的调整进行沟通提供原则性的指引。而明确开发需求,可以通过开发方对委托方进行需求调研等形式展开。需求确定后,双方应当通过软件开发的《项目功能说明书》或软件开发计划等书面文件对需求予以确认,对功能模块的描述应当做到尽可能地详细、具体、清晰。


2明确交付方式,包括交付的时间、交付的地点、交付所需的文件、交付的流程等内容。根据实际需要,双方也可以约定交付完成的标志,如委托方发出交付确认书、软件由开发方部署在云服务器上或软件实际运行等。需要提醒的是,由于在实践中法院通常通过交付确认书确定软件是否已经交付,而委托方作为主张消极事实的主体提供反证存在较大难度。因此委托方应在确认软件已实际交付的基础上发出交付确认书,避免因在交付流程上的疏漏导致在争议发生时处于被动地位。


3、明确验收标准,在合同签订阶段双方应当对软件地验收标准进行约定,并着重对各项技术指标进行量化,必要时可以约定由第三方对软件是否符合开发标准进行验证。


在中易游诉盛世星辉案中,法院为委托方在合同履行阶段如何开展工作提供了指引。即根据在合同签订前期确定的软件开发计划等文件,依据约定的时间节点,在每一个阶段对开发方的开发工作进行检测和验收。此外,虽然在软件开发过程中,委托方需求根据软件阶段性完成情况、市场变化等原因变更属于正常情况,但由于频繁性的需求变更可能导致开发方难以按时交付软件,因此需求的变更应当控制在合理范围内。对于开发方而言,若由于委托方需求变更等原因已经可以预见到难以在约定时间内交付软件,则应及时与委托方进行沟通,延长交付期限,避免争议的发生。


在合同履行过程中,双方应当注重沟通,并留存沟通书面记录。如开发方留存告知委托方项目进度的往来邮件、委托方留存开发方进度的阶段性验收结果报告以及开发过程中软件存在的问题等。若涉及对合同内容的变更,双方应当通过书面形式确认约定的变更,尤其涉及委托方开发需求变更时,开发方应当同委托方进行正式的书面确认,避免争议发生时陷入难以证明交付软件成果符合约定的被动境地。



[1] 上海知识产权法院,(2016)沪民终389号民事判决书。

[2] 要求委托方承担举证不能责任的依据主要是《最高人民法院关于民事诉讼证据的若干规定》第九十五条确立的证明妨碍制度。但根据骆永家教授观点,证明妨碍制度要求不负举证责任之当事人在陷负有举证责任当事人于举证不能状态时存在故意或过失。而委托方停止支付租金存在避免成本增加的理由,是否存在主观故意或过失或该理由是否属于正当理由,仍有待讨论。

[3] 如在北京市第二中级人民法院(2019)02民终2834号民事判决书中,法院指出“解释合同必须先由词句的含义入手,在词句的含义有歧义或不同理解的情况下,方能再按照合同的有关条款、合同的目的等进行解释。”

[4] 山东省济南市中级人民法院,(2018)01民初2334号民事判决书。

[5] 上海知识产权法院,(2016)73民初730号民事判决书。

[6] 最高人民法院,(2019)最高法知民终433号民事判决书。


本网站之内容旨在提供有关华诚的一般信息。本网站之内容不得被视为与访问者建立律师-客户关系,也不视为是为任何具体事宜提供法律意见。网站访问者应向律师咨询以获得专业法律意见。 对于任何争议的特定事实和情况,在没有获得恰当的法律或其他专业意见之前,本所客户和其他网站访问者不能将华诚网站上的任何信息作为采取行动与否的依据。

© Copyright 2000-2015 All Rights Reserved | 沪ICP备15028801号 隐私保护 | 用户反馈

沪公网安备 31010402001317号

Lin