计算机软件开发合同纠纷的技术鉴定问题探讨
随着信息技术的不断进步和应用,信息化对经济社会发展的引领作用愈发明显,其影响不局限于传统的制造(化工、家具、造纸)、服务(教育、物流、金融)、零售、餐饮等领域,也包括融媒体、智慧医疗、智能制造等新兴领域。在此背景下,企业、高校、政府机构等各类主体对定制化软件的需求大幅增加,这直接推动了计算机软件开发服务市场的活跃。但随之而来的是,由于合同约定不够明确,以及软件开发本身具有高度专业性等原因,合同双方在功能实现、代码质量、交付标准等方面的认知往往存在明显差异,从而引发“计算机软件开发合同纠纷”数量显著增长[1]。
在计算机软件开发合同纠纷类案件中,开发方的诉讼请求通常为判令委托方依照合同约定支付未付款项并赔偿逾期付款利息损失;委托方则多以交付标的不合格、无法实现合同目的为由,拒付尾款,甚至要求对方返还已付款项并解除合同[2]。依照《中华人民共和国民法典》等相关法律规定,法院在审理此类案件时,除了要综合考虑双方的过错责任以外,重点需要查证的技术事实为涉案软件的开发完成度及已完成的开发成果是否符合合同约定[3][4]。软件开发过程通常包括需求收集、方案设计、编程实现、测试、安装部署、迭代更新等环节。在计算机软件开发合同订立之初,委托方提出的需求往往比较笼统和概括,约定的软件功能属于框架性标准,开发过程中不断地细化需求,对阶段性产品提出修改,具体的开发标准通常处于边开发、边确定的状态,导致软件开发标准的细化和变更贯穿于整个合同履行期间。而且,当事人履约过程中的沟通一般通过即时聊天工具和电子邮件,需要通过审查大量的电子证据才能确定合同具体的约定内容和开发标准[5]。在计算机软件开发合同纠纷中,技术鉴定是厘清责任、解决争议的关键环节。本文结合司法鉴定工作实务,对计算机软件开发合同纠纷中技术鉴定的必要性、常见问题及应对路径进行分析与探讨,以期为承办法官和诉讼当事人查明争议技术事实提供可行思路与参考。最后,从鉴定视角出发,针对计算机软件开发合同的签订与履行提出若干可行建议,以期减少潜在纠纷的发生。
供应商与采购人在签订计算机软件开发合同时,其技术内容需要依照该项目招标文件和投标文件中的“项目技术要求”部份来拟定。然而,由于采购人普遍缺乏计算机技术背景,且其业务实际需求可能随时间动态变化等主客观因素,其在招标文件中对系统功能、技术指标、技术参数等内容的描述通常较为抽象和笼统,甚至可能存在歧义的语言文字表述。
计算机软件开发合同签订后,供应商安排技术人员进场,双方组建项目工作组并明确各自的项目负责人,以便开展具体工作对接。在合同履行过程中,原初确定的功能要求会进一步细化,也有可能发生功能增加、删减等变更,随着开发的不断推进以及双方沟通的不断深入,较为抽象和笼统的功能要求、技术指标、技术参数逐步被具体化。
软件系统开发流程通常包括以下几个阶段:首先确认需求文档,随后进行原型设计确认;接着完成UI平面设计确认后,技术团队开始具体的软件系统开发。开发完成后,供应商开展内测,重点检测系统是否存在技术缺陷。内测通过后,将软件系统部署至委托方服务器进行外测,主要针对功能进行验证,确认软件在特定环境下的整体运行状况。外测结束后,针对发现的问题进行修复,最终完成正式域名的更改并上线运行。
软件开发完成后,供应商通常会在征得采购人同意的情况下,委托具备资质的专业第三方检测机构出具检测报告,并将该报告连同其他验收资料一并提交给项目验收小组。采购人及其委托的采购代理机构亦会独立委托专业第三方检测机构出具检测报告,作为验收评价的重要依据。验收小组根据竣工验收资料、现场勘验、现场演示及软件测试报告等进行综合验收。验收过程中如发现问题,验收小组将要求供应商限期整改,整改完成后重新验收,直至项目验收合格。采购文件、投标(响应)文件、采购合同等是履约验收工作的基本依据。

图1 计算机软件开发项目履约验收过程
技术鉴定是指由具备特定专业知识和资质的鉴定人,依照法定程序,对案件涉及的专门性技术问题进行鉴别和判断并提供鉴定意见的活动。在计算机软件开发合同纠纷中,其核心功能在于对软件开发合同标的软件的功能实现程度、性能指标达成度等技术事实进行鉴别和判断,从而弥补案件承办法官在相关专业知识上的不足。技术鉴定的价值不仅在于为司法裁判提供高可信度的技术依据,还在于通过独立、客观的科学论证过程,提升案件审理的公正性与说服力,减少因技术问题产生的争议焦点,进而促进诉讼资源的合理与高效配置。
在最高人民法院的引领推动下,各地知识产权审判部门已经陆续建立了技术调查官制度,目前普遍的做法是聘任专利审查员或科研机构专家担任技术调查官。相较于技术鉴定,技术调查官虽可为法官提供即时且灵活的技术咨询,但其出具的技术调查意见并不向当事人公开,且无法进入质证程序,因而在程序透明度与证据效力方面易受到质疑。此外,在计算机软件开发合同纠纷中,各方当事人往往就技术事实存在尖锐对立,而相关技术问题本身具有高度专业性与复杂性。在此情形下,技术调查官因受制于调查手段与方法的局限,难以有效满足技术事实查明的需求。例如,由于软件的运行效果受其运行环境、硬件配置、测试版本及测试用例等多种因素影响,当庭演示软件前端功能,虽然具备一定参考价值,但可能无法充分反映合同约定环境下的真实运行情况。通过技术鉴定,可以由具有资质和经验的第三方机构对标的软件的完成度、功能符合性、性能指标以及与合同约定的一致性进行鉴别和判断,为案件事实认定提供科学、客观的技术支撑。
在计算机软件开发合同纠纷中,当事人双方普遍缺乏证据收集意识,致使争议发生后提交至法院的证据质量整体偏低。然而,基于不同的诉讼请求,双方均可能承担举证责任,而技术鉴定则成为其重要的举证来源之一。实践中,鉴定申请的时机至关重要。结合司法案例经验,建议当事人在一审程序中及时提出技术鉴定申请,并提供能够初步证明涉案软件存在重大瑕疵或不符合合同约定的证据。至于二审程序,受多种因素影响,承办法官一般不会准许新的技术鉴定申请。在此情况下,当事人可考虑聘请行业专家担任专家辅助人,向法院说明案件所涉技术问题,并在质证环节就鉴定意见等技术性证据的科学性、合理性及结论可靠性发表针对性的专业意见,以增强其诉讼主张的说服力。针对疑难复杂案件中技术鉴定成本高、进度慢的问题:一方面,承办法官可在委托鉴定前与鉴定人充分沟通,结合案件事实查明目的,严格界定鉴定的范围,避免无效鉴定;另一方面,法院可探索分阶段鉴定或部分问题先行鉴定的模式,以缩短办理周期并降低鉴定申请方当事人的费用压力。
在计算机软件开发合同纠纷类案件中,法院通常委托鉴定机构对涉案软件的开发完成度及其成果是否符合合同约定进行鉴定,并明确以案涉的招投标文件以及软件开发合同中约定的功能需求为鉴定依据。然而,此类文件中对软件功能需求的文字表述往往较为笼统和抽象,且在合同履行过程中存在不断细化或变更的情况,因此在实施鉴定前,鉴定人必须在综合各类材料的基础上,准确、全面地厘清合同约定的实际软件功能需求。
由于该类案件的鉴定目的以及鉴定对象的特殊性,鉴定人在制定鉴定实施方案时需要结合电子数据鉴定和产品质量鉴定的思路与方法,涵盖现场勘验、检验及技术分析等主要环节。
软件开发功能需求的确定
计算机软件开发合同的履行过程具有高度动态性,委托方的主观需求随着时间进程不断客观化和具体化。虽然双方在合同附件中通常会对功能需求作出初步约定,但在实际履行中,这些功能点往往需要进一步细化和调整,甚至会发生删减或增加的情况。具体功能需求通常在开发过程中通过补充协议、邮件往来、即时聊天或会议磋商等方式加以明确和完善,由此形成的证据多为电子数据和书证材料,增加了整理与认定的难度。同时,依据交易习惯和行业惯例,软件合同一般仅对主要功能及子功能作出约定,而无法对所有技术细节逐一明确,从而给合同履行争议中的技术事实查明带来复杂性。
在此情形下,鉴定人除需要依照合同附件对履行合同过程中相关的电子数据和书证材料进行系统整理和分析外,还应结合委托方的业务实际情况,参照行业惯例,对合同约定的功能需求进行辅助认定,尤其要重点识别与合同目的能否实现直接相关的“核心功能需求”,从而对案涉计算机软件开发合同的软件功能需求形成客观、全面而准确的理解和认识。
由于软件功能数量众多且复杂,鉴定人可组织当事人共同梳理功能争议焦点,并在功能比对中重点检验这些争议事项。具体而言,先由委托方提交关于交付软件存在问题的清单,开发方随后逐项回复,通常包括以下几类意见:一是问题客观存在;二是问题系外部软硬件环境所致,并非软件自身缺陷;三是问题超出合同约定范围;四是相关功能已在履约过程中发生变更。其后,委托方再对开发方的回复作出反馈,明确认可与不认可的部分。经此往复沟通,最终可将涉案软件与合同约定之间的差异凝练为具体的争议焦点,从而为后续鉴定提供明确对象。
在鉴定实施环节,通常可从两个方面展开:其一,现场勘验时,参照软件开发行业的“软件测试”方法,根据已确定的功能需求编写测试用例并开展功能性测试,以验证软件系统是否达到合同约定的功能和性能指标(如响应时间),并对测试结果进行技术分析,同时对测试过程予以复核,以确保其可靠性;其二,结合委托方的业务实际需求,即涉案软件所对应的应用行业或领域,邀请相关领域专家(如医疗行业专家)参与到鉴定专家组的分析、调研与论证等鉴定活动过程中,从而辅助鉴定人对案涉软件的开发完成度、功能缺失情况、各功能模块的重要程度及主体功能的实现情况作出全面、科学、客观的判断。此外,还需注意,软件开发中各功能项的工作量存在差异,在以“已完成需求数/需求总数”计算软件开发完成度时,应当综合考虑合同中对具体功能项价款分配的约定,以确保鉴定结果的客观性和合理性。
计算机软件开发合同纠纷的复杂性要求当事人具备较强的证据意识。通过规范合同签订、强化过程管理和妥善保存证据,可以有效降低纠纷风险,维护自身合法权益。在合同签订阶段,应细化软件功能需求,避免使用模糊术语,并可参考行业标准或技术规范;同时明确验收标准与违约责任,例如功能未达标或交付延迟时的赔偿方式。在合同履行过程中,双方应重视沟通并留存书面记录,如开发方保留项目进度的往来邮件,委托方保存开发方进度的阶段性验收结果报告以及开发过程中软件存在的问题等。若涉及合同变更,必须以书面形式确认,尤其是当委托方提出需求调整时,开发方应正式书面确认。开发方交付软件时,要求委托方签署验收报告或确认单,注明交付时间与版本号等信息,以避免在争议中陷入举证不利的境地。
在诉讼阶段,当事人应及时申请证据保全,防止对方销毁或篡改证据,并在必要时申请司法鉴定,由专业机构对软件功能的完成度及其与合同约定的符合性进行鉴别和判断。此外,若项目负责人或核心技术人员离职或发生流动时,当事方应安排专人负责交接,确保项目材料、沟通记录和过程文档的完整传递,从而减少因人员变动而造成的证据缺失和风险隐患。
计算机软件开发合同纠纷具有需求动态化、技术复杂化与证据多元化的特点,这不仅加大了合同履行过程中的不确定性,也提升了司法查明技术事实的难度。在纠纷处理中,技术鉴定能够凭借专业方法和科学程序,为法院认定软件开发完成度、功能缺失及合同履行情况提供客观依据,从而在技术事实与法律判断之间建立有效桥梁。与此同时,当事人亦应在合同订立、履行与变更过程中强化证据意识,注重需求确认、过程留痕和交付验收,以降低纠纷风险并提升司法救济的可操作性。未来,随着软件产业的持续发展和合同争议的日益复杂,司法机关可进一步探索完善鉴定制度与证据规则的衔接机制,推动形成兼具专业性、公正性与效率性的解纷路径,从而更好地维护交易安全与司法公信力。

作者单位:
1、罗广渝:四川省司法鉴定协会
2、毛 跃:四川中典司法鉴定所
3、王继位:四川中典司法鉴定所
4、肖冯飞:四川中典司法鉴定所
5、罗九牧:西藏中典司法鉴定所
参考文献:
[1] 王怀林. 计算机软件开发合同纠纷争议焦点研究[D]. 中国矿业大学, 2020.
[2] 黎淑兰, 陈惠珍, 范静波. 计算机软件开发合同纠纷疑难问题研究[J]. 法律适用, 2018 (21): 118-124.
[3] 最高人民法院知识产权法庭课题组.计算机软件开发合同纠纷案件法律适用问题研究[J].法律适用, 2024(11).
[4] 洪婧.计算机软件开发合同纠纷的多重审判理念和司法规则完善[J].中国版权, 2025(1):125-135.
[5] 江苏省高级人民法院知识产权庭课题组.计算机软件案件知识产权法律问题研究[J].人民司法, 2023(34):32-39.


评论