软件开发合同纠纷中如何认定合格?软件开发合同纠纷案例分析
2023-04-24 20:50:34 来源:时代新闻网
软件开发合同纠纷中如何认定合格?
计算机软件开发合同中,委托方在合同签订前应明确软件需求及规则,受托方应借助技术优势和技术经验,深入调研委托方需求。软件开发过程中,双方协商达成的一致意见,应尽量通过会议记录、补充协议等方式予以固定。
一、基本案情
2014年10月28日,绿满林公司与创联公司签订《软件委托开发合同书》,委托开发“e家政”O2O家政服务网(合同简称其为系统)。
签订上述合同当日,绿满林公司和创联公司签署确认《“e家政”家政服务网需求设计书》,作为涉案软件功能开发和测试的主要依据。
2014年11月12日,绿满林公司与创联公司共同签署确认《“e家政”家政服务网软件需求变更单》,对双方2014年10月28日签署确认的《“e家政”家政服务网需求设计书》部分内容进行变更。
2015年1月4日,绿满林公司通过邮件向创联公司提出软件需求变更。2015年1月份、2月份、3月份、4月份,绿满林公司多次通过邮件或微信等方式向创联公司发送图片、文档等资料,要求创联公司将这些图片、文档替换或充实到已开发的软件程序当中,并多次对软件开发过程中存在的问题提出修改意见。
2015年3月6日,e家政软件上线。2015年4月22日,创联公司交付了e家政软件源代码及程序代码光盘一张。
2015年4月22日之后,绿满林公司又因涉案软件问题于2015年5月12日通过邮件请求创联公司帮助解决,创联公司于2015年5月13日对绿满林公司的相应请求进行了回复。
2015年10月20日,绿满林公司致函创联公司,认为创联公司所开发的软件不能达到合同目的,已构成违约。
2015年10月28日、29日,联创公司就软件运行情况及双方之间的往来邮件申请公证保全。
2016年1月21日,绿满林公司向创联公司发送《律师函》一份,以创联公司未能在规定时间内交付涉案系统,交付的系统未达到绿满林公司要求的验收标准,致使双方签订的合同目的无法实现,经过绿满林公司催告后的合理期限内创联公司未能提供改进方案,已构成根本违约,要求解除涉案合同,承担违约责任并赔偿损失。
二审中,绿满林公司提交公证书,表明绿满林公司通过第三方猪八戒平台对涉案软件进行测试,涉案软件可能存在严重问题。
二、案例分析
开发成果是否满足合同约定,是绝大多数计算机软件开发合同纠纷的主要争点。实践中,开发方常见的抗辩意见主要有两类:
一类是委托方所主张的软件存在的技术问题并不存在,这类情况属于技术事实的查明问题。
二是委托方所主张的技术问题不属于合同约定的开发范围。
委托方所主张的技术问题,是否属于合同约定的开发范围之内,常见的争议又可分为两种:
一是委托方所主张的存在的技术问题是否属于合同约定的开发范围之内。
司法实践中,当事人所主张的技术问题,在合同中完全未涉及的情形较少,多数情况下合同就相关功能问题使用了抽象或者较为上位的概念进行表述,而委托方所主张的技术问题通常是一个具体的功能问题。因此,判断委托方所主张的技术问题是否在合同约定范围之内,本质上是一个合同解释的问题。
《合同法》第125条规定,当事人对合同条款的理解有争议的,应当按照合同所使用的词句、合同的有关条款、合同的目的、交易习惯以及诚实信用原则,确定该条款的真实意思。根据上述规定,合同解释的方法包括文义解释、整体解释、目的解释、交易习惯解释和诚信解释。
(1)文义解释。对计算机软件开发合同约定的具体功能进行文义解释时,应特别注意有关用语在所述领域是否具有特别意义,如果已有特别意义则不能从一般生活意义上对该用语进行“望文生义”。
(2)体系解释。在计算机软件开发成果是否满足合同约定的解释中,整体解释方法的运用尤为重要。这是因为计算机软件是一个由各种功能集合而成的系统,各功能之间通常存在有机联系,在对合同约定的某一软件功能进行解释时,如果不把争议条款的用语与合同上下文就软件其他功能的约定进行联系,只是孤立的对争议条款进行解释,就很难准确理解当事人真实的意思表示。
(3)行业惯例。计算机软件所涉及的功能众多,通常仅约定软件的主要功能及其子功能,不可能就所有的技术细节进行约定。在对争议的具体技术问题是否属于合同约定开发范围之内时,应当特别注意参照行业习惯进行解释,不能简单地以合同未作明确约定将争议问题排除在合同约定之外。如果争议的具体技术功能属于此类软件通常应具备的功能,或者所述领域内的人员普遍认为合同对此类问题已无需特别约定的,原则上应当认定为属于合同约定范围之内。
(4)目的解释。当事人订立合同均为达到一定目的,合同的各项条款及用语均是达到该目的的手段。因此,确定合同用语的含义乃至整合合同内容自然须适用于合同目的。
二是合同履行过程中双方是否就开发新功能达成了合意的认定。
计算机软件开发合同在履行过程中,当事人的需求往往会发生变化,当争议的软件功能在原合同中未作约定时,委托方通常主张该功能属于在履行过程中双方达成合意所新开发的功能。判断合同履行过程中双方是否就开发新功能达成了合意,本质上是合同变更的认定问题。
就计算机软件开发合同而言,功能变更主要是当事人的协商变更,一般不涉及依法律或者依法院职权变更的情形。根据《合同法》第77条、第78条的规定,当事人协商一致,可以变更合同。当事人对合同变更的内容约定不明确的,推定为未变更。法院在软件开发功能是否发生变更的认定上,着重审查当事人是否就合同变更协商一致。
合同变更的本质是当事人达成新的协议更改原合同的部分条款,判断双方是否协商一致,仍要遵循合同要约承诺规则。沉默既不表示同意,也不表示反对。通说认为,承诺一般应当用明示方式,沉默或者不作为本身不构成承诺,除非当事人事先对此进行了约定。
三、法院判决
一审判决认为:
在涉案软件开发过程中,绿满林公司与创联公司进行了多次沟通,自2015年3月6日涉案软件上线运行后,绿满林公司与创联公司仍然保持着持续沟通,甚至在2015年4月22日涉案软件正式交付之后,双方仍有沟通。
在涉案软件上线运行后至正式交付后的合理期限内,绿满林公司既可以根据涉案软件上线运行后的实际情况就软件运行存在的问题向创联公司提出明确、具体的实质性修改意见,也可以在正式接收创联公司交付的涉案软件源代码等资料后对其及时组织测试验收,从而对软件所存在的问题提出实质性修改意见,或提出质量异议。
但从本案现有证据来看,绿满林公司并未在软件上线运行及软件成果正式交付后的合理期限内就涉案软件是否存在实质性问题向创联公司提出明确、具体的否定性意见。
此外,从创联公司公证保全的绿满林公司于2015年10月底仍在使用的相关软件当庭演示的运行情况来看,运行流程基本顺畅。
尽管绿满林公司认为该运行软件实际上是在创联公司所开发涉案软件的基础上进行了优化后的成果,其与原软件已经有所不同,但该意见并不能直接否认创联公司所开发软件的可用性。
从绿满林公司在2015年10月底所使用的安卓APP与创联公司2015年4月发送给绿满林公司的涉案安卓APP的运行效果的对比来看,二者运行界面并无实质性差异,这也进一步印证了创联公司所开发的涉案软件的可用性。
二审判决认为:
就本案而言,涉案合同并未明确约定软件实现功能的验收标准。
从查明的案件事实看,合同双方在合同正常履行期间交流是顺畅的,创联公司对绿满林公司就软件的开发和使用过程中存在的问题或需求的变化,均积极地做出了回应,绿满林公司对此也予以认可。2015年3月6日涉案软件上线运行后,同年4月22日双方仍对软件运行情况保持沟通和交流。
至于涉案软件使用过程中是否存在实际问题,绿满林公司作为实际使用人可以及时的发现,并向创联公司提出修改意见,而无须委托第三人对软件进行检测。
况且绿满林公司对其单方委托的案外人北京龙贝信息技术有限公司的的资质,其交付检测的软件资料是否完整、客观,上诉人绿满林公司均无证据证明。
所以,绿满林公司此证据并不能证明被上诉人创联公司交付的软件存在质量问题,导致其服务平台不能正常运行。