二
重点
根据《中华人民共和国民法典》第五百六十六条规定,由于软件开发合同的特殊性,合同终止后,软件开发合同不能恢复原状。 因此,争议解决的焦点在于合同的实际履行、造成的损失以及各方违约责任的确定。 基于此类案件的共性,为了明确合同解除后的损失和责任分担,通常需要分析和控制以下关键点:
软件开发需求
简单地说,软件开发需求是指客户希望通过开发活动获得什么目的或功能。 开发需求可以由客户直接提供,也可以由开发人员根据对客户的研究分析,将客户非正式的需求表达转化为完整的需求定义,然后双方共同确认。 因此,在许多大型软件开发项目中,挖掘和分析客户需求也是开发者的合同义务之一。 软件开发需求的确定是合同履行和违约判定的最重要依据。
确定需求的基础。 开发要求通常在合同、招标文件中以书面形式商定,或在双方单独商定的要求声明中具体规定。 但实践中软件开发合同 管理,存在不少当事人对要求理解不一致的情况。 尤其是当合同描述与双方沟通的开发需求存在出入的情况下,一旦在履行过程中出现意见分歧,很可能导致开发进程无法继续下去。 在这种情况下,如果没有明确证据证明双方当事人另有约定开发需求,司法实践中通常以合同内容作为判断开发是否符合约定的标准。
在合同履行和案件审理过程中,双方当事人对合同约定的技术目标和技术内容的理解始终存在分歧。 根据合同法第六十一条的规定,合同生效后,当事人对质量等内容没有约定或者约定不明确的,可以协议补充; 不能达成补充协议的,按照合同的有关规定或者交易惯例确定。 在本案当事人未就合同约定的相关质量标准达成一致的情况下,一审法院依据涉案合同的相关条款作出认定。
——(2021)最高法智民终1228号
需求细化和需求变更。 基于软件开发的行业特点,客户缺乏计算机专业知识,开发者对客户行业状况的了解也存在差距。 双方前期可能无法完全明确开发需求,所以在签订合同时,只给出一个框架、抽象的需求描述。 此时,如果委托方未对所需功能的具体实现路径提出要求,而开发者通过自己选择的开发路径或方法实现功能需求的,则视为其已妥善履行其职责。合同义务。
当委托方提出补充、改进要求时,需要确定委托方在开发过程中提出的各种修改意见、改进方案、变更要求等是对原开发需求的变更还是为实现原开发需求而提出的。所需的功能。 细化要求。 当合同条款宏观、抽象或者不明确时,需要综合考虑合同签订背景、合同价格、软件性质、实际性能等因素对需求条款进行解释并判断其是否构成开发需求的变化,以及是否是开发需求的变化。 改变以达成新的协议。 为实现所需功能而提出的详细要求符合软件开发行业的正常规则,不影响合同的正常履行。 需求的变化直接导致开发功能的变化,成为开发商索赔合理延误、增加成本、甚至终止合同的依据。 特别需要注意的是,如果客户的详细需求不稳定且频繁变更,开发人员就会陷入反复修改、重复工作的境地,这在某种程度上也是一种需求变更行为。 在客户不恰当地添加、删除或频繁更改需求的情况下,开发失败或进度延迟显然不应该完全归咎于开发人员。
对于问题9中的评价管理功能,双方在合同中并未约定明确的开发标准,因此水滴互联目前通过后台消息功能实现评价管理的方式并不违反双方的合同。 关于问题15,双方在合同中并未明确约定验证码的具体有效时间,因此目前验证码有效时间60秒并不违反双方的合同。
——(2020)进03智民初256号
尽管李**祥声称“客车与用户之间的距离(公里)”功能是双方合同中约定的开发内容的一部分,但双方签订的补充合同中并没有包含该功能的要求。随后双方就此事进行了沟通,根据双方微信聊天记录,对于“教练与用户距离(公里)”功能的补充研发,双方并未达成一致。各自的主要权利和义务。 综上,根据本院查明的事实,可以认定“客车与用户之间的距离(公里)”功能不属于双方约定的开发内容,龙淼公司已完成开发并交付涉案软件。
——(2022)最高法智民终41号
根据《系统设计方案》与《委托开发合同》在内容、签订时间等方面的关系,以及双方二审的自信心,即《系统设计方案》是对《委托开发合同》的具体细化,森普主张一审法院混淆《委托开发合同》和《系统设计方案》的阶段划分,从而认定事实错误,不能成立。 ,本院不予支持。
——(2021)最高人民法院公告第180号
……无论双方是否就新需求的完成时间和开发成本达成一致,丽培公司提出新需求且未及时确认需求的行为都会不同程度地增加碧影公司的工作量,从而延长开发周期。 ; 涉案合同约定的交付期限届满后,双方仍就软件开发事宜进行沟通,仍在推进合同的履行。 应认定双方通过实际行动改变了涉案合同约定的履行期限。 因此,必应公司未在涉案合同规定的期限内交付所开发的软件软件开发合同 管理,不构成迟延履行。
——(2022)最高法714号
发展要求和发展目标。 当事人在订立开发合同时,除了抽象的或具体的开发需求外,还存在当事人可以提出总体开发目标的情况。 “总体发展目标”可能不包括总体功能或技术指标的表达,更多地体现在动机上,比如“实现各部门数据的统一”、“实现整个系统的智能化管理”等。目标并不完全等同于要求,但如果将实现发展目标作为签订合同的重要因素,当开发成果未达到目标时,委托人可以请求解除合同,并主张相应的责任,理由是:合同的根本目的无法实现。 同样,如果发展目标没有体现在合同中或当事人之间的沟通中作为发展的重要指标,也不能成为主张根本违约的理由。
根据涉案对接合同的开发目的描述,结合双方在合同履行过程中的沟通和文件签署,以及双方在原诉讼中确认接口程序的事实应与WMS系统同时上线,只要确定接口程序与WMS系统的关系即可。 它们之间有着重要的联系。 涉案对接合同也已签订,完成WMS系统的运行。 接口程序的上线和验收时间应与WMS系统同步,Proger公司应将上述系统全部交付给Greiner公司。
——(2021)最高法智民终370号
上述大猫公司试图通过所开发的软件来优化库存管理的动机,并没有通过一些协议在合同中明确体现,天马飞燕公司也不接受其在开发软件中增加库存功能。合同的签订。 Big Cat公司声称,该合同的动机不能构成订立涉案合同的目的。 结果,大猫声称涉案软件缺乏库存功能,无法实现合同目的。 该主张缺乏事实和法律依据,本院不予支持。
——(2021)最高法智民终727号
必要的协作
对于大多数软件开发项目,尤其是协作要求较高行业的专业软件开发项目,完成提供技术信息、原始数据、业务信息或技术支持等协作事宜是委托方除付款外的主要合同义务之一。 一。 一份完整的软件开发合同还会详细规定提供协作项目的方式、期限以及延迟或未能提供协作项目的后果。 如果委托方在实际履行过程中未根据开发需要或合同相关规定提供必要的协作事项,或未对开发商合理的协作请求提供及时、适当的反馈,委托方将延误项目进度和交付成果将不满足要求。 还存在提出要求等方面的失误。
威孚四方作为客户,也应主动提供相关信息或提前询问需要什么信息。 不过一开始还积极配合,后来就懈怠了。 截至2019年10月,部分接口账号仍未提供,测试验收阶段也未按照约定完成。 反馈和修改建议。 可见,项目交付被延误,合同无法履行。 双方都违反了合同,应各自承担责任……
——(2020)纪志民终第261号
结果交付
由于开发过程的可变性,软件开发通常是分阶段交付的,每个阶段的交付时间节点、交付方式、交付内容都不同。
在交付内容上,通常约定前期交付部分功能模块,后期交付总体目标程序,最终验收后交付源代码、文档等。 对于需要进行需求分析的大型软件开发项目,需求分析规范、设计计划等往往作为前期的一部分交付。 上述文件也是确定后期开发方向的关键文件,是判断后期各开发阶段是否满足合同要求的依据; 在随后的每个开发阶段,关键文件的交付与阶段费用的支付以及阶段成果的交付之间往往存在差距。 表演有明确的顺序和条件。 在这种情况下,就有行使先行权或不安权的空间。
戴林认为《施工图》是涉案合同项下的需求文件,而医疗23公司则否认《施工图》是涉案合同项下的需求文件。 对此,需要根据《建设方案》的具体内容是否包含相关各方的需求来判断。 戴林制作的《建设方案》共十六页,包括项目背景、项目目标、建设内容、功能内容、技术路线等,其中最广泛的功能内容包括区域管理、医院管理、科室管理、医生管理等。管理、日程管理、顾问管理、渠道管理、商户管理、药房管理、设备管理、会诊用户管理、患者管理、远程会诊。 上述具体且众多的功能内容反映了合同当事人的具体需求,应当视为涉案合同项下的需求文件。
——(2021)最高法智民终1515号
从交付时间点来看,在软件行业中,首次交付后经历反馈、修改、提交、反馈、修改、提交的流程是很常见的。 因此,需要重点明确符合要求的各阶段性成果的最早提交时间是否符合合同规定; 如果不是,则考虑延迟交付可能的激励因素,并根据需求变化、付款情况、具体开发进度等判断延迟交付是否构成违约。
本院认为,计算机软件开发合同履行过程中,随着合同当事人沟通的深入、委托人需求的进一步明确、开发者阶段性工作完成情况等客观变化的具体情况因素,合同双方对软件开发内容有不同的理解。 开发者对功能和需求进行调整也是正常的。 因此,不能仅仅因为开发商交付软件的时间与合同规定的时间不一致,就简单认定开发商逾期交付构成违约。
——(2021)最高法智民终1429号
就交付方式而言,根据开发所用服务器的归属,有多种交付形式。 如果是基于开发者自有服务器开发,通常通过提供目标程序安装包或安装包下载链接的方式交付; 如果是基于客户端自己的服务器开发,则传递登录信息和密码; 如果是基于租用的第三方服务器开发的话,以上所有的交付方式都是可以的。 无论采用何种交付方式,当由于存储故障、服务器故障等导致交付软件或交付记录损坏或丢失时,对该设备或服务器拥有控制权或维护义务的一方都将面临无法交付的风险。提供证据。
涉案软件是为2018年世界人工智能大会开发的。 会议期间,使用了荣宇公司开发的案件涉案软件……会议结束后,会议官方网站关闭,官方APP及配套系统下架。 当相关数据已被删除且不再满足验收条件,并以不能验收、交付为由不能实现合同目的时,其主张不能成立,本院不予支持。
——(2021)最高人民法院公告第1811号
可交付成果是否符合合同要求
在明确开发需求范围的前提下,在需求确定的基础上,需要比较所需功能与实际开发功能的适应性。 比较时要把握功能缺陷和缺失功能、核心功能和非核心功能的区别。 核心功能能否实现,与合同的根本目的能否实现密切相关; 而功能缺陷或非核心功能缺陷是指开发者虽然存在违约行为,但往往不构成根本违约。
虽然钱库公司二期系统开发交付的性能确实存在缺陷,但涉案软件已经具备大部分功能模块,并已投入商用。 钱库公司也投入了一定的人力用于软件的开发和优化。 及技术费用,本案已认定钱库公司一期系统的开发和交付不构成违约。 因此,钱库公司应对涉案合同约定的二期系统开发费用采取一定比例的降价。 措施。
——(2021)最高法智民终1429号
涉案软件作为一款进销存批发小程序,缺乏“进货方式”、“物流方式”、“外包加工配送”、购物车下单等功能,不可避免地对其采购、销售、库存查询和财务统计等功能产生实质性影响……在逾期履行合同义务的情况下,焦点公司交付的涉案软件仍然不符合标准。 庆利嘉公司依据涉案合同第十一条主张解除合同,且理由成立。 本院对此予以支持。
——(2022)最高法第698号