中华人民共和国最高人民法院 民 事 判 决 书 （2020）最高法知民终275号 上诉人（原审原告）:广州大明联合橡胶制品有限公司。住所地：广东省广州市花都区港口工业区大明街1号。 法定代表人：VICTORWJCHAN，该公司总经理。 委托诉讼代理人：李旭波，男，该公司员工。 被上诉人（原审被告）:北京兆信信息技术股份有限公司。住所地：北京市昌平区沙河镇能源东路1号院1号楼7层1单元702-2。 法定代表人：张永红，该公司董事长。 委托诉讼代理人：张俏，女，该公司员工。 委托诉讼代理人：易科义，男，该公司员工。 上诉人广州大明联合橡胶制品有限公司（以下简称大明公司）因与被上诉人北京兆信信息技术股份有限公司（以下简称兆信公司）计算机软件开发合同纠纷一案，不服广州知识产权法院于2019年11月13日作出的（2018）粤73民初3797号民事判决，向本院提起上诉。本院于2020年4月2日立案后，依法组成合议庭对本案进行了审理。本案现已审理终结。 大明公司上诉请求：撤销原审判决，改判支持大明公司全部诉讼请求，诉讼费用由兆信公司承担。事实和理由：（一）原审法院认定事实错误。1.兆信公司未依约完成会员系统与产品质量追溯系统的对接；2.兆信公司未依约完成微信平台与产品质量追溯系统的对接；3.双方未对涉案软件“上线试运行”进行验收，迟至2017年1月4日，项目仍处于测试版状态，并未上线试运行。以上事实有兆信公司2018年4月10日、5月25日邮件为证。（二）原审法院未支持大明公司要求兆信公司将涉案软件部署到大明公司指定服务器上的主张，处理不当。因项目现部署在兆信公司的服务器上运行，大明公司如使用涉案项目每年需缴纳28000元费用给兆信公司。（三）兆信公司拒绝将涉案软件部署至大明公司服务器上运行是一种强制搭售的行为。 兆信公司辩称，2016年6月12日《项目验收结论》是对软件总体运行进行验收，不是大明公司所述合同第二条第3项所指的对测试版的验收。 大明公司向原审法院提起诉讼，原审法院于2018年12月13日立案受理，大明公司请求判令：1.兆信公司将大明公司企业网站、会员系统、微信平台上线至大明公司指定服务器；2.兆信公司完成大明公司会员系统、微信平台与质量追溯系统的对接；3.兆信公司支付违约金14万元（计至2015年3月6日）。 原审法院认定事实：2014年9月23日，大明公司作为甲方、兆信公司作为乙方签订了《企业网站、会员系统与微信建设合同》。合同载明：在前述合同前，乙方已经对甲方的产品质量追溯系统、会员系统的原理及要求等进行了充分调研评估，并在此基础上为甲方开发配套的企业网站、会员系统及具有会员系统功能的微信平台。 合同主要条款如下：第一条，合作内容。1.建设中文简体版企业网站。2.建设会员系统（前台及管理后台），需完成与产品质量追溯系统的对接。3.建设具有会员系统功能的微信平台，需完成与产品质量追溯系统的对接。第二条，开发时间及费用。1.本合同总费用140000元。……3.合同签订后50个日历天内，乙方完成项目的建设并完成自检自测，乙方需在10个日历天内完成修改至符合甲方要求（就同一合同内容而言，在未超出合同约定的栏目、功能范围的前提下，甲方有权提出3次修改意见，但乙方未按合同要求建设或未按甲方意见修改的，甲方所提修改意见不计入次数）。经甲方测试验收通过后10个日历天，甲方支付合同总额的55%，乙方即时将合同项目上传至甲方指定的托管服务器，确保合同项目可以试运行。乙方需同时制作一份企业网站的源程序观点副本邮寄给甲方，并提供FPT的网址及账号密码给甲方，以使甲方可随时下载源程序。乙方同时提供微信的同等相关资料给甲方。……6.会员系统今后如果转至第二个品牌或（及）网站，费用为本合同费用的25%，包括会员系统VI调整，端口接入，PC网站和手机网站程序制作，微信建设等，确保实现与本合同约定的功能相同。第二个会员系统的维护费用，则为第二个会员系统建设费用的15%，且首年免维护费。若甲方今后需转至第二个品牌或（及）网站的，乙方必须依此价格建设和维护，否则属于违约。第三条，后期维护。1.乙方需确保所交付上线的网站、会员系统和微信持续按本合同约定的栏目和功能正常运行。2.经试运行通过，网站、会员系统和微信正式上线的第一年免维护费……免维护期满，若甲方仍需此服务，需支付乙方维护费28000元/年。第四条，甲方权利义务。1.甲方负责提供建设所需的涉及到甲方公司、产品等甲方本身的信息资料。……第五条，乙方权利义务。……7.项目经甲方验收合格后，乙方需向甲方提供全套的项目文档资料，包括软件系统安装手册，用户使用手册、日常及必要的施工图纸等。乙方需为甲方进行专业性的系统培训，主要分为项目原理内容和项目衔接、项目操作相关工作培训。……第十一条，附件。1.《项目清单》；2.《维护清单》；3.《企业网站、会员系统与微信建设实施方案》。合同尾部有双方签名并盖有双方公章。 2014年10月8日，双方就上述合同签订了《企业网站、会员系统与微信建设合同注释备忘录》,该备忘录对前述合同约定的“大明的产品质量追溯系统”“对接”“新的品牌产品”“数码应用功能”“升级”等进行了注释。该备忘录尾部有双方签名并盖有双方公章。 2014年10月15日，大明公司向兆信公司支付了涉案合同款的40%，即定金56000元。 2015年11月18日，兆信公司向大明公司申请对涉案项目进行验收。 2016年6月12日，大明公司在涉案合同项目验收结论上签字并盖章，该验收结论注明“通过验收”，同时备注“源程序尚未验收，其他未见异常”；《企业网站、会员系统与微信建设项目验收标准》记载有“会员系统建设前台以及管理后台，完成与产品质量追溯系统的对接”“微信平台建设具有会员系统功能，完成与产品质量追溯系统对接”等内容。庭审时，兆信公司称上述验收单上备注的“源程序尚未验收”是指尚未交付源程序，大明公司确认2016年12月底收到兆信公司交付的源程序（光盘）。 2016年7月18日，双方就上述合同签订了《补充协议》。主要内容如下：一、原合同项目逾期时间已较长，乙方本应支付较大金额的违约金给甲方。基于友好合作的考虑，甲方同意，在乙方完全履行补充协议和原合同约定的前提下，不再要求乙方支付违约金。二、签订补充协议5个工作天内，甲方先付清合同余款。乙方收齐余款5个工作天内，将原合同全部项目（即企业网站、会员系统、微信）的源程序（包含数据库）毫无保留地移交给甲方，并确保正常运行。……五、免维护费期满，若甲方仍需原合同第三条约定的后期维护的，需支付乙方维护费用：28000元/年。免维护费期自甲方接收到合格完整的源程序（含数据库）次日起算一年。六、本补充协议未有约定的其他事项，按照或者参照合同的约定执行。本补充协议与合同构成完整的整体，不具有分割性。该协议尾部有双方签名并盖有双方公章。 2016年8月8日，大明公司向兆信公司支付了合同尾款84000元。 2017年1月4日，大明公司向兆信公司发送电子邮件，要求该公司将合同项目上传至大明公司的服务器并正常运行。兆信公司于同日回复“按照约定要求我们已经将源代码交付给你们，所有的安装、调试应该由贵方完成，我们没有约定义务”。 2017年1月11日，大明公司再次向兆信公司发送电子邮件，称“根据合同相关约定（尤其第二条和第三条），将合同项目上传至我方指定的服务器和确保交付上线的项目正常运行是贵方之责”。 2018年4月10日，兆信公司向大明公司发送电子邮件，该邮件主要内容为：近日收到贵司起诉我们关于网络服务合同纠纷的事宜，贵司提到的几点要求，我们将全力配合将企业网站、会员系统、微信平台上线至贵司指定的服务器上，将会员系统、微信平台与原质量追溯系统（原嘉华的系统）对接，在实施前，希望贵司配合提供相关设备环境（见附件一），我们将在补充协议签订的10个工作日内完成系统转移（环境畅通）。 2018年5月15日，大明公司回复兆信公司，称“根据双方之前的共识，请收阅附件备忘录。待双方签订备忘录之后，双方即可正式开展升级方案的具体沟通协调”。 2018年5月25日，兆信公司向大明公司发送电子邮件，该邮件为双方拟订立的备忘录（大明公司为甲方、兆信公司为乙方）的条款。备忘录主要条款如下：一、乙方在2018年×月×日前，将“企业网站、会员系统与微信建设”合同项目进行免费升级，免费升级内容：1.企业网站、会员系统、微信平台安装在企业指定的服务器上；2.将会员系统、微信平台与质量追溯系统实现与嘉华系统的对接，对接内容和方式与一期一致；3.将原奥新妮品牌的网站、会员系统、微信平台、质量追溯系统升级为奥新妮品牌，功能和流程保持和奥新妮一致。附件为更新后的页面设计。二、甲方在2018年×月×日前，提供“企业网站、会员系统与微信建设”合同项目升级的配套内容，内容如下：1.按照附件一的要求，提供服务器的软件、硬件、网络环境；2.提供2名以上熟悉Oracle，会.net和PHP开发语言的维护工程师；3.提供奥妮品牌网页、H5页面的模板和设计元素。三、为了增加会员扫码积分的体验感，方便数据的扫描录入和其他营销活动的开展，乙方建议甲方做如下有偿升级，有偿升级内容如下：……四、乙方提供升级方案（见附件二）给甲方，经双方商洽达成一致后，双方按升级方案所列各项执行。大明公司于同日回复：按之前两间公司的共识，是免费升级用作补偿。但现在贵公司提出的方案却是有偿升级？可能是很难达成一致。 2018年5月31日，兆信公司就上述邮件回复如下：1.我们提供的免费升级功能是在原合同范围内对原有系统功能进行的某些升级和优化，是表达我们真诚服务和负责任的态度，不是孰对孰错的问题。2.作为一个积分会员系统每家企业的需求不同，实现的方式也不同，免费也是有一定的范围和条件，再说现在的会员积分系统是基于在嘉华的系统上二次开发，如果没有他们系统支持和配合，也是无法实现，除非替换嘉华系统和设备，我们免费升级内容已经在5月25日邮件第一点说明。3.为了更好配合贵司解决问题，我们建议贵司明细自己需求，文字方式提供我们，或者我们去贵司和你们团队沟通，如果是我们免费外的需求，我们再谈费用。 原审庭审时，就合同履行及后续沟通问题双方回应如下：1.关于第2项诉讼请求的依据，大明公司明确是涉案合同第一条、第二条第3点及第三条第1点、第四条第1点。2.关于合同约定的免维护期，双方均确认是2017年1月至12月，双方确认涉案软件从交付验收到免维护期届满的期间均部署在兆信公司服务器上。3.关于2018年4月10日邮件，兆信公司称其从和解的角度在合同合理范围内，即使大明公司提出新需求，其愿意为大明公司搭建服务器，但现在对接需要依赖对方的质量追溯系统，但该系统无法正常运行，因此兆信公司对超合同范围的新需求作出了免费及收费的方案。4.关于违约金支付依据及计算方式，大明公司称依据涉案合同第二条第5点及补充协议第一条、第六条的约定，其在2017年1月4日通过电子邮件要求兆信公司将涉案软件部署在其指定服务器时，兆信公司当天就拒绝，其至今未将涉案软件上传至大明公司指定服务器，故构成延迟交付；依据合同约定，从2014年11月28日计算至2015年12月21日按每日1%计算共14万元；兆信公司回应称双方在补充协议第一条已经明确约定不再要求其支付违约金，且其已经按照补充协议约定支付了违约金。 原审法院认为，大明公司、兆信公司签订《企业网站、会员系统与微信建设合同》，该合同是双方当事人的真实意思表示，且内容未违反法律、行政法规的强制性规定，故上述合同合法有效，双方均应按照约定全面履行自己的义务。涉案合同约定兆信公司为大明公司开发配套的企业网站、会员系统及具有会员系统功能的微信平台并提供后续维护服务，故涉案合同性质既包括计算机软件开发也包括计算机软件服务。根据双方诉辩意见，本案争议焦点如下：一是，兆信公司是否履行了将企业网站、会员系统与微信平台上线至大明公司指定服务器及完成与质量追溯系统对接的合同义务；二是，大明公司要求兆信公司支付违约金是否有依据。 关于争议焦点一，原审法院认为，现有证据足以证实兆信公司已经履行了将企业网站、会员系统与微信平台上线至大明公司指定服务器及完成与质量追溯系统对接，理由如下：首先，双方均确认在2016年6月12日签订项目验收结论，双方亦确认在2016年12月底完成了涉案合同项目的最终验收，2016年8月8日大明公司将涉案合同项下所有款项支付完毕，依据涉案合同第二条“开发时间及费用”、第三条“后期维护”的约定，涉案项目于2016年12月底正式上线运行，双方对于涉案项目维护期从2017年1月起算均无异议，故上述事实足以证明兆信公司于2016年12月完成为大明公司开发配套企业网站、会员系统及具有会员系统的微信平台的合同义务并正式上线运行。其次，涉案合同第二条第3点约定“经甲方测试验收通过后10个日历天，甲方支付合同总额的55%，乙方即时将合同项目上传至甲方指定的托管服务器，确保合同项目可以试运行”，大明公司在2016年6月12日的验收结论上签字盖章确认涉案项目验收通过，此时涉案项目是部署在兆信公司服务器上，直至2016年12月底最终验收均系部署在兆信公司服务器上，在2016年6月、12月两次验收期间，大明公司均未提出异议，故应当视为兆信公司已经全面履行了将企业网站、会员系统与微信平台上线至大明公司指定服务器的义务。第三，兆信公司提交的《企业网站、会员系统与微信建设项目验收标准》，该标准中包括对“会员系统、微信平台与质量追溯系统对接”内容，大明公司于2016年6月12日确认验收通过，在2016年12月底双方进行最终验收时，大明公司亦未提出兆信公司未完成上述对接的合同义务，故现有证据足以证实兆信公司完成了上述合同义务。 关于兆信公司2018年4月10日向大明公司发送的电子邮件能否视为其确认存在违约行为的问题，首先，从2018年4月10日邮件内容看，兆信公司称其会“配合将企业网站、会员系统、微信平台上线至贵司指定的服务器上，将会员系统、微信平台与原质量追溯系统（原嘉华的系统）对接，在实施前，希望贵司配合提供相关设备环境（见附件一），我们将在补充协议签订的10个工作日内完成系统转移（环境畅通）”，上述表述并无确认存在未将企业网站、会员系统、微信平台上线至指定服务器上及未将会员系统、微信平台与原质量追溯系统对接的违约行为的意思表示，且该邮件是在大明公司就涉案合同提起诉讼后兆信公司发出的，兆信公司庭审时称是因被诉而作出的和解的解释合理。其次，从2018年4月10日至5月31日兆信公司与大明公司往来邮件分析，在大明公司就涉案合同提起诉讼后，兆信公司提出在一定范围内将涉案“企业网站、会员系统与微信建设”合同项目进行免费升级的建议，但需以双方签订补充协议为前提；同时，上线至大明公司指定的服务器并完成与质量追溯系统对接亦需要大明公司的配合才能完成，故仅凭该邮件不能视为一个新的承诺，而从2018年5月25日双方往来邮件内容看，双方未就补充协议达成一致，故2018年4月10日邮件亦不能视为兆信公司承诺将涉案企业网站、会员系统、微信平台上线至大明公司指定的服务器并将会员系统、微信平台与质量追溯系统对接。 关于争议焦点二，大明公司要求兆信公司支付违约金的理由是兆信公司拒绝其2017年1月4日提出的将涉案软件部署在其指定服务器的要求且至今未履行该合同义务，构成迟延履行。如前所述，兆信公司已经履行将涉案软件部署在大明公司指定的服务器上的合同义务，大明公司2017年1月4日提出重新部署在其指定的另一服务器上的要求不属于合同义务，而构成新的要约，因双方未就此达成一致并形成新的合同，故兆信公司未履行该要求不构成违约。故大明公司据此要求兆信公司支付违约金，缺乏依据，原审法院不予支持。其次，关于迟延开发涉案项目的违约金，双方在《补充协议》第一条对于逾期履行的违约金已经做出明确约定，即“在乙方完全履行补充协议和原合同约定的前提下，不再要求乙方支付违约金”。如前所述，兆信公司已经全面履行了涉案合同义务，大明公司在签订该补充协议后亦支付了涉案合同尾款；同时，大明公司亦未主张兆信公司在2017年1月至12月的后期维护期间存在违约行为，故大明公司要求兆信公司支付违约金缺乏依据，原审法院不予支持。 综上所述，大明公司的诉讼请求，缺乏事实根据和法律依据，原审法院不予支持。原审法院依照《中华人民共和国合同法》第六条、第八条、第六十条、第九十一条第一项，《中华人民共和国民事诉讼法》第六十四条规定，判决：驳回大明公司的全部诉讼请求。案件受理费3100元，由大明公司负担。 二审中，当事人未提交新证据。 原审法院查明的事实属实，本院予以确认。 本院认为，本案二审的争议焦点问题为：兆信公司是否存在违约行为，应否承担违约责任。 本案中，根据已查明的事实，可以确认双方当事人合同约定和履行情况如下： 1.2014年9月23日，双方合同约定，合同签订后50个日历天内，兆信公司完成项目建设并完成自检自测；经大明公司测试验收通过10天，大明公司支付合同总额的55%，兆信公司即时将合同项目上传至大明公司指定的托管服务器，确保合同项目可以试运行。 2.2016年6月12日，大明公司在合同项目验收结论上签字并盖章，验收结论为通过验收（备注：源程序尚未验收，其他未见异常）。 3.2016年7月18日，双方补充协议约定，签订协议5个工作日内，大明公司先付清合同余款，兆信公司收款后5个工作日内，将合同全部项目毫无保留地移交给大明公司，并确保正常运行。补充协议未约定的其他事项，按照或者参照合同约定执行。2016年8月8日，大明公司支付兆信公司合同尾款84000元。2016年12月底，大明公司接收兆信公司交付的源程序（光盘）。2017年1月4日，大明公司电邮兆信公司，要求其将合同项目上传至大明公司服务器并正常运行。兆信公司同日回复大明公司，源代码已交付，所有的安装、调试应由大明公司完成，兆信公司没有约定义务。 4.2018年4月10日，本案涉诉后，兆信公司电邮大明公司示意将配合大明公司将企业网站、会员系统、微信平台上线至其指定的服务器，将会员系统、微信平台与原质量追溯系统（原嘉华的系统）对接，在实施前，希望大明公司配合提供相关设备环境，兆信公司将在补充协议签订的10个工作日内完成系统转移（环境畅通）。此后，大明公司提出升级方案，兆信公司对此建议有偿升级，大明公司坚持免费升级。2018年5月31日，兆信公司电邮大明公司示意免费升级内容此前邮件已说明，免费外的需求需双方再谈费用。 原审中，双方确认合同约定的第一年免费维护期是2017年1月至12月；双方确认涉案软件从交付验收到免维护期届满期间一直部署在兆信公司服务器上。 二审中，大明公司明确其原审诉讼请求2是建立在诉讼请求1服务器变动的基础上，如服务器不发生变动，则不会产生诉讼请求2。 本院认为，本案认定兆信公司是否违约的问题关键在于，双方当事人对合同的实际履行及补充协议约定，是否变更了双方合同有关“大明公司支付合同总额的55%，兆信公司即时将合同项目上传至大明公司指定的托管服务器”的约定内容。兆信公司在自有服务器上开发项目软件、完成软件交付并移交软件控制权的履约行为是否适当。对此，本院分析论述如下： 首先，2016年6月12日，大明公司对涉案合同项目通过验收，应视为双方当事人在合同实际履行中变更了合同约定。根据双方合同约定，大明公司应于项目试运行满6个月且未有新的修改意见时对合同项目验收确认。因大明公司在验收时对涉案软件部署在兆信公司服务器上是明知的，在其并未提出明确托管服务器指示即对合同项目验收通过的情形下，兆信公司有理由相信大明公司已确认涉案软件可以部署在兆信公司服务器上而无需再变动托管服务器，该确认对合同履行亦无实质性影响。双方在合同履行中实际变更了关于大明公司指示托管服务器的合同约定。兆信公司2017年1月4日邮件是对大明公司在合同结项后提出指定服务器要求的回复，并不能证明项目仍处于测试版状态。大明公司关于2016年6月12日的验收并非最终验收的主张与《项目验收结论》内容不符，不能成立。 第二，2016年7月18日，双方补充协议变更了大明公司付款条件，兆信公司不再负有将合同项目上传至大明公司指定托管服务器的合同义务。双方补充协议明确约定大明公司付清合同余款后，兆信公司将源程序移交大明公司并确保正常运行。该补充协议内容与大明公司验收结论相符，改变了双方合同第二条第3项关于大明公司指定服务器的付款约定。如大明公司在签订补充协议时对指定服务器仍有需求，则不应将兆信公司收款后的履约行为变更为移交源程序。而本案涉诉后，兆信公司向大明公司发送电邮同意大明公司指定服务器要求的意思表示是兆信公司在诉讼中的让步行为，而该让步因大明公司增加了项目升级需求而未能达成，并不能据此推定兆信公司对此负有相应的合同义务并存在违约行为。 第三，大明公司关于一年免维护费期满后，如项目软件继续部署在兆信公司服务器，则大明公司需支付兆信公司高成本维护费用，故于2017年1月4日提出指定服务器的理由不能成立。根据双方合同约定，第一年免费维护内容包括：系统维护运营，平台托管硬件与网络资源占用等，可见不论兆信公司将涉案项目部署在自有服务器上还是大明公司指定服务器上，大明公司在第一年免费维护期间均无需承担服务器租赁费用。一年免维护费期满后，大明公司如仍需兆信公司维护项目则需支付合同约定的维护费用28000元/年，否则大明公司将自行承担包括服务器租赁费在内的项目维护成本。大明公司在签订合同时对此即是明知的，且项目软件一旦部署在一服务器上正常运行，再变更为另一服务器必然会产生安装、调试等费用。故在合同履行过程中，大明公司如认为兆信公司在自有服务器上部署项目软件将增加其软件使用成本，应即时提出异议，要求兆信公司在其指定服务器上部署项目，而不是在合同已完成验收交付后、其将要产生软件使用维护成本时再提出该要求。大明公司该行为明显违背了合同履行的诚实信用原则。 综上，大明公司主张兆信公司未将项目软件上传至其指定服务器、构成违约，缺乏证据支持，不能成立。相应的，服务器不发生变动，兆信公司亦不存在未完成大明公司会员系统、微信平台与质量追溯系统对接的违约行为。原审法院认定兆信公司和合同履行过程中，不存在违约行为，不需要承担违约责任，事实清楚，应予确认。 综上所述，大明公司的上诉请求不能成立，应予驳回；原审判决认定事实清楚，适用法律正确，予以维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下： 驳回上诉，维持原判。 二审案件受理费3100元，由广州大明联合橡胶制品有限公司负担。 本判决为终审判决。 审判长  徐燕如 审判员  刘晓梅 审判员  马 军 二〇二〇年六月二十三日 法官助理毛涵 书记员刘岳天 裁判要点                            案  号                       （2020）最高法知民终275号                               案  由                       计算机软件开发合同纠纷                               合 议 庭                       审判长：徐燕如             审判员：刘晓梅、马军                                                     法官助理：毛涵                       书记员：刘岳天                               裁判日期                       2020年6月23日                               涉案合同                       《企业网站、会员系统与微信建设合同》                               关 键 词                       违约行为；合同履行；合同变更                               当 事 人                       上诉人（原审原告）:广州大明联合橡胶制品有限公司             被上诉人（原审被告）：北京兆信信息技术股份有限公司                               裁判结果                       驳回上诉，维持原判。             原判主文：驳回广州大明联合橡胶制品有限公司的全部诉讼请求。                               相关法条                       《中华人民共和国合同法》第六条、第八条、第六十条、第九十一条第一项                               法律问题                       合同的变更                               裁判观点                       合同的变更是指合同成立后，当事人在原合同的基础上对合同的内容进行修改或者补充。合同成立后，当事人应当按照合同的约定履行合同。当事人可以依据要约、承诺等有关合同成立的规定，确定是否就变更事项达成协议。如果双方当事人就变更事项达成了一致意见，变更后的内容就取代了原合同的内容，当事人就应当按照变更后的内容履行合同。                               注：本摘要并非判决书之组成部分，不具有法律效力。