中华人民共和国最高人民法院民 事 判 决 书（2021）最高法知民终727号上诉人（原审原告）：北京大猫影像文化传播有限公司。住所地：北京市朝阳区高碑店乡高碑店村三区62号楼7号一层101室。法定代表人：杨帆，该公司总经理。委托诉讼代理人：罗瑞龙，男，该公司员工。委托诉讼代理人：高梁，北京市高朋律师事务所律师。被上诉人（原审被告）：北京天马飞燕科技有限公司。住所地：北京市海淀区北清路68号院24号楼D座4层138。法定代表人：张翔，该公司总经理。委托诉讼代理人：王俊颖，北京群益律师事务所律师。上诉人北京大猫影像文化传播有限公司（以下简称大猫公司）因与被上诉人北京天马飞燕科技有限公司（以下简称天马飞燕公司）计算机软件开发合同纠纷一案，不服北京知识产权法院于2020年9月17日作出的（2018）京73民初1107号民事判决，向本院提起上诉。本院于2021年4月8日立案后，依法组成合议庭，于2021年6月2日进行了询问。大猫公司的法定代表人杨帆及委托诉讼代理人罗瑞龙、高梁，天马飞燕公司的委托诉讼代理人王俊颖参加了诉讼。本案现已审理终结。大猫公司上诉请求：撤销原审判决；改判支持大猫公司在原审中提出的诉讼请求。事实与理由:（一）根据《中华人民共和国合同法》（以下简称合同法）第六十一条、第六十二条的规定，合同内容未明确约定的，应根据交易习惯、符合交易目的的特定标准履行。《小程序项目委托开发协议》（以下简称涉案合同）没有明确约定库存等功能，但大猫公司作为一家租赁公司，其合同目的是获得一款可以促进租赁业务经营的小程序，库存功能属于核心功能。天马飞燕公司明知库存功能对租赁公司而言是最重要的功能，却回避该功能的开发设计。（二）在涉案合同履行过程中，天马飞燕公司未能完成小程序的核心功能，包括库存功能、会员积分功能和赚收益功能，导致大猫公司不能实现合同目的，构成根本违约。大猫公司并非软件开发公司，不具有对软件进行检测验收的能力，涉案合同约定将测试版软件交大猫公司测试也只是由大猫公司进行简单操作、观察使用效果。大猫公司支付尾款是出于继续友好合作的心理，原审法院将其认定为对天马飞燕公司履行行为的认可，属于认定事实不清。天马飞燕公司辩称：请求驳回上诉请求，维持原判。事实与理由：（一）天马飞燕公司按照涉案合同约定完成了软件开发，已经交付验收，阶段性库存不是合同约定的功能需求，且不会导致大猫公司的合同目的不能实现。（二）如果天马飞燕公司提交的测试版出现问题，大猫公司反馈后可以进行修改，但大猫公司没有反馈意见。大猫公司于2018年9月10日向原审法院提起诉讼，请求法院：（一）判决确认大猫公司与天马飞燕公司签订的涉案合同于2018年8月27日解除；（二）判决天马飞燕公司返还大猫公司已支付的合同款92000元；（三）判决天马飞燕公司支付违约金70380元。天马飞燕公司在原审中辩称：天马飞燕公司已按约定开发、交付了微信小程序，且已通过验收，大猫公司已经支付了尾款。大猫公司的诉讼请求无事实和法律依据，应予以驳回。原审法院认定事实如下：（一）涉案合同约定的内容2018年1月，大猫公司与天马飞燕公司就开发可在智能手机设备上运行的基于微信小程序技术的应用或界面签订涉案合同，约定：1.大猫公司与天马飞燕公司委托开发项目的预计期限为2018年1月9日至2018年4月6日，天马飞燕公司最晚于2018年4月6日交付测试版产品供大猫公司测试，提前完成则立即交付至大猫公司测试。原型图以双方确认的最终需求为准，设计图以原型图为准，如开发期间大猫公司修改需求，则重新评估开发时间与费用。产品开发过程中，天马飞燕公司每五天向大猫公司反馈一次进度。2.天马飞燕公司向大猫公司提供的服务内容包括：三次产品辅导；产品设计、产品原型图、产品文档；UI设计；产品前后端开发；产品技术测试；小程序基本服务器1年；软件专著权申请。天马飞燕公司须在开发完成后交付产品各种文件、文档和程序代码（包括服务器端程序和代码、客户端程序和代码及其文档、图片、文字资料等）。3.产品开发阶段，由大猫公司于项目开发前一次性提出产品运营需求，期间若由于大猫公司再次变更需求造成延期，双方应另行签署补充协议。4.若因天马飞燕公司一方造成延期，每延期1个自然日，大猫公司有权要求天马飞燕公司按照开发费用的千分之五赔偿，延期超过15个工作日，大猫公司有权决定书面告知天马飞燕公司并单方终止，天马飞燕公司须退还大猫公司已付费用；如造成损失，天马飞燕公司应负责赔偿。天马飞燕公司如需变更开发时间表内容，须大猫公司书面认可。如大猫公司未在计划时间内提供开发材料，结束时间适当延迟。5.开发费总额92000元。大猫公司于该协议生效后七个工作日内支付46000元，天马飞燕公司完成开发总量100%并经大猫公司验收合格后七个工作日内，大猫公司支付46000元。双方于附件一中以图片形式约定了涉案软件的开发需求，具体开发内容包括“租赁部分”“待租部分”“购物车部分”和“我的部分”。（二）涉案合同履行情况2018年1月16日，天马飞燕公司工作人员张丽茹在“大猫影像小程序开发”微信群（以下简称微信群）中发送了《大猫影像项目委托开发协议（20181116）》。1月18日下午，张丽茹在微信群中发送了十项开发功能，大猫公司表示天马飞燕公司仅完成了前三项，未完成租赁、待租等七项功能。1月18日晚，张丽茹在微信群中发送了《大猫影像项目委托开发协议（20181118）》。2018年1月24日，大猫公司向天马飞燕公司支付46000元合同款。2018年3月29日至4月2日，天马飞燕公司在微信群中发送了测试版“大猫影像小程序”链接。4月25日，大猫公司在微信群中发送消息，内容包括涉案软件的16处问题。当日，张丽茹与大猫公司工作人员罗瑞龙沟通付款事宜，张丽茹认为3月30日已交付涉案软件，罗瑞龙认为涉案软件尚未开发完毕。同日，张丽茹提出要求当天付款，如果软件有问题近期继续改。罗瑞龙称付款不会有问题，但提出还完全没有做完，无法付钱。张丽茹表示，3月30号就交付了但一直没测，要求这周加紧检测，有问题随时改，该周测完该周打款。罗瑞龙对此认可，称大猫公司也着急上线，除“芝麻信用”外，别的无问题，即可支付尾款。2018年5月7日，张丽茹与大猫公司法定代表人杨帆微信沟通，要求付款，并表示可以随时修改漏洞。2018年5月28日，双方再次沟通，张丽茹称小程序审核通过，大猫公司可以申请“芝麻信用”，再次要求付款。杨帆回复称，库存功能是电子商务平台的核心东西，属于合理要求。张丽茹回复称，库存是非常大块的功能，涉案合同中没有约定；对于软件中的漏洞问题，天马飞燕公司确实只评估了开发时间，没有评估测试时间，因为怕耽误上线开发完就直接交付大猫公司了；大猫公司中间有两周一直没反馈，影响了一部分进度；大猫公司有时间测试的时候，双方配合尽快测试完。2018年6月6日，大猫公司向天马飞燕公司支付合同款46000元。杨帆在原审中称，理论上这个尾款是开发完成后才付款的。付款完同日，张丽茹称会同步安排技术弄“芝麻信用”。2018年5月30日至6月7日，双方就“芝麻信用”的技术问题进行沟通。2018年6月21日，罗瑞龙、王亚楠在微信群中就代租功能进行沟通，1.6体验版有代租功能。2018年6月25日，罗瑞龙在微信群中提出6个需要优化的地方和3个问题，包括：1.分享赚收益的功能，会员注册后看不到谁分享过来的，不能看到分享给了谁；会员详情里可设置分享给他人10%的收益，但是看不到分享给了谁，谁分享过来；分享一个会员，租了设备交了租金，前台后台看不到分多少钱；2.代租的问题，后台代租管理可见代租的器材状态，但看不到收益多少；3.积分抵现，测了几个订单，前台后台都看不到积分增加多少。张丽茹回复称，合同没有约定的不属于漏洞，积分问题属于漏洞，会继续修改漏洞。2018年6月25日，张丽茹与罗瑞龙沟通。罗瑞龙称要与张丽茹聊一下后续事情，张丽茹问开发时间能否接受；罗瑞龙称时间另说，主要是谈一下这个版本的收尾和下个版本的框架；提出在下个版本之间加一个优化版本，有几个必要功能，如果合适就做，不合适就放2.0或另找公司优化，功能包括：阶段性库存；会员后台看到分享给了谁，看到名单、分享后的人的每一笔交易、每笔提成收益，被分享会员有标签是谁分享，收益能自助提现；代租商品代租人能看到每笔代租交易、总价及提成数，自助提现。同时，罗瑞龙问源代码何时发送，张丽茹于2018年6月25日晚通过邮件发送大猫影像租赁小程序代码包。2018年6月28日，罗瑞龙发送一张图片，提出有一个错别字。对于王亚楠回复的1.9版本，罗瑞龙提出由王亚楠发布，有漏洞找王亚楠。之后王亚楠进行发布。2018年7月28日，罗瑞龙要求张丽茹提供付款发票，张丽茹于2018年8月9日发出。2018年8月25日，大猫公司向天马飞燕公司发出律师函，称：天马飞燕公司未完成第4至10项承诺的功能，也未完成涉案合同约定的核心功能，包括库存功能、会员积分功能和赚收益功能；大猫公司要求解除涉案合同。大猫公司向原审法院提交了其自行录制的操作涉案软件的视频（视频录制时间为2018年8月10日），以证明天马飞燕公司提交的涉案软件并未完成天马飞燕公司承诺的7项功能。天马飞燕公司向原审法院提交了设计图文档。原审法院认为：涉案合同及其附件系双方真实意思表示一致的结果，不违反法律、行政法规的效力性强制性规定，合法有效。双方均应严格按照约定，履行相关义务。（一）涉案软件开发需求的确定依据根据涉案合同约定，签订涉案合同之前，双方达成的意见应废止；在产品开发阶段，大猫公司于项目开发前一次性提出产品运营需求，变更需求造成延期，应另行签订补充协议。天马飞燕公司首先在2018年1月16日发送了涉案合同的商讨文件，于2018年1月18日下午又提出了10项开发内容，并于该日晚间，又发送了涉案合同的商讨文件。由此可见，涉案合同的签订时间晚于天马飞燕公司提出10项开发内容的时间，故对于涉案软件的开发需求，应以涉案合同及其附件的约定为准。此外，天马飞燕公司所称的10项开发内容，并非全部是其承诺予以开发的，其所称“待给到时间和费用”，应指大猫公司明确该项功能需要开发的时间及费用之后，经双方合意，方能作为涉案合同约定的需求予以开发。而对于不在合同内容中的需求，双方并未签署补充协议。因此，大猫公司所称天马飞燕公司未开发其承诺的7项功能属于违约的主张，并不能当然成立。判断天马飞燕公司是否未按合同约定履行开发义务，应以涉案合同附件中明确记载的需求为依据。（二）天马飞燕公司是否违约根据涉案合同的约定，项目开发期限最晚为2018年4月6日，此处要求交付的软件为测试版。根据通常理解，“测试版”应当是指供测试的版本，该版本是不完善的，有的可能存在功能缺陷，有的可能有漏洞。天马飞燕公司已经于3月29日晚间交付了测试版，不存在迟延履行的违约行为。涉案合同约定天马飞燕公司交付测试版产品至大猫公司以供测试，该约定明确了应由大猫公司进行测试。根据涉案合同的约定，尾款的支付条件为天马飞燕公司完成开发总量的100%，且大猫公司验收合格。其中开发总量的100%，应指涉案软件功能开发工作已经完成，具备了合同约定的全部功能，而非不存在任何漏洞。大猫公司在接收天马飞燕公司交付的涉案软件后，应当进行测试，通过测试且验收合格后，尾款支付条件成就。1.关于开发工作，在大猫公司支付尾款之前，其并未反馈已交付的涉案软件存在未开发的功能，双方沟通涉及的问题属于已有功能存在的漏洞；大猫公司支付尾款之后，双方就涉案软件存在的问题继续沟通。根据大猫公司的主张，天马飞燕公司未完成的需求包括：阶段性库存功能、会员积分功能、赚收益功能、2018年1月18日下午提出的7项功能。关于阶段性库存功能，在附件一中不存在该需求。天马飞燕公司在2018年5月28日与大猫公司的沟通中明确表示该功能并非涉案合同约定的内容。2018年6月25日上午，双方的沟通中，大猫公司所提的3个问题和6个优化项目中并不包含阶段性库存功能。之后，双方沟通涉案软件的后续工作，大猫公司称在涉案软件下个版本或优化版本中做几个必要功能，其中包括阶段性库存功能。因此，根据涉案合同的约定及双方履行情况，阶段性库存功能并不属于约定的需求。关于会员积分功能，附件一包含积分功能。从双方2018年6月25日上午的沟通内容看，天马飞燕公司开发了会员积分功能，但该功能存在问题。关于赚收益功能，合同约定了赚收益功能，用户可以分享专有小程序码，其他用户通过该程序码消费后，分享的用户应能获得收益，且该收益可以提现，但并未约定用户可以看见分享的来源与去向，也未约定可以看到每一笔交易及其收益明细。因此，大猫公司所主张赚收益功能的需求，并不完全属于合同约定的内容。在大猫公司提交的视频中，涉案软件具备设计图中确定的收益提现界面，但操作后并未出现收益数字的变化，天马飞燕公司亦未提交证据证明提成功能已经实现。基于此，可以认定天马飞燕公司开发了该功能，但该功能存在问题。大猫公司主张的其他7项功能，其中会员积分功能、分享给客户提成功能的认定如上。选择日期直接在日历里体现没有档期的功能，涉案合同中并未约定。租金中扣除钱的功能，涉案合同约定的租金扣除功能，应指在退订界面中提示退款扣除手续费及其金额，合同中并未要求由系统自动填入具体退款金额，而需人工审核后录入扣除了正确手续费的金额。因此，天马飞燕公司已经按照涉案合同的约定完成了租金中扣除钱的功能。对于后台子账号系统功能，涉案合同中并未约定。对于分享到朋友圈的功能，附件一“我的部分”赚收益页面中，包含二维码及相关文字，表述为“扫码入器材、租赁、代租一键搞定”“长按保存图片，即可分享至朋友圈或好友”，在双方2018年6月28日的沟通中，大猫公司就包含上述信息的页面与天马飞燕公司沟通，称存在错别字，可见天马飞燕公司开发的涉案软件中包含了分享到朋友圈的功能。对于代租客户指定租赁功能，涉案合同中并未约定，2018年6月25日双方沟通涉案软件的后续工作中，大猫公司也将之作为下一版本中再做的功能。因此，大猫公司所称天马飞燕公司未完成的需求中，属于涉案合同约定开发内容的，天马飞燕公司均进行了开发，但其中会员积分及赚收益功能存在问题。综上，天马飞燕公司已经完成了开发总量的100%。2.关于验收工作，双方并未约定验收标准，大猫公司应对天马飞燕公司交付的软件进行验收，在天马飞燕公司催要尾款时，大猫公司表示会支付，但认为天马飞燕公司未开发“库存”功能，天马飞燕公司明确告知大猫公司库存功能并非合同约定的功能，除此之外，大猫公司并未提出涉案软件的其他问题，并在2018年6月6日支付了尾款。虽然大猫公司称“理论上……开发完成后才付款的”，但大猫公司并未明确表示涉案软件未通过验收，在支付尾款后，双方一直就涉案软件进行沟通，并修复漏洞，大猫公司在此期间并未要求退还尾款，也未主张支付尾款不代表认可天马飞燕的开发工作。结合本案实际履行情况，大猫公司已经认可天马飞燕公司的开发工作，尾款支付条件已经成就，天马飞燕公司后续修复漏洞的行为，属于履行涉案合同中约定的一年维护义务的行为。此外，天马飞燕公司在涉案合同的履行中，亦未出现大猫公司所称未按约定反馈开发进度及变更联系方式未及时通知的违约行为。因此，涉案合同不存在大猫公司所称不能实现合同目的的情形，大猫公司无权要求解除合同，亦无权要求天马飞燕公司返还合同款及支付违约金。综上，依照《中华人民共和国合同法》第六十条第一款之规定，原审法院作出（2018）京73民初1107号民事判决：驳回大猫公司的诉讼请求。一审案件受理费3548元，由大猫公司负担。本院二审中，双方均未向本院提供新的证据，对原审法院查明的事实无异议。原审法院查明的事实有证据佐证，本院予以确认。本院另查明：大猫公司支付合同尾款后，双方持续就小程序的修改进行沟通。2018年6月25日，天马飞燕公司通过邮箱将源代码发送给大猫公司。6月27日，天马飞燕公司发现大猫公司删除了其开发人员的登录权限，大猫公司要求天马飞燕公司自行添加。7月14日至16日，大猫公司表示自行申请“阿里云”，准备逐步将小程序转移到自己的服务器上，后台有问题再找天马飞燕公司。本院认为，本案为计算机软件开发合同纠纷。涉案合同为双方真实意思表示，且不违反法律、行政法规的强制性规定，合法有效，双方均应按照合同约定行使权利、履行义务。根据双方的诉辩主张，本案二审中的争议焦点为：（一）阶段性库存功能是否属于涉案合同约定的软件开发内容；（二）大猫公司是否有权解除合同。（一）阶段性库存功能是否属于涉案合同约定的软件开发内容首先，从涉案合同内容看，阶段性库存功能不属于合同约定的需求。根据合同法第六十一条、第六十二条的规定，只有在当事人对有关合同内容没有约定或者约定不明确的情况下，才能适用该两条法律规定明确有关合同内容。涉案合同对软件开发内容有约定，并非对该项合同内容没有约定或者约定不明确。故本案不存在适用上述两条法律规定明确涉案合同中的软件开发内容的前提条件。其次，大猫公司在合同订立阶段没有就库存功能提出需求。大猫公司作为委托方，应充分了解其对涉案小程序的需求，其明知作为一款租赁软件需要具备库存功能，但在合同磋商时没有对此提出明确需求，最终在双方签订的涉案合同文本中也没有将库存功能列入合同约定的软件开发内容之中。最后，大猫公司在合同履行过程中也没有就库存功能提出增加需求。在合同履行过程中，如果需要增加功能需求，应提出功能需求的增加、变更，并就增加内容与开发方进行协商。大猫公司的员工罗瑞龙在交付测试版以后的沟通中提出在优化版本中增加阶段性库存功能，天马飞燕公司回复“合适就做”，不合适也可以“另找公司优化”。可见，大猫公司是在开发完毕后测试的过程中提出增加库存功能。综合上述几点事实，阶段性库存功能不属于涉案合同的开发内容。（二）大猫公司是否有权解除合同1.天马飞燕公司是否存在违约行为关于会员积分、赚收益功能，均属于合同约定的内容，但大猫公司就该两项功能提出的问题不完全属于合同约定的内容，天马飞燕公司可以在交付测试版后进行进一步修改、完善，围绕对该两项功能的履行不存在违约行为。按照涉案合同的约定，应由大猫公司对天马飞燕公司提交的测试版软件进行测试。天马飞燕公司催要尾款时，大猫公司提出天马飞燕公司未开发“库存”功能，除此之外，并未提出涉案软件的其他问题，且在2018年6月6日支付了尾款。尾款支付后，双方就具体功能的问题持续进行沟通，天马飞燕公司修复了部分漏洞。在测试版软件具备约定的基本功能，存在的漏洞可以修复的情况下，大猫公司主张天马飞燕公司交付的测试版软件缺少基本功能并由此构成违约，缺乏事实和法律依据，本院不予支持。2.大猫公司的合同目的是否不能实现合同目的一般是合同的典型交易目的，即当事人订立合同所欲实现的法律效果，这种典型交易目的在每一类合同中基本上是相同的，一般不因当事人订立某一具体合同动机的不同而改变。当事人订立合同的动机，一般是经济上或者精神上促使当事人订立合同的念头。除典型交易目的所体现的动机外，当事人订立合同的其他动机并不当然等同于其合同目的；如果当事人订立合同的其他动机没有通过某种合同约定明确体现在合同中，一般并不能构成其合同目的。大猫公司作为涉案计算机软件开发合同的委托方，其合同目的是取得约定的软件，而大猫公司为促进租赁业务主观上要求软件运行后能够实现的经济效果或者其他效果是其合同动机。大猫公司试图通过开发的软件优化库存管理的上述动机没有在合同中通过某种约定明确体现出来，且天马飞燕公司并不接受其在合同订立后增加开发软件的库存功能，大猫公司主张的该项订约动机并不能构成其订立涉案合同的合同目的。由此，大猫公司以涉案软件缺少库存功能为由主张其无法实现合同目的，缺乏事实和法律依据，本院不予支持。综上所述，大猫公司的上诉请求不能成立，应予驳回；原审判决认定事实清楚，适用法律正确，应予维持。本院依照《中华人民共和国合同法》第九十四条第四项、《中华人民共和国民事诉讼法》第一百七十条第一款第一项之规定，判决如下：驳回上诉，维持原判。二审案件受理费3548元，由北京大猫影像文化传播有限公司负担。本判决为终审判决。审 判 长 余晓汉审 判 员 雷艳珍审 判 员 詹靖康二〇二一年七月十三日法官助理 张文麒书 记 员 吴迪楠裁判要点案号（2021）最高法知民终727号案由计算机软件开发合同纠纷合议庭审判长：余晓汉审判员：雷艳珍、詹靖康法官助理：张文麒书记员：吴迪楠裁判日期2021年7月13日涉案专利无关键词计算机软件开发合同；合同解释；合同目的当事人上诉人（原审原告）：北京大猫影像文化传播有限公司；被上诉人（原审被告）：北京天马飞燕科技有限公司。裁判结果驳回上诉，维持原判。原判主文：驳回大猫公司的诉讼请求。相关法条《中华人民共和国合同法》第九十四条第四项法律问题合同目的的认定裁判观点合同目的一般是合同的典型交易目的，即当事人订立合同所欲实现的法律效果，这种典型交易目的在每一类合同中基本上是相同的，一般不因当事人订立某一具体合同的动机的不同而改变。当事人订立合同的其他动机，一般是经济上或者精神上促使当事人订立合同的念头。除典型交易目的所体现的动机外，当事人订立合同的其他动机并不当然等同于其合同目的；如果当事人订立合同的其他动机，没有通过某种合同约定明确体现在合同中，一般并不能构成其合同目的。注：本摘要并非判决书之组成部分，不具有法律效力。