上海知识产权法院
民 事 判 决 书
（2015）沪知民终字第88号
上诉人（原审原告，反诉被告）上海富远软件技术有限公司，住所地上海市浦东新区张江高科技园区郭守敬路XXX号浦东软件园14幢22301-905座，主要经营地上海市徐汇区桂箐路XXX号XXX号楼XXX区XXX室。
法定代表人徐峰。
委托代理人单训平，北京大成（上海）律师事务所律师。
被上诉人（原审被告，反诉原告）中金再生资源（中国）投资有限公司，住所地上海市浦东新区浦东南路XXX号证券大厦北塔13楼。
诉讼代表人张高，中金再生资源（中国）投资有限公司管理人的负责人。
委托代理人杨巍，上海市锦天城律师事务所律师。
委托代理人沈琦，上海市锦天城律师事务所律师。
上诉人上海富远软件技术有限公司（以下简称“富远公司”）因计算机软件开发合同纠纷一案，不服上海市浦东新区人民法院（2013）浦民三（知）初字第997号民事判决，向本院提起上诉。本院依法组成合议庭，于2015年6月2日公开开庭审理了本案。上诉人富远公司的委托代理人单训平和被上诉人中金再生资源（中国）投资有限公司（以下简称“中金公司”）的委托代理人杨巍、沈琦到庭参加诉讼。本案现已审理终结。
富远公司在原审中诉称：富远公司与中金公司于2011年8月22日签订《销售合同》，约定向中金公司提供由富远公司自主研发的《中金再生公司信息管理系统1.0版本》，采购费用总价人民币（以下币种均为人民币）108万元。2013年5月，开发基本完成，但未签订交付、验收的书面材料，仅口头上进行了认可。2013年6月17日，其对中金公司员工进行软件培训，但由于中金公司的广东公司、上海公司技术领导发生意见分歧，需要修改软件中的细节，故其对软件继续修改，直至同年7-8月。现该软件系统已安装完成且正式上线，但中金公司仅支付了首笔款项54万元，一直拒绝支付余款54万元。故依据《合同法》第114条及《民事诉讼法》的相关规定起诉，请求判令中金公司：1.支付按照《销售合同》约定的费用54万元；2.支付迟延付款的利息，从安装及上线后一个月起到判决之日止，暂计到起诉日约为13，296元（即2013年6月17日起算至2013年12月7日）。
中金公司在原审中辩称：1.从合同签订到富远公司起诉已超过2年，但富远公司仍未交付合同约定的符合需求的软件。软件开发是在中金公司服务器上完成，不能因软件存在于中金公司服务器上就视为开发完成，这只是开发的步骤。2.富远公司所谓的培训其实是对软件纠错、评价和修改的过程，不能证明软件已交付或验收，且当时中金公司对软件也提出了许多修改意见。3.涉案软件仍处于开发过程中，不符合付款条件，而富远公司发律师函要求支付余款，故中金公司意识到可能有争议，合同无法履行，所以将服务器端口关闭。同时，中金公司提起反诉称：《销售合同》约定剩余价款分别在系统安装并通过验收后3个工作日内和正式上线使用后一个月内支付。但截至中金公司提起反诉，富远公司研发的系统仍未能通过中金公司验收，更未正式上线进行操作使用，不符合付款条件。富远公司在长达两年的时间内未向中金公司提供合同约定的系统，导致中金公司的正常生产经营受到严重影响，在此情况下要求中金公司付款，违背了正常的交易秩序。故请求判令：富远公司继续履行《销售合同》，在两个月内完成对“中金再生公司信息管理系统1.0版本”的研发，并确保该系统遵循《中金再生ERP系统需求分析说明书》的要求，可以上线使用。2014年2月18日，中金公司以富远公司仍未交付满足双方约定功能的软件，导致合同目的不能实现为由，将反诉请求变更为“请求于2014年2月18日解除反诉原、被告签订的《销售合同》；反诉被告归还反诉原告已支付的合同款54万元”。
针对反诉，富远公司辩称：1.其已交付软件并验收，由于双方当时关系较好故未签署书面材料，但从培训内容可反推软件已交付、验收，之后的修改实为二次开发。2.即便存在少量后续修改的部分未完成，也是因中金公司在2013年7月无任何理由关闭服务器端口所致。3.合同并未约定履行期限，即便富远公司开发的软件不符合中金公司需求，也要求继续履行，不同意解除合同。
原审法院经审理查明：
2011年8月，富远公司（乙方）与中金公司（甲方）签订《销售合同》，约定：甲方向乙方购买具备业务核算功能、统计核算功能的软件，使用范围包括甲方及其关联公司。该合同第一条“合同标的”约定：乙方向甲方提供由乙方自主研发的《中金再生公司信息管理系统1.0版本》（以下简称“涉案软件”），并进行相关实施安装及培训工作。乙方保证能及时准确地按照甲方需求提供该软件，当甲方对结算数据格式有新的要求时，乙方在约定时间内进行免费升级。第二条“合同价款，付款方式，付款范围及其他约定”约定：……（二）本合同软件费及前三年服务费为108万元。（三）上述报价包含向中金公司需求调研后，所做各定制研发模块。（四）报价包含附赠项目上线后前三年上门免费标准升级维护费。……（八）付款方式为甲方在合同签订后15个工作日内向乙方支付合同金额50%即54万元；系统部署安装后10个工作日内进行系统验收，验收通过后三个工作日内支付合同金额40%即43.2万元；正式上线使用后一个月内支付10%即10.8万元。第四条“安装、修改、测试及验收”约定：……（二）乙方在本系统经甲方测试通过后，向甲方交付使用，甲方应于五个工作日内安排本系统运行。第五条约定该系统源代码版权归乙方所有。
合同签订后，中金公司于2011年9月27日向富远公司支付54万元。富远公司进行软件开发时，最初直接在中金公司的两台服务器上进行开发，其中一台安装应用程序（以下称“应用服务器”），一台安装数据库（以下称“数据库服务器”）。2012年5月，软件的框架搭建完毕。之后，富远公司主要在己方开发好模块，再通过远程登录的方式上传到中金公司的服务器上，但仍有部分开发工作仍直接在中金公司服务器上进行。
2013年6月17日，富远公司和中金公司的相关员工开会，由中金公司项目主管卢智伟主讲，内容主要是如何在流程管理中输入数据，其中谈到“上线之前给大家培训，就是为了统一一些细节方面的事情……”。
2013年7月26日，中金公司关闭上述服务器的端口。
2013年8月初，富远公司委托代理人向中金公司发律师函催款。同年8月12日，中金公司委托代理人回函给富远公司，表示富远公司未完全履行讼争合同项下义务，该软件开发尚处于初级阶段，故要求富远公司在收到律师函后三个月内向中金公司交付讼争合同项下的完整、合格、可用且符合《ERP需求分析说明书》的软件，并完成全部安装测试；若未在上述期限内履行完毕，中金公司将保留合同项下所有权利，包括但不限于依法解除合同，并依法追究违约责任。
双方关于软件开发的需求并未签订书面文件。审理中，经双方一致确认，涉案软件应包含审批流、台账、普通报表、总报表及其他共五类模块，软件应能生成相应样式且数据准确的台账、普通报表、总报表。其中，审批流用来输入和审核实际统计需要的数据，包括采购审批单、销售审批单等模块；台账为流程过程中产生的明细统计数据，包括采购台账、销售台账、库存台账等模块；普通报表为根据台账统计的业务报表，包括利润表、利润调节表等模块；总报表为结合台账和普通报表统计出的汇总报表，包括银行存款余额汇总表、资金平衡汇总表等模块。关于软件的系统架构，富远公司认为系其安装在中金公司服务器上的软件中的架构，而中金公司则提出其中有部分台账、普通报表和总报表缺少必要字段，且还有3个普通报表（应收账款财务与业务差异明细、库存财务与业务差异明细、营运资金平衡表）未开发；除此外，其余台账、普通报表和总报表的样式和字段需求双方均确认一致。
经中金公司申请，并经富远公司同意，原审法院于2014年4月委托华东政法大学司法鉴定中心对涉案软件是否能够准确生成双方确认了字段要求的台帐、报表以及未完成部分在整个软件开发中所占工作量进行鉴定。该鉴定中心于同年12月2日出具华政司鉴中心（2014）计鉴字第JSX14-17号司法鉴定意见书，鉴定意见为：经过检验分析，对于双方确认了字段要求的台账、报表，涉案软件能够生成的台账为16个、一般报表3个、总报表0个；其中能够生成准确数据的台账为2个、一般报表2个、总报表0个；涉案软件存在应完成而未完成的部分，其在整个软件开发中所占的工作量为55.10%。
经富远公司申请，原审法院通知鉴定人廖某某出庭作证。鉴定人对具体鉴定过程陈述如下：1.关于涉案软件是否能准确生成相应台账、报表的鉴定，采取将在服务器的涉案软件中输入数据后的直接测试结果、在鉴定机构机器上运行的仿真分析结果及中金公司的手工台帐、报表进行比对的方式，综合得出结论。其中，仿真分析的过程为将涉案软件全部拷贝到鉴定机构的机器上后，将fymanager改为联机状态，再从台账、一般报表和总报表的代码中查找有效存储过程，并执行存储过程。2.关于工作量的鉴定，系根据开发环境、开发模式、存储过程、业务情况、模块数、XML描述文件、数据库中提取的对象或表格数量、存储过程数量、存储过程对应的代码量、开发完成所需添加的代码量等因素来计算。在总的工作量计算中采取了综合的方法，有的数据可能稍微偏向富远公司，有的可能稍微偏向中金公司。3.富远公司和中金公司确认数据库服务器中有fymanager和fyapply两个数据库，而其中fymanager为脱机状态。为此，鉴定人员对应用服务器中的连接代码进行分析，发现其中并无fymanager的通路。若要将fymanager联机，还要在应用服务器中添加或修改代码。因此直接在服务器的软件中输入数据时未将fymanager联机，但在仿真分析中将fymanager联机。
中金公司为上述鉴定预缴鉴定费10万元。富远公司预缴鉴定人出庭费1，000元。
对于上述鉴定意见书，富远公司提出以下异议：1.fyapply和fymanager都是数据库的一部分，fymanager为默认数据库，将其联机不需要修改配置。但鉴定机构未将fymanager联机后鉴定，导致无法依据客观基础得出结论。2.鉴定机构对工作量的鉴定只是对功能做了不完全测试，违背软件开发常识。3.鉴定所依据的标准是中金公司单方做的表格。因此上述鉴定违背了事实和法律依据。按照富远公司自行计算，工作量达到将近90%，剩余10%未完成是中金公司先关闭端口造成。中金公司对鉴定意见书的真实性无异议，但认为鉴定机构关于工作量的鉴定中做出了对富远公司有利的推定。原审法院认为，双方共同确认委托上述鉴定机构进行鉴定，三名鉴定人亦均系有计算机司法鉴定资质的鉴定人，且鉴定程序合法。富远公司及中金公司提出的上述异议属鉴定方法问题，鉴定人在出庭作证时均作出了回应和解释。鉴定人在鉴定过程中有权依据其专业知识选择鉴定方法并进而作出鉴定意见，在当事人未提出证据证明鉴定方法错误的情况下，对上述鉴定意见书予以采纳。
对于富远公司提供的2013年6月17日会议录音材料，中金公司认为无法确认被录音人身份，故对其真实性不予认可，且认为内容不能证明软件的交付和验收。原审法院认为，中金公司在第二次开庭时对录音的真实性已予以认可，仅对其证明目的不予认可。因此，对该证据予以采纳，但是否能达到其证明目的还需结合其他证据综合判断。
富远公司还提交了《顶点LiveBOS灵动业务架构平台购销合同书》及银行单据，证明富远公司为开发软件付出了巨大成本。中金公司对上述证据不予认可。原审法院认为，该证据与本案法律关系的认定并无关联，不予采纳。
原审法院认为：富远公司与中金公司签订的《销售合同》系双方的真实意思表示，合法有效，对双方均具有约束力，双方均应按约全面履行义务。该合同虽名为销售合同，但从合同约定的标的、履行方式及双方当事人在庭审中的陈述来看，系富远公司根据中金公司的要求为其进行软件的定制开发。在合同名称与合同内容不一致时，应以合同约定的权利义务内容确定合同的性质，故本案合同属计算机软件开发合同。
本案主要争议在于富远公司是否已按约完成了软件开发工作。对此富远公司认为，2013年6月的培训证明软件已交付并验收。中金公司则认为，上述所谓的培训只是开发过程中例行的测试会议，富远公司并未完成软件开发。原审法院认为，关于涉案软件的验收，讼争合同仅约定“本系统部署安装后10个工作日内进行系统验收”及“乙方在本系统经甲方测试通过后，向甲方交付使用，甲方应于五个工作日内安排本系统运行”，但对于如何验收并未具体约定。在计算机软件开发合同中，软件验收为合同履行过程的重要内容，软件开发者作为义务履行的一方，对此负有举证责任。富远公司作为软件开发者，并未提交直接证据以证明涉案软件经过验收，而仅以其所谓的“培训会议”中的“上线之前给大家培训，就是为了统一一些细节方面的事情……”的表述，认为软件已通过验收。然而，该“培训会议”的内容主要为如何输入数据，而并无其他内容直接提到涉案软件已通过验收或即将正式上线使用。从文义上看，所谓的“上线之前”是一个比较模糊的概念，仅凭此并不能认为系软件验收后到正式上线前的一段期间，而有可能包括上线前的全部开发期间。从讼争合同关于验收的约定来看，涉案软件在验收之前应为软件的整体部署安装，验收通过之后应安排软件的正式使用，但富远公司对此亦并未举证。再者，富远公司根据中金公司在此次会议上提出的修改意见继续开发，且修改范围未曾超过软件需求的系统框架，也从侧面证明涉案软件并未验收通过。最后，根据鉴定意见书，涉案软件也确实并未开发完成，且未完成部分在整个软件开发中所占的工作量为55.10%。因此，上述“培训会议”中“上线之前给大家培训，就是为了统一一些细节方面的事情……”的表述在无其他证据佐证的情况下，不能达到其证明目的。故富远公司的诉讼请求缺乏事实与法律依据，不予支持。
富远公司称软件未开发完毕系因中金公司关闭服务器端口所致。原审法院认为，根据双方在庭审中的陈述，富远公司在开发软件时有现场开发和远程登录提交两种方式，故关闭服务器端口并不会导致富远公司无法履行合同，而事实上富远公司在中金公司关闭服务器端口后并未要求继续履行合同，而是以合同履行完毕为由要求中金公司付款，反而是中金公司一再要求富远公司继续履行合同。因此，对富远公司的上述意见不予采纳。
富远公司还提出，讼争合同未约定履行期限，即便其开发的软件不符合中金公司需求，也要求继续履行，不同意解除合同。原审法院认为，根据《合同法》第六十二条第（四）项的规定，履行期限不明确的，债务人可以随时履行，债权人也可以随时要求履行，但应当给对方必要的准备时间。中金公司在2013年8月已发函要求富远公司在收到律师函后三个月内交付软件并完成测试，在2013年12月26日提起反诉时又再次要求富远公司在两个月内完成软件开发并确保能上线使用。可见，中金公司曾两次要求富远公司履行，并给予了必要的履行时间，但富远公司一直以合同已履行完毕为由要求中金公司支付余款。因此，对富远公司的上述意见不予采纳。
根据讼争合同关于合同目的的约定，富远公司为中金公司开发的软件应具备业务核算功能和统计核算功能。富远公司交付的软件中，实现业务核算、统计核算功能所涉的核心模块，即台账、一般报表和总报表大部分未完成。虽然根据鉴定意见书，涉案软件开发工作量的完成度为44.9%，然而涉案软件系作为一个整体来使用并实现功能，上述任何一个主要模块对软件整体功能的实现而言均必不可少，此种完成程度必然导致涉案软件的功能难以实现，使得合同目的不能实现，富远公司构成根本违约。中金公司据此要求解除合同符合法律规定，原审法院确认讼争合同因其行使法定解除权予以解除。当事人一方行使法定解除权的，合同自解除合同的通知到达对方时解除。本案中，原审法院将中金公司解除合同的书面请求送达富远公司的时间为2014年2月24日，故合同于该日解除。鉴于合同解除的原因在于富远公司违约，中金公司请求其返还已支付的合同款，不违反法律规定，予以支持。据此，依照《中华人民共和国合同法》第八条、第九十四条第（四）项、第九十六条第一款、第九十七条之规定，判决：一、富远公司与中金公司签订的《销售合同》于2014年2月24日解除；二、富远公司应于判决生效之日起十日内返还中金公司合同款54万元；三、驳回富远公司的诉讼请求。本诉案件受理费9，332元、反诉案件受理费4，600元、鉴定费100，000元、鉴定人出庭费1，000元，合计114，932元，由富远公司负担。
原审判决后，富远公司不服该判决，向本院提起上诉。
上诉人上海富远软件技术有限公司上诉称：第一，涉案合同履行过程中，由于中金公司擅自关闭其服务器端口，影响富远公司的软件开发工作，这是中金公司合同目的不能实现的根本原因。第二，原审中鉴定机构采用的鉴定方法错误，认定富远公司完成软件开发工作量不足50%的结论错误。第三，原审判决认定富远公司构成根本违约，系认定事实不清，原审法院据此判决解除合同，富远公司返还中金公司合同款54万元的结论错误。综上，请求判令：撤销上海市浦东新区人民法院（2013）浦民三（知）初字第997号民事判决，依法改判中金公司向富远公司支付合同余款54万元和赔偿迟延付款的利息损失。
被上诉人中金再生资源（中国）投资有限公司辩称：第一，富远公司可以在中金公司现场开发软件，也可以自行开发后上传到中金公司的服务器，因此中金公司关闭服务器端口不影响富远公司依约履行合同。中金公司也曾多次要求富远公司继续履行合同，但富远公司并未继续开发涉案软件，反而声称其已完成涉案软件的交付，并向中金公司主张合同的全部尾款。因此，富远公司以中金公司关闭服务器端口导致富远公司不能继续开发涉案软件的主张与事实不符。第二，富远公司所称的2013年6月17日的培训会仅是软件全部交付前的阶段性测试，是对软件某个开发阶段的再修改，不存在涉案合同范围外新的开发行为，不能证明富远公司已经完成涉案软件的开发工作。第三，根据合同第四条第一款的约定，涉案软件需经运行调试后才能测试、交付，富远公司既然认为因中金公司关闭服务器端口导致其不能运行调试涉案软件，也印证了富远公司实际并没有完成涉案软件的交付。综上，原审判决认定事实清楚，适用法律正确，请求驳回上诉，维持原判。
二审中，富远公司提交了以下证据材料：
1.国家版权局分别于2010年5月22日、2011年3月4日和2005年2月25日颁发的证书号分别为“软著登字第XXXXXXX号”、“软著登字第XXXXXXX号”和“软著登字第033655号”的《计算机软件著作权登记证书》，拟证明涉案软件的开发背景是富远公司在风险控制软件基础上加定制模块，富远公司具备涉案软件的开发能力。
2.中金公司与富远公司于2010年9月16日签订的《销售合同》，拟证明涉案合同总金额中包括本合同中约定的服务费合计6万元。
3.上海浦东软件园评测中心于2015年5月25日出具的《受理证明》，拟证明富远公司将其开发的涉案软件正在委托第三方鉴定中，将用来证明富远公司实际已完成涉案软件的开发义务。
中金公司对上述证据材料发表质证意见认为：证据1不属于二审中的新证据，且其内容与涉案软件之间无关联性。证据2与本案无关，系两份不同的合同，属于两个不同的法律关系。证据3送检的检材的客观性不能确定，也没有相应的结论，不具有关联性。
本院对上述证据材料认证如下：证据1不属于二审中的新证据，且其内容与涉案软件版本之间并无关联性。证据2与涉案合同系不同的合同，属于不同的法律关系，与本案没有关联性。证据3并没有具体的检测结论，且送检的检材也未经中金公司确认，与本案无关联性。综上，中金公司的质证意见理由成立，本院对富远公司提交的上述证据材料均不予采信。
本院经审理查明，原审查明事实属实，本院予以确认。
另查明：2014年11月26日，上海市浦东新区人民法院作出（2014）浦民二（商）破字第10-1号民事裁定书，裁定受理申请人中国银行股份有限公司广州开发区分行对被申请人中金再生资源（中国）投资有限公司的重整申请。2015年1月26日，上海市浦东新区人民法院作出（2014）浦民二（商）破字第10-3号民事裁定书，指定上海市锦天城律师事务所为中金再生资源（中国）投资有限公司管理人。该管理人的负责人为张高。
本院认为，本案的争议焦点主要在于：1.富远公司是否完成了涉案合同的义务；2.如果富远公司未完成涉案合同的义务，中金公司关闭服务器端口是否是其根本原因；3.原审中鉴定机构采用的鉴定方法是否明显不当。
第一，关于富远公司是否完成了涉案合同义务的问题。本院认为，双方当事人签订的涉案合同约定，中金公司向富远公司购买具备业务核算功能、统计核算功能的软件，中金公司保证能及时准确地按照富远公司需求提供该软件。原审中，双方当事人一致选定鉴定机构对富远公司的涉案软件开发成果进行鉴定，鉴定意见为：对于双方当事人确认了字段要求的台账、报表，涉案软件能够生成的台账为16个、一般报表3个、总报表0个；其中能够生成准确数据的台账为2个、一般报表2个、总报表0个；涉案软件存在应完成而未完成的部分，其在整个软件开发中所占的工作量为55.10%。据此可以判断，富远公司显然没有完成涉案合同约定的义务。而且，富远公司交付的软件中，实现业务核算、统计核算功能所涉的核心模块，即台账、一般报表和总报表大部分未完成。中金公司签订涉案合同的目的在于将涉案软件系作为一个整体来使用并实现相应的功能，上述任何一个主要模块对涉案软件整体功能的实现而言均必不可少，富远公司对涉案软件现有的完成程度必然导致涉案软件的功能难以实现，使得中金公司的合同目的不能实现，因此富远公司构成根本违约，应当依法承担相应的民事责任。
第二，关于中金公司关闭服务器端口是否是导致富远公司未完成涉案合同义务根本原因的问题。本院认为，即使中金公司关闭服务器端口导致富远公司不能远程登录、上传文件，但并不影响富远公司赴中金公司现场开发涉案软件的工作。相反，中金公司在2013年8月曾回函要求富远公司在收到律师函后三个月内交付软件并完成测试，此后中金公司在2013年12月26日提起反诉时，又再次要求富远公司在两个月内完成涉案软件的开发并确保能上线使用。可见，中金公司曾两度要求富远公司继续履行涉案合同，并给予富远公司必要的履行时间，但富远公司并没有继续履行涉案合同，也没有就继续履行涉案合同事宜与中金公司进行交涉，反而一直以富远公司已完成涉案合同义务为由要求中金公司支付合同全部余款。因此，中金公司关闭服务器端口并不是富远公司未能完成合同义务的根本原因。
第三，关于原审中鉴定机构采用的鉴定方法是否明显不当的问题。原审法院经双方当事人共同确认委托鉴定机构进行鉴定，鉴定机构指派有计算机司法鉴定资质的鉴定人进行鉴定，鉴定程序合法。富远公司提出鉴定机构采用的鉴定方法方面的问题，鉴定人在原审中出庭作证时均作出了回应和解释。鉴定人在鉴定过程中有权依据其专业知识选择鉴定方法并进而作出鉴定意见，富远公司就此提出的质疑并没有提供证据予以佐证，因此，本院对富远公司提出的该项上诉理由不予采纳。
综上所述，原审判决认定事实清楚，适用法律正确，判决并无不当。富远公司的上诉请求理由不能成立，本院不予支持。据此，依照《中华人民共和国民事诉讼法》第一百七十条第一款第（一）项和第一百七十五条之规定，判决如下：
驳回上诉，维持原判。
二审案件受理费人民币13，932元，由上诉人上海富远软件技术有限公司负担。
本判决为终审判决。
审判长 寿仲良
审判员 杨 韡
审判员 吴盈喆
二〇一五年六月十一日
书记员 蔡 宇
附：相关法律条文
《中华人民共和国民事诉讼法》
第一百七十条第二审人民法院对上诉案件，经过审理，按照下列情形，分别处理：
（一）原判决、裁定认定事实清楚，适用法律正确的，以判决、裁定方式驳回上诉，维持原判决、裁定；
……。
第一百七十五条第二审人民法院的判决、裁定，是终审的判决、裁定。