开云平台登录入口

开云平台登录入口

中国律师网-新闻内容

2023-09-21 开云平台登录入口

  计算机软件委托开发合同不同于一般的合同,其具有专业性强、涉及领域新、产品无形性、更新速度快等特点。因此,在订立计算机软件开发合同之初仅能将核心、重要的条款进行确定,难以明确整个开发工作的所有细节问题。因此当事人常常会因为合同约定不明或没有约定发生纠纷。在诉讼过程中,相关事实的认定也成为诉讼难点。本文针对软件开发企业(下称“开发方”)与需求企业(下称“需方”)关于标的软件是否符开发合同约定,从以下几个方面探讨常见纠纷的法律问题:

  交付行为是一种积极行为,实践中一般由开发者承担举证责任。开发者通常能通过提供确认单或签收单予以初步证明。若委托方仍主张未收到相应产品,则由委托方提供相关证据予以证明。若双方都无直接证据证明是否完成交付,法院或许会采取直接联系项目对接人的方式对相关事实进行查证。

  如北京新元鹏泰医疗科技有限公司与北京中软国际信息技术有限公司计算机软件开发合同纠纷[1]中,中软国际公司与新华通讯社办公厅签订合同,约定由中软国际公司就新华通讯社新华镜像数字图片杂志升级开发项目向新华社提供软件开发和技术服务。而中软国际公司随后将该项目分包给新元鹏泰公司,约定由新元鹏泰公司负责上述项目的开发。新元鹏泰公司即本案原告主张其已完成软件开发且交付给新华社,新华社也已将相关软件上线使用。但中软国际公司即本案被告,一直拒绝付款,构成违约。被告辩称,原告没有完成软件的开发且未交付,双方未约定交付方式。原告提交了软件安装程序光盘及说明、源代码说明、新华社正在使用的APP软件与原告开发的软件对比图、电子邮件、原告项目对接人证言。被告提交了其与新华社的合同。法院为查明相关事实,向新华社发送协助调查函,询问新华社何时收到涉案软件、交付方式及是不是已经上线月该项目正式通过验收,现已上线使用。法官甚至在庭审时直接电话联系新华社回函经办人对上述事实进行确认。最后,法院判决被告向原告支付合同尾款及违约金。

  实践中,为避免类似纠纷的发生,软件开发合同中最好明确约定交付方式及双方的项目对接人。若涉及向合同外第三方交付的,应当在合同中明确。受托方若完成交付,要让委托方出具签收单等证明文件。若委托方确实没有收到相关软件,也可通过邮件、发函等书面方式催促对方履行义务。

  计算机软件开发是一个不断迭代的过程,项目开始时确定的功能、性能等往往会因为后续的技术发展、需求增加等因素而改变。若双方没有就新增的功能等达成书面的合意,在司法实践中就会导致难以判断受托方交付的开发成果是不是满足双方约定这一问题。委托方会主张受托方所交付的软件存在许多技术问题,与约定的功能等不相符。在面对该问题时,受托方可以提出如下的抗辩:

  这属于技术事实查明问题。委托方需要明确列出存在的技术问题,受托方则针对该清单进行抗辩。若诉讼时委托方仍正在使用涉案软件,受托方可尽快起诉并申请法院做证据保全,并向法院申请将软件送至第三方机构进行检验确定,让鉴定机构判断委托方所主张的缺陷是不是真的存在。受托方还可以直接在法庭上演示某软件,以证明委托方所主张的问题并不存在。

  针对这一问题,最有利的证据是经双方同意确认的最新版本的《验收清单》或《需求说明书》等列明软件需求或功能的文件。若存在双方对有关条款理解不同的情形,法院通常会利用文义解释、体系解释、合乎行业惯例、符合合同目的的方式对相关联的内容进行解释。比如合同约定开发“购物”功能,按照文义解释及通常的理解,双方应当是指开发能够让我们消费者进行线上购物的平台软件,而不是单有一个购物宣传,没有办法进行实质购物交易的页面。再如双方在功能需求表中没有明确要开发“采购/供应商安装的客户端“功能,但委托方却主张该功能是开发软件的主体功能,属于约定的开发范围。法官则根据合同其他条款中有“采购商将其定位为访客角色,采购及供应商无须安装独立的客户端,通过网页沟通“这一表述,按照体系解释的原则,认定“采购/供应商安装客户端”不属于约定的开发范围这一事实。

  另外,面对此种问题时,也能申请法院做证据保全并送第三方机构进行检验确定,将目前软件实现的功能与合同约定的功能进行一一比对,以判断现有软件是不是满足合同的约定。

  受托方提出这种抗辩的另一种可能是,双方在原合同中没有约定开发某功能,但在合同履行过程中,双方曾协商过要对某功能进行开发,但没有落实成纸质文件予以确认。此处即涉及到合同是否变更的认定。合同的变更需要判断双方是否达成合意,而合意的判断一般有:明确约定、承诺、实际行为表示。若仅有一方提出要求,另一方沉默,这不代表承诺也不代表反对,视为合同未变更。如在凯岸公司与麦易公司计算机软件开发合同纠纷[2]中,一方主张项目包括“车贷项目”,另一方未回应确认,也未以实际行为作出意思表示,因此法院认定原合同开发范围未变更。

  在计算机软件中有bug的存在是再正常不过的事,因没有一个软件在刚开发出来时即是完美的,也没有一个软件是不有必要进行技术更新、系统优化的。因此委托方和受托方一般会约定对bug进行分级别,如一般的和严重的。若某一个功能的缺陷属于一般的bug,则可以初步判断其不会影响主体功能的使用。若是严重的bug,还需要按照详细情况进行分析,不一定所有的严重bug都会影响主体功能的使用。在判断这一问题时,主要考虑软件的性质、需求说明书或功能要求等。

  如在上海说说螺软件技术有限公司诉焦点科技股份有限公司计算机软件开发合同纠纷案[3]中,争议焦点之一为文件传输率不高影不影响委托开发的即时通讯软件的文件传输功能的实现。法院认为:1.文件传输成功率不高必然会导致IM软件文件传输功能的不能完全实现;2.在合同附件二《需求列表》及《需求说明书》中,均对文件传输功能有明确的约定。因此文件传输功能属于软件验收合格的标准之一;3.双方邮件往来中,焦点公司(委托方)强调了文件传输功能的重要性,并要求说说螺公司(受托方)解决有关问题;4.说说螺公司主张文件传输成功率不高是因为服务器和网络配置问题,但其没提供证据加以佐证。因此本院认为文件传输成功率不高影响了软件的正常使用。

  计算机软件开发合同大多数都会约定分阶段履行。如委托方先支付30%的金额,在受托方按期交付开发的软件,委托方验收合格后其支付30%的金额,在相关软件上线个月后,委托方支付余下40%的金额。在受托方交付软件的环节,委托方常常会主张受托方延迟交付构成违约而拒绝付款。因此判断是否延迟履行成了诉讼的争议焦点。该问题的一个难点是若双方在合同约定的履行期限届满后仍在就系争软件的开发进行交流协作,因此导致受托方未能按期交付,怎么样来判断是否构成迟延履行的问题。

  一般情况下,若受托方有证据证明在约定的交付日期后双方仍在就开发的具体问题进行交流,则可以认定双方已经用自己的实际行为变更了合同约定的履行期限,受托方在原合同约定的期限届满前未交付软件的,不视为迟延履行。如在沈阳霏顿网络科技有限公司与北京长果科技有限公司技术委托开发合同纠纷[4]中,沈阳霏顿公司(委托方)认为长果科技公司(受托方)不能在合同规定的期间内交付开发成果,并据此要求解除双方签订的《项目开发合作协议》、要求长果科技公司返还已经支付的项目开发费用并支付违约金。而长果科技公司主张未能按期交付成果是因为沈阳霏顿公司在合同履行过程中不断提出变更需求,且最后一次提出需求变更的时间已在约定的交付时间以后。长果科技提供的证据有双方签订的合同,其中约定的交付日期为预计2017年3月5日,这只是预计的时间。还提交了双方沟通的邮件,显示针对需求的沟通时间已为合同约定的交付时间以后数月。长果科技认为对方提出的需求属于新增需求,而沈阳霏顿公司认为不属于新增需求,仅是对约定事项做调整。法院认为:“无论是“新增功能”还是“对约定事项做调整”都会在不同程度上增加工作量,进而导致工期延长。纵观双方履行合同的情况,双方在履行过程中的确实进行过多次洽商、沟通,结果使得双方均对履行本方合同义务的期间实际做出了调整,此情形下不应属某一方当事人存在根本违约行为,双方还应积极合作、切实履行合同。”

  计算机软件开发合同的非违约方通常会主张违约方的违约行为构成根本违约,导致合同目的没办法实现,因此要求行使法定解除权。对“导致合同目的没办法实现”的判断取决于违约结果的严重性而非违约条款的性质,因此主张行使法定解除权的一方,需要提供证据证明违约结果的严重性。常见的事由有:开发者没有完成开发任务,项目存在严重bug影响主体功能、委托方拖延甚至拒绝支付价款等。对于合同目的需要个案分析,在特殊情况下开发方违反合同附随义务也可导致委托方合同目的不能实现。如某一软件需要非普通技术人员进行安装部署工作,但受托方不安排相关技术人员前往安装,此种不履行附随义务的行为已构成根本违约,致使委托方无法正常使用软件[5]。

  再如前文提及的上海说说螺软件技术有限公司诉焦点科技股份有限公司计算机软件开发合同纠纷案中,法院认为文件传输成功率不高影响了软件的主体功能使用,但并不是完全不能传输文件。故说说螺公司交付的软件虽然还存在缺陷,但并不足以导致合同目的没办法实现。因此焦点公司以此为由要求解除双方合同、返还软件开发费并支付违约金的请求,缺乏事实与法律依据,法院不予支持。

  1、以合同附件形式明确需求。其中区分功能需求及非功能需求。功能需求一般为软件的主体、核心功能,非功能需求一般为软件的页面设计、布局,操作习惯等

  3、对软件页面设计、图形图案、操作习惯等主观设计,委托方应提出具体明确的要求,或热情参加相关设计,确定好设计后再推进后续开发工作。

  受托方可在合同或附件中写明若是由委托方提供的设计图,相关的侵犯第三方知识产权的责任由委托方承担。

  受托方可写明:“在受托方将验收通知书送达甲方之日起10日内,甲方未提出异议,则视为验收完成。”若在缔约过程中,甲方较强势,不接受默示验收的条款,可以将其变更为:“若甲方不对当前阶段的成果进行验收,则乙方有权不进行下一阶段的开发工作。”同时,在验收标准中要列明允许出现一定量的bug的范围及种类。

  5、若委托方要求对原有需求来做变更,或是新增需求,委托方应当分析变更后的需求或新增需求是否会影响到其他原有需求的实现,并将分析结果反馈给委托方。若委托方确定变更或新增,双方应将变更或新增的需求以书面形式确定,并由双方签章。同时重新约定交付时间,避免纠纷的发生。

  6、尽量用书面形式沟通,邮件或微信等,并保存好相关记录。若是口头沟通,事后可以发会议纪要或沟通要点等文书给对方,以固定证据。

  [1]参见北京新元鹏泰医疗科技有限公司与北京中软国际信息技术有限公司计算机软件开发合同纠纷一审民事判决书((2016)京0108民初24891号)

  [2]参见上海凯岸信息科技有限公司与上海麦易信息软件有限公司计算机软件开发合同纠纷一审民事判决书((2016)沪73民初730号)

  [3]参见上海说说螺软件技术有限公司诉焦点科技股份有限公司计算机软件开发合同及反诉解除合同案((2010)宁知民初字第500号)

  [4]参见沈阳霏顿网络科技有限公司与北京长果科技有限公司一审民事判决书((2017)京0117民初7537号)

  [5]参见亚力山顿贸易(上海)有限公司与探谋网络科技(上海)有限公司计算机软件开发合同纠纷一审民事判决书((2016)沪73民初112号)

  [6]黎淑兰,陈惠珍,范静波.计算机软件开发合同纠纷疑难问题研究[J].法律适用,2018(21):118-124.

  [7]公众号:知讼观察《实践指引:2011-2019年技术合同纠纷回顾与技术交易风险管控》