上海市高级人民法院民 事 判 决 书（2017）沪民终7号上诉人(原审原告)：亚力山顿贸易(上海)有限公司，住所地上海市浦东新区。法定代表人：陈敏(ALEXMCHEN)，该公司总经理。委托诉讼代理人：陈荣，上海市理诚律师事务所律师。上诉人(原审被告)：探谋网络科技(上海)有限公司，住所地上海市闸北区。法定代表人：DominiekGuesMartynPouwer,该公司总经理。委托诉讼代理人：夏华，上海华夏汇鸿律师事务所律师。上诉人亚力山顿贸易(上海)有限公司(以下简称亚力山顿公司)、上诉人探谋网络科技(上海)有限公司(以下简称探谋公司)因计算机软件开发合同纠纷一案，均不服上海知识产权法院(2016)沪73民初112号民事判决，向本院提起上诉。本院于2017年1月12日立案后，依法组成合议庭，�庭进行了审理。上诉人亚力山顿公司的法定代表人陈敏、委托诉讼代理人陈荣，上诉人探谋公司的委托诉讼代理人夏华，到庭参加诉讼。本案现已审理终结。亚力山顿公司上诉请求：撤销一审判决第二项，改判探谋公司向其承担违约责任并赔偿损失共计人民币57,530元(以下币种同)。事实和理由：一审判决已认定探谋公司构成根本违约，则应判令探谋公司赔偿可得利益损失，对于该可得利益，亚力山顿公司虽无相应证据，但符合商业规律，本案中主张50,000元；亚力山顿公司为诉讼支出了6,530元翻译费、1,000元公证费，应判令由探谋公司负担。探谋公司辩称，其已履行合同义务，并不存在违约情形，请求驳回该上诉请求。探谋公司上诉请求：撤销一审判决、改判驳回亚力山顿公司全部诉讼请求。事实和理由：一、探谋公司已完成双方合同所约定的软件开发工作并已交付开发成果，即使探谋公司存在一定过错，也应判决探谋公司支付逾期违约金、亚力山顿公司接受成果交付；二、双方之间的合同在履行过程中发生了变更，探谋公司的交付开发成果的方式已由“正版正式上线”变更为只是交付可以安装的软件，亚力山顿公司已不再要求探谋公司安装软件，根据双方间合同探谋公司并无安装软件的义务；三、亚力山顿公司另行委托第三方安装涉案软件后，该第三方未能成功安装软件是由于其缺乏技术能力，当该第三方称软件无法安装时探谋公司曾要求其前来接受指导，但其并未主动前来。亚力山顿公司辩称，探谋公司首次提交的软件无法安装，只是在一审审理中探谋公司向鉴定机构提供第二次安装说明后才可安装；第二次安装说明中明确其内容为特有设计，第三方公司无法安装并非由于技术能�不足，而是由于探谋公司刻意隐瞒该特殊设计；根据合同，探谋公司应有安装软件的义务。亚力山顿公司向一审法院起诉请求：1.判令探谋公司返还合同款项322,579.2元；2.判令探谋公司承担违约责任57,530元。亚力山顿公司明确诉请1的请求权基础是探谋公司交付的源代码无法安装，致使涉案合同及《和解协议》解除的情况下,探谋公司应全额返还已经支付的合同款项；诉请2包括(2015)沪知民初字第679号案件(以下简称679号案件)的翻译费6,160元、公证费1,000元；本案翻译费370元、可得利益损失5万元。一审法院认定事实：2015年3月，亚力山顿公司与探谋公司签订《美国红酒在中国设立销售推广网站AMwines.com之合同》，第一条开发内容包括网站电脑端版本+移动端响应设计，供美国红酒的商户使用的中英文电子商务及销售推广网站，网站设计、高级后台服务平台、中国本地支付入口以及社交媒介的引入。响应移动端应用设计。预计费用：AMwines.com电子商务+销售推广网站(电脑端)220,800元；响应移动端设计7,500元；1年云托管租赁+云端服务支持48,120元；连续开发并进行SLA支持51,600元。第三条网站范围主要包括CMS系统、移动及网页设计、多语言、导航栏、商品类别展示、商品详细内容、用户界面优化、库存管理、商品管理、购物车及标价原则管理、运费管理、支付接口、社交媒介、CMS页面、博客功能、商户反馈。2015年9月14日，亚力山顿公司分别向探谋公司支付设计费77,369.4元、货款128,376.6元、服务费77,369.4元。2015年8月6日上午10：00，亚力山顿公司法定代表人向探谋公司发送邮件：Jing你好，请查收附件已签署的UAT。请建议一下交接日期和时间。谢谢!附件中的《UserAcceptanceTesting&Signoff》记载的项目�息中显示应用名称：AMwines.com，拟批准日期2015年6月4日，审批中显示批准。同日上午10：27，探谋公司向亚力山顿公司回复邮件：你好，Alex，感谢您的确认。我们已经做好上线准备。请更新域名DNS……2015年10月21日，亚力山顿公司向一审法院提起679号案件，该案审理中亚力山顿公司、探谋公司于2015年12月14日达成和解协议，约定：一、探谋公司提交的源代码不含恶意程序，且符合合同约定的第三条网站范围的实质性功能，否则，探谋公司返还已支付的合同款项，并承担相应的违约责任；二、探谋公司提交的源代码若有不符合合同范围的非实质性功能，如tenpay，探谋公司负责进行修复并承担相应的修复费用，如果拒绝修复，由亚力山顿公司自行修复，相关费用由探谋公司承担；三、双方对以上两项约定的检测结果有争议的，应交由双方认可的鉴定机构进行判�，鉴定费用由鉴定结果不利的一方承担；四、探谋公司提供的云服务器服务自2015年12月17日至2016年3月31日，否则应承担相应的违约责任；五、源代码的检测期限为本协议签订之日起十日，检测期限届满且对检测无争议的，原合同与本协议将视为履行完毕，双方的权利义务即告终止。六、亚力山顿公司向探谋公司支付39,463.8元(含增值税)，探谋公司提供相应的增值税发票；七、双方无其他争议。和解协议签订后，亚力山顿公司向探谋公司支付39,463.8元，探谋公司表示将于2015年12月15日以邮件方式给予软件运行的软硬件环境。2015年12月15日，探谋公司通过邮件向亚力山顿公司发送财付通程序包及服务器软件资料(第一次安装说明)；同年12月18日，亚力山顿公司委托的技术人员向探谋公司发送邮件，记载如下内容：当我们的技术团队尝试安装本地环境的虚拟主机AMWinesMagentowebstore时，我们发现这个网络商店是根据您的MOC层研发的(这跟我们的服务有所不同)，而且您提供的仅仅是Nginx层配置/设置(比MOC层低一个层次)。现在的情况是这样的……没有您的MOC层配置/设置，我们无法继续安装本地环境，无法进而开办这个网络商店。可否让我们的技术人员与您的技术人员进行沟通，以便解决上述问题？……探谋公司回复邮件：请检查com.amwines/config/local.xml。若需要完成任何安装工作，我们可以提供这项服务。12月24日，亚力山顿公司回复邮件：我们技术团队已经彻底地检查了com.amwines/config/local.xml文件，多次尝试安装amwineswebstore，但未安装成功。他们发现，amwineswebstore中一些编码指向一个缺失的框架，但Jing给我们的amwineswebstore中没有编写该框架。12月25日，探谋公司回复：听说我们提供的编码无法使用，对此我感到很抱歉。星期一开会时在存�编码前我一直在审查所有的活动。这确实是我们在展示机器上使用的编码。我们已经提供了和AMwines项目范围相关的所有相关原始码。我建议你们来我们办公室一趟，我们再给你们看一下档案，证明这是相同编码。再次强调，如果你们想要我们在生产环境中安装这种机器，我们可以提供这种服务。但是这超出了已经约定的范围，而且我们会就该服务另外收取服务费用。2016年1月7日，亚力山顿公司委托的技术外包公司(BLUECOMSolutionsLtd)出具评估通知：尊敬的客户，您好：……我们已对amwines在线商店代码库进行了下列评估：我们的技术团队彻底检查了代码库中的文件(com.amwines/config/local.xml)，并多次尝试安装并运行amwines在线商店，但均未成功。在上述过程中，我们发现amwines在线商店中存在一些代码，这些代码指向一个缺失的框架/代码，我们接手的amwines在线商店代码库中并未包含该代码。没有这个缺失的框架/代码，我们无法继续向主机安装本地/服务器环境和运行在线商店，我们也无法在amwines在线商店代码库中进行代码检查(我们的工作范围)。一审中亚力山顿公司申请的证人杜某某出庭作证称，探谋公司交付的源代码作了定制化开发，如果没有定制化规则，这些源代码拷贝到服务器端将无法运行。而探谋公司并没有将定制化规则告知亚力山顿公司。亚力山顿公司申请的证人林某某出庭作证称，将探谋公司交付的源代码进行安装被告知无法安装，原因是缺少定制化的安装条件。正常开发中，需要对定制化开发的规则进行说明，否则，二次开发和维护都无法进行。一审庭审中探谋公司陈述称，之所以没有告诉亚力山顿公司该源代码的定制化规则，是担心亚力山顿公司利用源代码的定制化规则进行二次开发�探谋公司认为因相关的配置规则需要特有的模块，故属于其商业秘密。2016年7月25日，一审法院委托上海辰星电子数据司法鉴定中心就探谋公司提交的涉案网站源代码能否在探谋公司告知的运行环境下实现安装进行技术鉴定。鉴定前，探谋公司应鉴定机构的要求提交了第二次安装说明。鉴定过程中，亚力山顿公司表示依据第二次提交的安装说明，涉案网站源代码可以实现安装，但认为依据第一次安装说明，涉案网站源代码无法安装。一审审理中，双方均表示679号案件中双方签订的《和解协议》作为合同履行的内容。一审法院另查明，本案一审中亚力山顿公司的起诉状副本于2016年3月11日送达探谋公司。一审法院认为：就计算机软件开发合同而言，除非有相反的约定，作为受托方的开发者不仅有义务按照合同约定交付开发成果，而且应当交付运行�件成果所必需的运行环境、安装说明或使用手册，必要时，受托方亦有义务提供必要的协助和指导，保证其提供的技术成果符合合同的约定，这是软件开发合同中开发者或受托方应当负有的合同义务。首先，探谋公司应当向亚力山顿公司交付涉案网站运行的软硬件环境。源代码要实现合同约定的“实质性功能”，前提是进行安装及调试，这需要探谋公司提供能够安装的软硬件环境或安装说明。其次，现有证据以及探谋公司一审庭审中的陈述等表明，依据其第一次提交的安装说明，亚力山顿公司聘请的技术外包无法实现对涉案网站源代码的安装。第三，在亚力山顿公司聘请的技术外包请求予以协助时，探谋公司并没有积极提供进一步的安装指导，直到本案纠纷发生后应鉴定机构的要求才向鉴定机构提交了可以实现安装的技术说明。而且在沟通过程中，探谋公司明确表示“在生产环境中安装这种机器，我们可以提供这种服务。但是这超出了已经约定的范围，而且我们会就该服务另外收取服务费用”。因此，一审法院认为，双方已经在679号案件达成和解的情况下，探谋公司本应积极促成和解协议的履行，但其上述做法有违诚实信用原则，违反了其作为软件开发者应当负有的合同义务以及双方签订《和解协议》的约定，导致涉案网站源代码无法正常安装并投入运行，构成违约。关于探谋公司提出其他专业的运维公司依据第一次提交的安装说明可以安装以及涉案网站源代码不能实现安装系由于技术外包技术水平有限的辩称意见，一审法院认为，探谋公司并无证据证明其他公司仅依据第一次提交的安装说明可以进行安装，且无论亚力山顿公司聘请的技术外包的技术水平如何，在其请求探谋公司给予安装帮助、指导的情况下，�谋公司均应当予以积极配合和充分指导，保证涉案软件安装、部署的顺利完成，这本就是受托进行软件开发应当负有的义务。如果探谋公司在2015年12月15日便将第二次安装说明发送给亚力山顿公司，对其进行必要的技术指导和协助，本案的纠纷可能不会发生。因此，一审法院对于探谋公司的相关辩称意见不予采信。关于探谋公司违约造成的法律后果。由于探谋公司未向亚力山顿公司提交能够确保涉案网站源代码正常安装的说明，致使亚力山顿公司无法对涉案网站进行安装、检测和使用，导致亚力山顿公司签订涉案合同及《和解协议》的目的无法实现，其有权解除涉案合同及双方签订的《和解协议》，并有权要求探谋公司返还已经支付的合同款项及赔偿损失。鉴于亚力山顿公司的诉状副本于2016年3月11日送达探谋公司，故双方签订的涉案合同及《和解协议》应于2016年3月11日解除。根据合同法以及《和解协议》第一条的约定，由于亚力山顿公司已经向探谋公司支付合同款项共计322,579.2元，故一审法院对于要求探谋公司返还322,579.2元的诉讼请求，予以支持；关于赔偿损失的数额，亚力山顿公司主张的679号案件翻译费6,160元、公证费1,000元以及本案翻译费370元系亚力山顿公司在诉讼中因证据提交而发生的费用，涉案合同及《和解协议》没有明确约定应当赔偿因诉讼所产生费用，而且679号案件翻译费6,160元、公证费1,000元系《和解协议》签订前发生的费用，故一审法院对于亚力山顿公司的该项诉讼请求不予支持；关于要求探谋公司赔偿可得利益损失5万元的诉讼请求，一审法院认为亚力山顿公司并未提交证据证明因探谋公司的违约行为给其造成可得利益损失，故对该项诉讼请求一审法院不予支持。一审法院判决：探谋�司于判决生效之日起十日内向亚力山顿公司返还合同款项322,579.2元；驳回亚力山顿公司的其余诉讼请求；本案一审案件受理费7,200元，由亚力山顿公司负担1,296元，由探谋公司负担5,904元；财产保全申请费2,286.8元，由探谋公司负担。本院二审期间，亚力山顿公司向本院提交了其与案外人于2016年6月8日签订的《网站服务协议》、双方往来电子邮件打印件、银行转账业务回单，欲证明亚力山顿公司在发生本案诉讼后已另行委托案外人开发红酒销售网站。探谋公司否认上述证据的真实性、关联性，并认为该网站开发协议所约定的价格远低于亚力山顿公司与探谋公司的协议价格，上述案外人在开发软件过程中可能利用或借鉴了探谋公司所开发的软件源代码。本院认为，亚力山顿公司向本院提交的该组证据能够相互印证，并能与一审已查明的事实相互印证而构成证�链，对该组证据本院予以采信。据此，本院确认一审法院查明的事实属实，并另查明：亚力山顿公司与案外人Saunders于2016年6月8日签订《网站服务协议》，约定由Saunders开发网站，亚力山顿公司分别于2016年6月16日、2017年1月29日通过银行转账向Saunders支付50,300元、40,300元。本院认为，本案争议焦点为：一、探谋公司是否违反了其与亚力山顿公司之间的合同并构成根本违约；二、如探谋公司构成根本违约，是否应承担赔偿损失的责任。一、关于探谋公司是否构成根本违约。根据查明的事实，探谋公司已根据其与亚力山顿公司之间的合同，完成了网站开发工作并向亚力山顿公司交付了相关源代码，但是，亚力山顿公司所聘请的第三方公司无法安装该软件，其原因在于探谋公司并未交付安装所需要的相应技术资料，直至本案一审过程中探谋公司才向鉴定机构提交安装涉案软件所需要的技术资料，并且亚力山顿公司获得该技术资料后亦能成功安装涉案软件；一审庭审中，探谋公司亦明确表示其未向亚力山顿公司披露涉案软件源代码的定制化规则。这表明探谋公司在履行其合同义务时并没有依约完全履行。探谋公司在接到亚力山顿公司及第三方无法安装涉案软件的通知时，表示其可以提供安装服务，但需另行收费，表明其完全知悉涉案软件在不掌握相应技术资料的情况下无法安装的事实。考虑到双方之间在本案一审之前即已因网站开发合同的履行涉讼并达成和解协议，探谋公司作为软件开发者在向亚力山顿公司交付软件时应当一并交付安装所需的相应技术资料，其亦应在亚力山顿公司及第三方公司表示无法安装涉案软件时提供协助或指导，但其疏于履行上述义务。虽然一审过程中探谋公司披露了安装软件所需的技术�料，但此时亚力山顿公司已另行委托案外第三人开发网站，这意味着探谋公司所开发的软件成果对亚力山顿公司而言已失去商业价值。故一审法院认为探谋公司未按约定履行其合同义务、亚力山顿公司无法实现其合同目的，具有事实和法律依据。当然，在涉案合同及和解协议解除、探谋公司返还合同款项的情况下，亚力山顿公司亦不得再行使用涉案软件。至于探谋公司所称的案外人在开发中可能借鉴其开发成果，并不在本案审查范围之内。综上，本院对探谋公司的上诉理由不予支持。二、关于探谋公司是否应承担赔偿责任。涉案合同依法解除后，当事人可以要求赔偿损失，但应提交证据加以证明。本案中，亚力山顿公司主张的679号案件翻译费6,160元、公证费1,000元以及本案翻译费370元系在诉讼中因证据提交而发生的费用，且679号案件翻译费6,160元、公证费1,000元系《和解协议》签订前发生的费用，亚力山顿公司要求赔偿的可得利益损失亦无证据佐证，一审法院不予支持，本院认为于法不悖。综上所述，亚力山顿公司、探谋公司的上诉请求均不能成立，应予驳回；一审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下：驳回上诉，维持原判。二审案件受理费人民币6,139元，由亚力山顿贸易(上海)有限公司负担929元、探谋网络科技(上海)有限公司负担5,210元。本判决为终审判决。审 判 长  马剑峰审 判 员  徐卓斌代理审判员  孔立明二〇一七年四月十日书 记 员  刘 伟附：相关法律条文《中华人民共和国民事诉讼法》第一百七十条第二审人民法院对上诉案件，经过审理，按照下列情形，分别处理：（一）原判决、裁定认定事实清楚，适用法律正确的，以判决、裁定方式驳回上诉，维持原判决、裁定；……