中华人民共和国最高人民法院民 事 判 决 书（2021）最高法知民终900号上诉人（原审原告）：徐州擎浩陪护服务有限公司。住所地：江苏省徐州市云龙区民主南路175号梅园公寓8#-306。法定代表人：韩节美，该公司经理。委托诉讼代理人：刘翔，江苏茂通律师事务所律师。被上诉人（原审被告）：朱志斌，男，1991年9月1日出生，汉族，住江苏省徐州市贾汪区。委托诉讼代理人：顾庶民，江苏三法律师事务所律师。上诉人徐州擎浩陪护服务有限公司（以下简称擎浩公司）因与被上诉人朱志斌计算机软件开发合同纠纷一案，不服江苏省南京市中级人民法院于2021年3月3日作出的（2020）苏01民初2857号民事判决，向本院提起上诉。本院于2021年4月26日立案后，依法组成合议庭，并于2021年7月7日询问当事人。上诉人擎浩公司的委托诉讼代理人刘翔，被上诉人朱志斌的委托诉讼代理人顾庶民到庭参加询问。本案现已审理终结。擎浩公司上诉请求：撤销原审判决，改判支持擎浩公司的诉讼请求，即：1.判令解除擎浩公司与朱志斌签订的《软件系统开发合同》；2.判令朱志斌返还擎浩公司已支付的款项55000元；3.判令朱志斌赔偿擎浩公司经济损失10000元。事实和理由：朱志斌构成根本违约，故涉案合同应予解除，且朱志斌应当承担违约责任。（一）原审法院关于朱志斌已基本履行涉案合同主要义务的认定错误。朱志斌开发的涉案软件缺少拼团功能，其他模块也只有框架，不能实现相关功能。双方的聊天记录可以证明擎浩公司的法定代表人对涉案软件不满意。（二）原审法院关于朱志斌交付涉案软件未过分迟延的认定错误。朱志斌的交付构成迟延履行，导致擎浩公司错失商机。按合同约定，自擎浩公司向朱志斌支付定金之日（2019年10月15日）起，朱志斌应在60个工作日内向擎浩公司交付涉案软件，但实际交付超过前述期限。（三）原审法院关于网络文化经营许可证和增值电信业务经营许可证应由擎浩公司负责办理的认定错误，相关义务应由朱志斌承担。朱志斌辩称：（一）朱志斌不存在违约情形，不应当承担违约责任。1.朱志斌不存在根本违约，涉案合同不符合约定解除或法定解除的条件，擎浩公司无权要求解除合同。2.朱志斌的合同义务已履行完毕。朱志斌根据擎浩公司的要求完成了软件前期准备及开发义务，并于2020年1月13日向擎浩公司进行了交付。3.双方未明确约定完成开发的时间，朱志斌交付涉案软件的时间未超出合理开发期限，对实现合同目的并无影响。（二）擎浩公司未履行付款义务，构成违约。1.涉案小程序未能上线系擎浩公司不具备相关经营资质所致。朱志斌在合同履行期间曾多次向擎浩公司指出运营小程序需具备相关资质，擎浩公司未予明确答复，亦未提供资质证书，相应法律后果应由其自行承担。2.涉案小程序并非社区团购软件，拼团功能不会对涉案小程序起到重要作用，缺少拼团功能不会对商品销量、浏览量产生较大影响。（三）无论涉案合同是否解除，朱志斌均不应向擎浩公司退还任何款项。朱志斌开发、交付的小程序软件虽存在瑕疵，但朱志斌已基本履行涉案合同的主要义务，其所收款项属于合法劳动所得，不应退还。擎浩公司向原审法院提起诉讼，原审法院于2020年9月9日立案受理。擎浩公司起诉请求：1.判令解除擎浩公司与朱志斌签订的软件委托开发合同；2.判令朱志斌向擎浩公司返还已支付的款项55000元；3.判令朱志斌赔偿擎浩公司经济损失10000元。朱志斌原审辩称：朱志斌已按约完成软件开发。2019年10月15日，双方就小程序软件开发事宜达成初步合作意向，约定先由朱志斌向擎浩公司出具开发方案，双方再决定是否开展合作。2019年11月下旬，双方确认开发方案后，朱志斌按照合同附件一、附件二的约定，进行了小程序开发工作。2020年1月13日，朱志斌完成小程序开发并向擎浩公司交付，要求擎浩公司支付剩余款项。擎浩公司认为小程序后期需进行修改维护，应在小程序实际运营后再支付剩余款项，并要求朱志斌草拟书面合同。朱志斌按照擎浩公司要求对小程序进行了多次修改，并添加了母婴行业的文章、视频、商城商品分类等内容。后因擎浩公司缺乏相应资质导致小程序无法通过审核并上线运营。出现该问题后，擎浩公司没有积极办理相关资质，而是于2020年3月29日通过微信向朱志斌发送解除合同通知书要求解除合同。原审法院认定如下事实：（一）关于双方的合同关系擎浩公司与朱志斌未签订书面的软件委托开发合同。擎浩公司在诉讼中提交了一份双方均未签字的软件委托开发合同。擎浩公司认为：该合同是朱志斌于2020年1月22日通过微信向擎浩公司发送的合同文本，并没有实际签署；合同中的价款与之前的约定不一致，除此之外，对其他条款内容认可；合同约定的60个工作日内完成开发，履行时间应从擎浩公司支付第一笔5000元即2019年10月15日开始计算；已支付的55000元是双方之前口头约定的90000元中的55000元，合同中的付款时间及总价款是朱志斌单方事后的意见，与双方的口头约定不一致。朱志斌认为，合同是存在的，但双方并没有按照合同履行；合同文本是2020年1月22日后拟定的，拟定合同的目的是为了确认合同总价款、软件开发的后续维护以及修改等；擎浩公司支付的55000元并没有按照合同约定的履行时间履行，且擎浩公司未对合同总额100000元提出异议；合同的履行时间应从2019年11月22日即擎浩公司支付30000元款项之后开始计算。合同附有附件1软件功能表、附件2项目明细。附件1软件功能列表包括教程、商城、论坛、我的、商城管理后台5个功能模块。其中，教程模块包括在线学习视频：孕期、婴幼儿、家庭、青少年功能；商城模块包括商品+服务、美容、娱乐、母婴、健身、更多功能；论坛模块包括支持发布图文、回复功能；我的模块包括我的基本信息、分销、拼团等功能；商城管理后台模块包括商品发布、商家管理等运营管理后台功能。双方对附件1、附件2均予认可。（二）关于合同的履行擎浩公司于2019年10月15日向朱志斌支付5000元，于2019年11月22日向朱志斌支付30000元，于2019年12月18日向朱志斌支付20000元。从2019年10月15日起，双方通过微信聊天方式沟通合同履行情况。合同履行过程中基本是朱志斌提出相关要求，擎浩公司配合办理，比如：商讨方案、提供证照、选择域名、账号注册、公众号注册实名认证、提供展示LOGO、银行账户开户、公众号名称选择、域名备案、资质审核、商品分类等。2020年1月6日前，朱志斌向擎浩公司提出资质的要求，擎浩公司认为其应具有相关资质。2020年1月13日，朱志斌向擎浩公司交付开发的小程序，双方在聊天中开始涉及价款问题且意见不一，擎浩公司要求朱志斌起草合同，内容包括后期的工作内容及具体价格。因擎浩公司资质不全，其小程序上线申请被驳回。2020年2月11日，朱志斌再次提出小程序发布运营需要相关资质，并告知擎浩公司在不具备资质的情况下只能使用假的页面，存在被投诉的风险。擎浩公司在登录小程序后提出加载速度慢、视频无法播放、更换服务器、从其他平台拷贝商品分类等问题和要求。2020年3月16日，朱志斌再次向擎浩公司发送小程序，擎浩公司认为“太简单”。2020年3月29日，擎浩公司向朱志斌提出解除合同。关于已交付的小程序，擎浩公司认为，其曾在微信中打开“小智成长记”小程序，打开后的界面与朱志斌提供的页面截图相似，但相关的功能模块无法打开，视频不能正常观看，商城商品分类是空白，没有论坛功能，其公司信息不完整，不知道后台如何操作。朱志斌认为，视频在交付的时候可以观看，上传的视频、商品分类应由擎浩公司提供但其未提供，其是模仿其他平台的分类进行整理，擎浩公司的信息需要编辑、保存才能显示。将朱志斌提供的聊天记录和小程序截图与附件1软件功能列表对比，小程序欠缺拼团功能。原审法院认为，本案原审的争议焦点是：（一）涉案软件委托开发合同法律关系是否应当解除；（二）朱志斌是否应返还擎浩公司已付款项并支付违约金。原审法院认为双方的软件委托开发合同关系不应解除，理由是：1.关于双方的权利义务，双方未签订书面的软件委托开发合同，但双方确实存在软件委托开发合同关系。从现有证据看，应当以双方认可的附件1软件功能列表、附件2项目明细、微信聊天内容及当事人陈述确定双方权利义务的内容及履行情况。双方建立合同关系的目的是擎浩公司委托朱志斌开发“小智成长记”小程序软件。关于合同价款，擎浩公司主张为90000元，朱志斌主张为100000元，双方均无其他证据佐证其主张，但至少为90000元。关于软件开发周期，双方对60个工作日内完成开发工作无异议，但对开发周期起算时点存在争议：擎浩公司主张应从2019年10月15日其支付第一笔款时开始计算，朱志斌主张应从2019年11月22日擎浩公司支付30000元之后开始计算。原审法院认为，擎浩公司支付第一笔款项之时，双方已开始履行合同，朱志斌也应开始软件开发工作；朱志斌起草的合同中关于开发启动日期的记载、微信聊天中的记录与其在庭审中的陈述均不一致，亦无证据佐证，故软件开发时间应从擎浩公司支付第一笔款项之日开始计算。关于软件是否符合约定，应以附件1软件功能列表作为评判标准。2.关于合同的履行情况，2019年10月15日，擎浩公司向朱志斌支付5000元，朱志斌亦与擎浩公司通过微信联系，说明双方已开始履行软件委托开发合同。合同履行期间，擎浩公司先后共向朱志斌付款55000元，朱志斌于2020年1月13日、2020年2月24日、2020年3月16日先后3次向擎浩公司发送涉案软件。关于朱志斌受托开发软件的完成情况，首先，双方仅列出了软件应当具备的功能模块以及功能模块所应具备的产品功能，并无具体、明确的技术要求、技术指标；其次，擎浩公司亦认可其曾登录查看的程序界面与朱志斌提供的程序页面截图相似；再次，经比对，朱志斌开发的小程序软件具备附件1软件功能列表中的全部功能模块及绝大部分产品功能，仅欠缺拼团功能；最后，从朱志斌交付涉案软件的时间看，不论是按合同文本记载的60个工作日，还是涉案小程序软件开发的一般周期，均未过分迟延。因此，朱志斌的履行行为虽存在瑕疵，但已基本完成了软件委托开发合同的主要开发工作。擎浩公司的法定代表人在收到朱志斌交付的软件后认为“太简单”，应是指小程序软件所展现的内容简单，而不是欠缺功能模块或产品功能。小程序软件运行后可向公众展示的内容，与委托方的需求及所提供的素材密切相关，正如可播放的视频数量、商城模块中的商品分类等内容，需要委托方提供资料，再将资料上传，但擎浩公司仅要求朱志斌从其他平台拷贝资料，并未向朱志斌提供充分的资料、素材，故软件程序中内容“简单”的责任不应归责于朱志斌。对于擎浩公司在原审庭审中提出的问题，分述如下：朱志斌提供的截图是相关功能模块打开后的界面，因此不存在功能模块打不开的问题；擎浩公司在软件开发过程中已提出视频不能正常播放的问题，但朱志斌称可正常播放，擎浩公司的法定代表人亦曾提出更换服务器的问题，可见擎浩公司不能正常播放视频并非朱志斌开发的软件所致，而是与擎浩公司所使用的硬件或服务器有关；关于商城模块中的商品分类问题，从页面截图可见小程序中已经存在朱志斌从其他平台“拷贝”的商品分类，但分类中具体的商品无疑应由擎浩公司根据其自身经营范围、经营项目进行填充，而与软件开发无关；页面截图中有用户发表的文字及图片，说明具备论坛功能；公司信息可上传、编辑，后台操作可通过学习掌握，均非软件的质量问题。因此，擎浩公司提出的上述问题并非朱志斌开发的软件问题，朱志斌在履行合同中不存在根本违约的情形。擎浩公司委托开发的软件包含在线学习、商城等功能，其应当申领网络文化经营许可证和增值电信业务经营许可证。该项工作是擎浩公司为履行软件委托开发合同及软件上线运营所应尽的义务，而不是朱志斌的义务。从双方的聊天内容可以看出，在朱志斌已经交付涉案软件的情况下，系因擎浩公司无法取得相关经营许可，导致涉案软件无法上线运营。综上，朱志斌受托开发、交付的涉案小程序软件虽存在瑕疵，但其已基本履行了软件委托开发合同的主要义务，交付了工作成果，基本实现了合同目的。双方未约定合同解除的条件，擎浩公司亦不享有法定解除权，其起诉要求解除合同并返还已付款项、赔偿损失，缺乏事实和法律依据，原审法院不予支持。原审法院依照《中华人民共和国合同法》（以下简称合同法）第九十四条之规定，判决：驳回擎浩公司的诉讼请求。案件受理费1425元，由擎浩公司负担。二审期间，双方当事人均未提交新证据。本院经审理查明，原审法院查明的事实基本属实，本院予以确认。另查明：（一）关于涉案合同的相关情况。擎浩公司在原审诉讼期间向原审法院提交了一份双方均未签字的软件委托开发合同（即涉案合同），除价款及付款时间外，擎浩公司与朱志斌对这份合同所记载的内容均无异议。该合同约定：1.合同签订后5个工作日内，擎浩公司向朱志斌支付首笔款55000元，系统验收后5个工作日内，擎浩公司向朱志斌支付第二笔款40000元，系统稳定运作三个月后5个工作日内，擎浩公司向朱志斌支付尾款5000元。2.启动日期：擎浩公司支付订金之日即为项目正式启动日期；完成期限：自项目正式启动60个工作日内完成。3.朱志斌应保证所开发软件能正常运行，否则视为验收不合格。4.合同解除：一方严重违反合同项下义务，且违约方在对方通知后30天仍未纠正，非违约方可向违约方发出解除合同的书面通知。5.朱志斌承担服务器、域名、微信认证的一年费用，一年后由擎浩公司承担相关费用。6.合同附件2载明，服务器采用阿里云，费用与性能参数为5000元/年（4G8核5M带宽+OSS服务器100G）。（二）关于网络文化经营许可证和增值电信业务经营许可证的相关情况。朱志斌曾在2020年1月-2月期间通过微信三次询问擎浩公司法定代表人韩节美，擎浩公司是否办理了网络文化和增值电信业务的经营资质，并告知韩节美如无相关资质则存在风险。韩节美起初回复称擎浩公司有资质，其后又表示没有，并表示会予以跟进（韩节美的回复为“我再问一下”）。（三）关于涉案软件开发的交流情况。朱志斌与擎浩公司法定代表人韩节美的微信聊天记录显示：1.2020年2月26日，韩节美称只看到了一个视频，要求再添加其他视频，并提出，视频速度太慢，希望换个大的服务器。朱志斌于2020年2月27日回复称视频都上传了。2.2020年3月9日，朱志斌询问韩节美，开发的小程序软件“前期要放哪些商品”，并告知需“整理好商品资料”；韩节美先是回复称需要内部商量一下，后表示“直接从京东上拷贝吧”；朱志斌进一步回复“具体商品资料黄总那边提供吧”。3.2020年3月16日，朱志斌应擎浩公司要求添加与擎浩公司经营活动有关的内容并再次发送涉案软件后，韩节美回复称“太简单”。2020年3月29日，擎浩公司要求解除合同。4.朱志斌为说明软件开发情况，还曾就“月嫂”功能模块向韩节美发送了月嫂图片，韩节美回复“这个图片很土”，但未就功能模块提出异议。（四）原审法院于2020年12月2日组织双方进行证据交换时，朱志斌陈述涉案小程序软件因服务器到期已无法打开。本院认为：本案为计算机软件开发合同纠纷，因涉案合同的成立和履行均发生在《中华人民共和国民法典》施行前，故根据《最高人民法院关于适用时间效力的若干规定》第一条第二款关于“民法典施行前的法律事实引起的民事纠纷案件，适用当时的法律、司法解释的规定，但是法律、司法解释另有规定的除外”的规定，本案应适用合同法以及相关司法解释的规定。首先应予明确，擎浩公司与朱志斌之间的计算机软件开发合同已成立并生效。擎浩公司与朱志斌虽未签署书面合同，但双方均认可存在计算机软件开发合同关系，并已各自履行相关的合同义务，故根据合同法第十条第一款、第四十四条第一款的规定，涉案合同已成立并生效。根据擎浩公司的上诉请求及理由，本案二审的焦点问题是：（一）原审法院关于朱志斌已基本履行涉案合同的主要义务，且未过分迟延的认定是否不当；（二）原审法院关于网络文化经营许可证和增值电信业务经营许可证应由擎浩公司负责办理的认定是否不当；（三）原审法院驳回擎浩公司的诉讼请求是否不当。（一）原审法院关于朱志斌已基本履行涉案合同的主要义务，且未过分迟延的认定是否不当擎浩公司上诉认为，朱志斌交付的涉案软件缺少拼团功能，其他模块只有框架，不能实现相关功能。原审法院认定朱志斌已基本履行涉案合同的主要义务，且交付时间未过分延迟有误。对此，本院分析如下。1.原审法院认定涉案软件虽缺少拼团功能，但朱志斌已基本履行涉案合同的主要义务，该认定并无不当。首先，朱志斌交付涉案软件后，擎浩公司的法定代表人虽曾提出上传视频数量少、需加载具体商品、上传图片不够美观等问题，但均与上传内容有关，其并未就涉案软件的功能模块、软件运行等提出异议。从双方交流情况来看，相关问题主要不属于软件开发的范畴，而属于应由擎浩公司根据自身经营情况整理数据、素材并上传的问题。朱志斌应擎浩公司要求上传经营信息并最后一次发送涉案软件后，擎浩公司法定代表人仅回复“太简单”，亦未对涉案软件的功能及运行提出异议。其次，擎浩公司基于经营需要，需在小程序模块中加载的有关内容，如在线学习内容、商品信息、公司信息等，均需由擎浩公司自行整理并上传，与软件开发无关，也非双方约定应由朱志斌承担的义务。第三，双方约定开发的软件共有五个功能模块，每一功能模块均包含有多个产品功能，拼团功能只是“我的”模块中的一项功能。从擎浩公司要求朱志斌增加上传视频的数量等情况看，缺少拼团功能并不影响其他功能的正常运行。2.原审法院认定朱志斌的交付行为未过分延迟，该认定并无不当。首先，原审法院对涉案软件开发时间起算日期的认定并无不妥。本案中，擎浩公司、朱志斌对60个工作日内完成涉案软件开发均无异议，争议在于60个工作日的起算日期，对此双方均未提供证据予以证明。擎浩公司提供的合同文本也仅显示“支付订金之日为项目正式启动日期，自项目正式启动60个工作日内完成涉案项目”，但订金数额和支付时间在该合同文本中均未记载。原审法院将擎浩公司第一次付款之日确定为项目启动之日，即涉案软件开发的起算日期，符合一般交易习惯，该认定并无不妥。其次，擎浩公司于2019年10月15日向朱志斌支付了第一笔款项5000元，按照涉案合同约定，自该日起计算60个工作日应为朱志斌交付开发软件的时限，朱志斌实际于2020年1月13日交付，逾期不足10天，并不构成严重迟延履行。并且，在合同履行过程中，擎浩公司并未对涉案软件的交付时间提出异议。最后，由于双方在订立书面合同前即开始履行，未能及时就合同价款、订金数额及支付时间、合同履行期限等达成一致意见，导致双方对合同履行期限产生争议，对此擎浩公司亦负有一定责任，而不能全部归责于朱志斌。综上，原审法院关于朱志斌已基本履行涉案合同的主要义务，且未过分迟延的认定并无不当，擎浩公司该项上诉理由不能成立，本院不予支持。（二）原审法院关于网络文化经营许可证和增值电信业务经营许可证应由擎浩公司负责办理的认定是否不当网络文化经营许可证、增值电信业务经营许可证是擎浩公司发布运营涉案软件所需要的资质，而非朱志斌开发涉案软件所需要的资质。在涉案合同就此未予约定的情况下，根据一般的商业习惯，理应由具体从事商业经营活动的擎浩公司自行申报办理。结合双方的微信聊天记录亦可知悉，朱志斌曾数次提示擎浩公司法定代表人申报办理网络文化经营许可证和增值电信业务经营许可证，擎浩公司法定代表人未提出异议。综上，原审法院关于网络文化经营许可证和增值电信业务经营许可证应由擎浩公司负责办理的认定并无不当，擎浩公司该项上诉理由不能成立，本院不予支持。（三）原审法院驳回擎浩公司的诉讼请求是否不当如前所述，朱志斌已基本履行涉案合同的主要义务，导致涉案软件最终未能上线运营的原因，是擎浩公司未申报办理网络文化经营许可证和增值电信业务经营许可证，相关责任应由擎浩公司自己承担。故原审法院驳回擎浩公司关于解除涉案合同、判令朱志斌返还已支付款项并赔偿损失的诉讼请求，并无不当。综上所述，擎浩公司的上诉请求不能成立，应予驳回；原审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项之规定，判决如下：驳回上诉，维持原判。二审案件受理费1425元，由上诉人徐州擎浩陪护服务有限公司负担。本判决为终审判决。审 判 长  何 鹏审 判 员  梁晓征审 判 员  欧宏伟二〇二一年九月二十六日法官助理  李瑞梅书 记 员  王 茜裁判要点案号（2021）最高法知民终900号案由计算机软件开发合同纠纷合议庭审判长：何鹏审判员：梁晓征、欧宏伟法官助理：李瑞梅书记员：王茜裁判日期2021年9月26日关键词软件开发合同；合同解除；违约责任当事人上诉人（原审原告）：徐州擎浩陪护服务有限公司；被上诉人（原审被告）：朱志斌。裁判结果驳回上诉，维持原判。原判主文：驳回徐州擎浩陪护服务有限公司的诉讼请求。涉案法条《中华人民共和国合同法》第十条第一款、第四十四条第一款；《最高人民法院关于适用时间效力的若干规定》第一条第二款。法律问题违约责任的认定裁判观点当事人一方不履行合同义务或者履行合同义务不符合约定的，应当承担继续履行、采取补救措施或者赔偿损失等违约责任。注：本摘要并非判决书之组成部分，不具有法律效力。