中华人民共和国最高人民法院 民 事 判 决 书 （2020）最高法知民终922号 上诉人（原审被告、反诉原告）：南宁千极网络科技有限公司。住所地：广西壮族自治区南宁市青秀区新民路**华星时代广场名仕阁****。 法定代表人：黄明克，该公司经理。 被上诉人（原审原告、反诉被告）：黄玉明，男，1980年1月27日出生，住安徽省庐江县。 上诉人南宁千极网络科技有限公司（以下简称千极公司）因与被上诉人黄玉明计算机软件开发合同纠纷一案，不服广西壮族自治区南宁市中级人民法院2020年2月21日作出的（2019）桂01民初1989号民事判决，向本院提起上诉。本院于2020年6月28日立案后，依法组成合议庭进行了审理。本案现已审理终结。 千极公司上诉请求：撤销原审判决第一、二、四项判决内容，改判驳回黄玉明原审诉讼请求，并支持千极公司的原审反诉请求；一审、二审本诉诉讼费用及反诉诉讼费用由黄玉明承担。 主要事实和理由：（一）原审法院认定千极公司逾期交付、交付的开发成果不符合合同约定，属于认定事实错误。1.千极公司交付开发成果的时间应当顺延。根据约定，网站完成顺延时间的条件为“因甲方更改网站效果图等设计及功能变动原因”，功能需求从23项增加到42项功能，具备“功能变动原因”，千极公司交付开发成果的时间应当顺延。2.千极公司2019年1月30日交付的不是测试版，而是经测试符合约定的最终版。黄玉明未在交付后五个工作日提异议属于“默认乙方的设计达到其预期制作要求”，千极公司的合同义务已履行完毕。3.对于黄玉明所提修改意见，按照《网站建设协议》第六条第4款的约定属于千极公司的维护义务，且千极公司也已维护。4.黄玉明提交的证据仅能证明2019年1月30日交付的开发成果有8项存在使用障碍，其余34项功能可以正常上线使用。即使存在上述使用障碍，千极公司只需承担违约责任，黄玉明无权解除合同。5.原审庭审中千极公司演示网站功能的过程受当时服务器及网络的影响，不能用于证明2019年1月30日交付的开发成果不符合约定，千极公司申请法院指定第三方对交付成果是否符合合同约定进行勘验。（二）服务器租用费用及苹果上线费用应当由黄玉明自行承担，原审判决千极公司退还该两项费用显失公平。因开发成果需满足安卓和苹果两种系统使用，根据约定，双方对于上述费用由黄玉明承担没有异议。开发成果交付时，该两项费用就已经实际发生，为黄玉明使用网站所消耗，不因千极公司交付开发成果状态而改变。（三）千极公司的原审反诉请求应当得到支持。1.双方对欠款事实没有异议，因千极公司已依约交付开发成果，黄玉明应依约支付开发费用余款7000元。2.双方对新增了19项功能没有异议，新增功能明显超出原约定范围，根据《网站建设协议》第五条第6款的约定，黄玉明应当向千极公司支付开发费用。3.根据《网站建设协议》第七条第6款的约定，千极公司因黄玉明违约支付的律师费用也应由黄玉明承担。（四）原审判决适用法律错误。千极公司已依约交付了开发成果，不存在违约，原审法院判决支持黄玉明的诉讼请求，属于适用法律错误。 黄玉明向原审法院提起诉讼，原审法院于2019年4月30日立案受理。黄玉明向原审法院起诉请求：1.判令千极公司退还黄玉明软件制作费用43000元；2.判令千极公司赔偿黄玉明经济损失，即苹果手机上线费用2000元；3.判令千极公司承担阿里云服务器半年费用5580.48元；4.判令千极公司不得从事与涉案合同中联动报警中心APP项目相关的任何竞争性经营活动；5.判令千极公司承担本案诉讼费用。千极公司向原审法院反诉请求：1.判令黄玉明向千极公司支付软件开发费用余款7000元；2.判令黄玉明向千极公司支付超出合同约定原有开发范围的功能开发费用50000元；3.判令黄玉明承担千极公司支付的律师费8000元；4.判令黄玉明承担本诉、反诉的诉讼费用。 原审法院认定事实： 2018年9月10日，黄玉明（甲方）与千极公司（乙方）签订一份《网站建设协议》，约定甲方委托乙方进行联动中心报警APP开发，主要条款及内容为：第一条服务项目与费用：甲方委托乙方为甲方网站进行有关的策划、设计和制作，本合同网站建设项目的设计要求、功能模块、附送产品、付款方式等由附件载明。第二条付款方式：1.本协议所涉及的服务项目总费用5万元，甲方采用转账、现金的付款方式分三笔向乙方支付，第一笔款项2万元于本合同签订当日内支付，第二笔款项2万元于确认效果图前支付，第三笔款项1万元于网站完成后上线前支付。2.如甲方付款逾期，除补交应付金额外，其拖欠的天数每天按应付金额的0.3％另付滞纳金。第三条名词解释：《网站首页风格确认书》：为了保证乙方制作的网站符合甲方的要求，乙方根据甲方提供的资料进行网站的首页效果设计，在设计达到要求后，甲方签字（印章）确认《网站首页风格确认书》，乙方开始进行网站设计。如在乙方提供网站首页效果设计图链接之日起，甲方超过3工作日未对乙方设计方案提出任何书面或者QQ讨论组意见，则相当于甲方默认乙方的设计达到其设计要求。如甲方在QQ讨论组中同意乙方的设计效果，也等同于签订确认了《网站首页风格确认书》具备与纸质文件相同的法律效应。《网站验收确认书》：乙方为甲方制作网站完成后将网站放置于暂存临时空间，并发送网站链接，交由甲方对网站进行审核验收。甲方审核验收通过后，签《网站验收确认书》。乙方在收到《网站验收确认书》，并确认合同所有款项支付完毕后，将甲方网站上传于甲方正式空间开通使用。如乙方提供网站链接之日起，甲方超过5工作日未对乙方制作完成的网站提出任何书面或QQ修改意见，则相当于甲方默认乙方的设计达到其预期制作要求，直接给予验收通过，等同于签订确认了《网站验收确认书》具备与纸质文件等同的法律效应。第四条制作时间：1.制作时间：乙方收到材料、图片及甲方按照本附件规定先行支付的第一笔款项后为甲方设计网站首页效果图以确认网站整体设计风格。甲方于乙方提交网站首页效果图链接3个工作日内，提出修改意见并交乙方进行修改。若在乙方提交效果图链接给甲方后的3个工作日内，甲方未提出任何书面或QQ讨论组修改意见的，则视为甲方己认可乙方网站效果图的设计，并自愿签订《网站首页风格确认书》。甲方对网站首页效果图确认后，乙方在甲方确认效果图之日起60个工作日之内（此工作日不包含《网站首页风格确认书》及《网站验收确认书》所需的确认时间，仅指网站制作开发时间）完成网站整站制作工作。在制作整站的过程中，如因甲方更改网站效果图方案等设计及功能变动原因导致网站制作时间延期，合同中约定的网站完成时间则相应延后，延后的日期以QQ讨论组实际沟通时间为准。2.验收期限：乙方在网站制作完成后，甲方在5个工作日内完成项目的验收并确认。如甲方超过5工作日未对乙方制作完成的网站提出任何书面或QQ讨论组修改意见，则相当于甲方默认乙方的设计达到其预期制作要求，并自愿签订《网站验收确认书》，直接给予验收通过。第五条甲方权利和义务：6.在网站开发阶段，甲方提出有关该网站制作的明确、具体、可执行的书面或QQ讨论组里技术修改需求，只属协议范围内的，乙方均可为甲方制作。因甲方修改网站建设方案而导致开发周期延后的，合同原规定的开发周期则作相应的延后，具体延期时间以QQ讨论组沟通为准。如超出合同约定原有开发范围的，乙方有权要求增加开发费用。8.网站开发完成并经甲方验收合格后，网站程序文件及管理权均归甲方所有。第六条乙方权利和义务：3.协议履行过程中，甲方的修改意见都必须在乙方提交网站日验收通知之日起3个工作日内提出书面或QQ讨论组修改意见，上述修改意见和特殊要求必须在本协议约定的服务范围内，否则，乙方有权拒绝接受该修改意见及要求，或向甲方收取相应的服务费用。对于甲方不明确、不具体的或乙方提交验收之日起5个工作日后提出的意见或要求，乙方有权拒绝。并由此导致的工期顺延，由甲方负责损失，与乙方无关。4.网站正式开通上线后，且甲方的网站托管于乙方的服务器，乙方负责提供一年的免费维护。6.如果因为乙方原因导致网站不能按时交付的，按照甲方已支付金额的每日3‰赔偿甲方滞纳金，直至交付之日，此滞纳金金额不超过甲方已支付的全部费用总额。7.如因乙方单方面问题导致网站无法交付，且约定内容在本合同范畴内的，甲乙双方均可解除合同，退还费用，退还费用金额不超过甲方已支付的全部费用总额。第七条法律责任与争议解决：6.如甲方提交法院诉讼，最终甲方败诉，则乙方由此诉讼产生的律师诉讼费及相关费用（包括但不限于交通费、住宿费、误工费、咨询费）由甲方承担并赔偿。第八条其它约定：本协议未尽事宜由双方协商解决或签订《补充协议》，《补充协议》与本协议具有同等法律效力。《网站建设协议》附件具体约定了联动中心报警APP的23项功能需求。协议签订后，黄玉明先后向千极公司支付了43000元开发费用。 在《网站建设协议》履行过程中，双方实际使用微信群进行沟通。2018年9月30日，千极公司在微信群中发送“一期思维导图”。2018年10月15日，千极公司在微信群中发送部分原型图。2018年11月26日，千极公司在微信群中发送一份《联动APP开发补充协议》（以下简称开发补充协议），将联动中心报警APP的功能需求调整为42项（增加的功能需求包括消息可发送文字、图片。视频对话和语音通话功能在项目上线后一个月交付给甲方；通讯录栏字母放大；报警首页的警徽下方的文字为两行，其内容为：警方温馨提示非紧急情况勿拨此键；做防盗防攻击功能，以防不法分子攻击，保证网络安全；各种需求以最终实际操作性为准等等），并在协议开头载明“经双方协商一致，达成如下补充协议，其法律效应与原合同一致”。黄玉明在该日称：“先不说那么多了，请大家努力，务必12月10日前完成所有程序，包括安卓版和苹果版、测试和测试报告以及所有相关的，确保正常上线使用”“确实能解决春节前及期间的安全多发问题”。千极公司：“黄总，原型图我们就按照您给出的方案来开发了。”黄玉明表示同意。2018年12月28日，千极公司在微信群发送“后台效果图”文件。2019年1月3日，千极公司称：“1月12号，交付，测试版。不包含通讯录语音视频，位置，等。一切遵循二次沟通的开发文档”。黄玉明于次日回复称：“不可能，这次交付只不包括会话栏里的视频和定位导航功能，你看下合同”“而且全部交付期限在春节前”。2019年1月30日，千极公司通过二维码和浏览器链接下载的方式向黄玉明提供了联动中心报警APP。2019年2月11日，黄玉明将软件问题截屏发到微信群中。2019年2月12日，黄玉明在微信群中提出2019年1月30日交付的APP存在后台闪屏、无“报警类别”栏、后台无报警铃声、“报警中心”不显示未接警数字等9个问题，并提出了16项修改意见。2019年2月18日，黄玉明与千极公司沟通软件问题，尔后，千极公司称：“改好了”“视频接听乱码改好了”。2019年2月21日，黄玉明在微信群中反映存在接听不显示报警人视频及报警位置漂移等问题。黄玉明并询问：“去年年底在一起说的十几点，以及后台的十几个问题？”千极公司称：“都在调整了，到时候会推送更新”。2019年2月26日，千极公司告知黄玉明APP苹果版已经上线，黄玉明当天查看后称苹果版APP仍存在较多问题。此后，双方就软件问题继续进行沟通。2019年3月4日，千极公司称：“安卓端的视频报警，前端时间无法使用，现在已经修复了，明天下午推送给您”。2019年3月5日，黄玉明在与千极公司的沟通中称：“报警功能中的视频报警有灯光开启、静音开关、浮窗切换功能吗？”“合同上灯光功能好像被兰总删了，后来他说同意做啊，我在老家，文本不在呢”“你们都这半年了，原本说年前交，这年后又一个月了，你们双休日都休息，只有我一个人一直在着急等，星期六必须是最后期限，再往后拖我坚决不同意”。2019年3月6日，千极公司称APP完成了语音报警完善、会话头像、名字的修复等11项完善工作。黄玉明在与千极公司的沟通中称：“视频报警功能到现在还差得远呢”“VIVO和OPPO扫二维码下载后，打开页面闪退，说了多久，到现在都没解决！”“上个月12日说的，到现在还是原样”。2019年3月10日，千极公司向黄玉明推送更新后的安卓版APP安装包及下载二维码。黄玉明查看后认为仍未修复之前存在的问题，称包括千极公司在3月6日所称的11项完善工作也没有变，千极公司则称：“这些问题是bug修复和上次遗留问题”“坐标点这个，传过来的坐标是0,0，可能是地图接口传输出了问题，我查一下，然后关于正式版，我给的只是大概时间，我也跟您说了能做的，会做，不是全部都可以给做，比如灯光的开关按钮，而已这些有些功能都超出原来的说的了。”千极公司认为上述11项工作也已经修复好。此后双方对千极公司交付的APP是否合格发生争执，千极公司认为其交付的APP已经包括原合同约定的20项功能以及合同之外的6项功能。黄玉明则坚持认为千极公司交付的APP仍存在视频报警未做完、报警记录点不开等12个问题。2019年3月14日，千极公司又发送一份开发补充协议，该开发补充协议约定的功能需求与2018年11月26日开发补充协议的一致，主要区别在增加了如下内容：“此补充协议，是双方酌情为甲方提供的超出合同范畴的免费服务，不具备合同内规定条款同等法律效应。甲方没有为以上功能和要求向乙方额外支付过任何报酬，乙方可履行，可不履行，此补充协议对乙方不具备任何法律约束。同时乙方保留向甲方追溯以下功能开发所需要支付的同等劳务报酬的权利。此补充协议必须乙方盖章签字方可生效，无乙方盖章签字，此协议不具备任何法律效应。”黄玉明当即对该开发补充协议表示不认可，并坚持要求按照2018年11月26日开发补充协议履行，双方争议无果，千极公司便停止了APP开发工作，表示交付的软件完全符合约定，不再进行修改。 经原审当庭演示，黄玉明收到的APP存在第一联系人无法打开、添加好友功能无法使用、不能发送文字和图片、没有视频对话和语音通话功能、没有手机端搜索功能、第一联系人信息打不开、个人中心打不开、报警记录打不开等问题。千极公司亦当庭演示其主张交付给黄玉明的APP，经查看，该APP不具备意见反馈、搜索下载、政府平台工作人员互不干扰等功能，且黄玉明否认是所交付的APP版本。 原审庭审中，黄玉明主张，因千极公司构成根本违约，故其有权解除涉案合同，并要求千极公司返还各项款项。 原审另查明，黄玉明为涉案联动中心报警APP的开发向阿里云计算有限公司租用服务器，并为此支付费用5581元。黄玉明主张其支出了2000元联动中心报警APP苹果版上线费用，千极公司认可代收了该费用，用于开通苹果账号及上线服务。千极公司委托律师参与本案诉讼，其提交的委托代理合同上载明的律师费为8000元。 原审法院认为： （一）关于本案合同文本问题 黄玉明与千极公司对签订涉案《网站建设协议》及该协议的效力均无异议，原审法院亦予以审查确认。双方对达成开发补充协议无异议，但对文本的内容存在异议。黄玉明提交的开发补充协议文本中没有“此补充协议，是双方酌情为甲方提供的超出合同范畴的免费服务，不具备合同内规定条款同等法律效应。甲方没有为以上功能和要求向乙方额外支付过任何报酬，乙方可履行，可不履行，此补充协议对乙方不具备任何法律约束。同时乙方保留向甲方追溯以下功能开发所需要支付的同等劳务报酬的权利。此补充协议必须乙方盖章签字方可生效，无乙方盖章签字，此协议不具备任何法律效应。”部分内容，千极公司将含有上述内容的合同文本作为本诉证据提交，而将没有该部分内容的合同文本作为反诉证据提交。鉴于黄玉明提交的合同文本由千极公司向黄玉明提供，黄玉明亦表示同意该合同文本，且双方实际按照该文本约定进行了履行，故应以黄玉明提交的开发补充协议文本为双方一致意思表示，该开发补充协议属合法有效的合同，对双方当事人发生法律效力。千极公司提交的含有上述内容的开发补充协议，因双方未达成一致，对双方不产生约束力。 （二）关于千极公司是否存在违约行为及黄玉明要求解除涉案合同是否合法有据问题 本案中，黄玉明指控千极公司存在逾期交付涉案软件及交付的软件不合格的违约行为。原审法院针对该两项指控分述如下： 1.关于是否逾期交付涉案软件的问题 《网站建设协议》第四条第1款约定，甲方（即黄玉明）对网站首页效果图确认后，乙方（即千极公司）在甲方确认效果图之日起60个工作日之内完成网站整站制作工作，在制作整站的过程中，如因甲方更改网站效果图方案等设计及功能变动原因导致网站制作时间延期，合同中约定的网站完成时间则相应延后，延后的日期以QQ讨论组实际沟通时间为准。第五条第6款约定，因甲方修改网站建设方案而导致开发周期延后的，合同原规定的周期则作相应的延后，具体延期时间以QQ讨论组沟通为准。如超出合同约定原有开发范围的，乙方有权要求增加开发费用。 根据双方的聊天记录以及庭审陈述意见，千极公司发送网站效果图的时间为2018年10月15日，黄玉明在3日内未提出异议，根据合同约定，应认定为黄玉明确认了该效果图。故根据上述有关制作时间的约定，制作时间为从2018年10月18日起60个工作日内。当事人对于开发期间的争议主要在于，开发补充协议相比《网站建设协议》增加的19项内容是否属于上述第四条第1款及第五条第6款约定的功能变动或超出原有开发范围的内容及是否应顺延开发周期。原审法院认为，开发补充协议系双方经二次沟通达成的约定，从文字表述上看，开发补充协议明确系对《网站建设协议》达成的补充协议，因此，开发补充协议与《网站建设协议》具有同等法律效力。鉴于开发补充协议的文本系由千极公司提供，千极公司在文本中并未明确增加的23项功能需求为新增功能需求，也没有明确所增功能需求需要顺延开发周期及另行付费，而且从所增功能需求看，所增功能需求包括通讯录字体及警徽文字内容等并不属于明显超过原范围的内容，故应认为开发补充协议所约定的增加功能需求与《网站建设协议》约定的功能需求效力一致，新约定的功能需求不属于第五条第6款约定的超出原有开发范围的功能需求，千极公司据此主张顺延开发周期，原审法院不予采信。根据上述认定，不管涉案软件交付的时间是2019年1月30日还是2019年3月20日，千极公司均已超过约定的制作时间，构成逾期。 2.关于千极公司交付的软件是否合格的问题 千极公司主张，其于2019年1月30日交付了涉案软件，但黄玉明直至2019年2月12日才提出异议，已经超出了涉案合同约定的5个工作日的质量异议期，因此应认定千极公司交付的软件符合合同约定。原审法院认为，根据双方的聊天记录，千极公司于2019年1月3日表示将在2019年1月12日交付测试版，而千极公司至2019年1月30日才向黄玉明交付了软件，期间并没有交付行为，结合此后双方对所交付软件进一步调整、修改的沟通意见及在沟通中要求交付正式版的表述，可以认定千极公司于2019年1月30日交付的软件为测试版软件。《网络建设协议》第四条第2款的约定，千极公司在网站制作完成后，黄玉明在5个工作日内完成项目的验收，逾期则默认为验收通过。根据该约定，“网站制作完成”应理解为网站正式版开发完成，而非各中间版本的开发完成。因此，该质量异议期应从正式版交付日开始起算，而非从测试版交付日起算。千极公司要求从2019年1月30日起算，与上述约定不符，原审法院不予支持。从双方聊天记录可以看出，千极公司交付正式版的时间为2019年3月10日，而在千极公司交付后，黄玉明立即表示了异议。故，黄玉明并不存在因逾期而应被视为默认验收通过的情形。 经原审当庭演示，黄玉明提交的联动中心报警APP与千极公司提交的联动中心报警APP均没有完全具备开发补充协议所约定的全部功能，均属于不符合约定的软件。因此，可以认定，千极公司交付的软件属于不符合合同约定的软件。 《网络建设协议》第六条第7款约定，如因乙方（即千极公司）单方面问题导致网站无法交付，且约定内容在本合同范畴内的，甲乙双方均可解除合同。如前所述，千极公司所交付的软件不符合合同约定，并明确拒绝继续履行合同，黄玉明的合同目的已无法实现，故黄玉明根据上述约定享有合同解除权。《网络建设协议》自本案起诉状送达千极公司之日起解除。 （三）关于黄玉明提出的诉讼请求应否支持的问题 《中华人民共和国合同法》（以下简称《合同法》）第九十七条规定：“合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施、并有权要求赔偿损失。”合同解除后，合同尚未履行的，终止履行；已经履行的，应否恢复原状，结合合同的性质、履行情况和合同各方的过错程度来加以认定。本案中，涉案合同解除后，尚未履行的部分，终止履行。鉴于涉案合同解除的原因主要在于千极公司逾期未交付合格的软件，千极公司应将其收取的43000元开发费用退还给黄玉明。黄玉明为涉案联动中心报警APP的开发支出了服务器租用费5581元、联动中心报警APP苹果版上线费用2000元，该两项费用系黄玉明为履行涉案合同而支出的费用，属于千极公司的违约行为给黄玉明造成的损失，故黄玉明要求千极公司赔偿5580.48元服务器租用费和2000元APP苹果版上线费用于法有据，原审法院予以支持。黄玉明提出的其他诉讼请求，因缺乏合同依据和法律依据，原审法院不予支持。 （四）关于千极公司提出的反诉请求应否支持的问题 涉案合同因千极公司未交付合格软件等违约行为导致解除，千极公司要求黄玉明继续支付开发费用余款7000元，缺乏依据，原审法院不予支持。如前所述，千极公司所称19项功能不属于涉案合同约定的超出原有开发范围的功能，千极公司要求黄玉明支付开发费用5万元亦缺乏依据，原审法院不予支持。黄玉明提出的诉讼请求基本得到支持，千极公司要求黄玉明承担律师费用，不符合合同约定，原审法院亦不予支持。 据此，原审法院判决：一、千极公司返还黄玉明开发费用43000元；二、千极公司赔偿黄玉明苹果手机上线费用2000元、服务器租用费5580.48元；三、驳回黄玉明的其他本诉请求；四、驳回千极公司的反诉请求。上述金钱给付义务，义务人应于判决生效之日起十日内履行完毕，逾期则应依照《中华人民共和国民事诉讼法》第二百五十三条的规定，加倍支付迟延履行期间的债务利息。一审本诉案件受理费1065元，由千极公司负担。一审反诉案件受理费613元，由千极公司负担。 二审中，双方当事人均未向本院提交新证据。 本院另查明： 双方认可千极公司于2019年1月30日通过二维码和浏览器链接下载的方式向黄玉明提供联动中心报警APP，该版本APP不具备2019年11月26日开发补充协议载明的全部功能。 原审法院查明的其他事实属实，本院予以确认。 本院认为，本案二审阶段的争议焦点有三：（一）黄玉明是否有权解除合同；（二）如果黄玉明有解除权，合同解除的法律效果如何；（三）黄玉明是否应当向千极公司支付合同余款、新增项目的开发费用以及律师费等。 （一）黄玉明是否有权解除合同 1.2018年11月26日的开发补充协议的效力 千极公司上诉称，2018年11月26日的开发补充协议系双方达成的口头约定，千极公司未在该协议文本上签字、盖章，该协议新增的19项功能是在黄玉明的反复要求下，作为“人情”增加的；双方就《网络建设协议》的补充协议进行多次协商，文本内容自始至终未达成一致，11月26日的开发补充协议仅系协商过程中的中间版本，不具备法律效力。 本院认为，《合同法》第十条规定：“当事人订立合同，有书面形式、口头形式和其他形式。”“法律、行政法规规定采用书面形式的，应当采用书面形式。当事人约定采用书面形式的，应当采用书面形式。”依据上述规定，除法律、行政法规另有规定或当事人另有约定外，当事人的意思表示一致，合同即成立，合同的订立并非以书面形式为必要。在计算机软件开发合同的履行中，功能需求集中体现了委托方对于开发软件的技术要求，是认定开发成果是否符合约定的标准。功能需求可能在签订合同时通过合同文本或附件明确，也可能在合同履行中随着双方交流、委托工作的阶段性完成而逐渐明晰。在软件开发过程中，对软件开发的内容和功能进行调整较为常见。如果双方在合同文本中约定了软件名称和软件实现的目的，而在合同履行中对功能需求进行磋商、沟通的，经双方确认的功能需求是对合同内容的补充，构成软件开发合同的内容。鉴于计算机软件开发合同的特殊性，双方在开发过程中对功能需求的确认往往没有书面形式，只要双方的意思表示达成一致，不能因为没有书面形式而否认其约束力。 本案中，对于开发补充协议，双方提交文本的内容不同，黄玉明提交的包含“经双方协商一致，达成如下补充协议，其法律效应与原合同一致”；千极公司提交的没有前述内容，而包含如下内容“此补充协议，是双方酌情为甲方提供的超出合同范畴的免费服务，不具备合同内规定条款同等法律效应。甲方没有为以上功能和要求向乙方额外支付过任何报酬，乙方可履行，可不履行，此补充协议对乙方不具备任何法律约束。同时乙方保留向甲方追溯以下功能开发所需要支付的同等劳务报酬的权利。此补充协议必须乙方盖章签字方可生效，无乙方盖章签字，此协议不具备任何法律效应。”从文本来源看，两个文本均由千极公司发送到微信群，黄玉明的版本发送时间为2018年11月26日，千极公司的版本发送时间为2019年3月14日。从发送后的交流情况看，2019年3月，黄玉明多次在微信群发送了“联动app补充合同（2）”，从聊天记录的上下文看，是由于2019年3月10日千极公司提出开发成果已经具备了26项功能，原合同内的功能有1-20条，合同以外的有21-26条而引起。黄玉明对此提出异议，发送补充合同再次重申功能需求，“你们好好看一下，这是补充协议”，要求按照约定的功能开发。可以看出，11月26日的开发补充协议发送后，千极公司已经履行了协议的部分开发内容，而黄玉明也以自己的行为表示接受了协议的内容，并在诉讼中表示接受11月26日的开发补充协议。据此，双方均以自己的行为表示接受了2018年11月26日的开发补充协议，该协议对双方具有约束力，千极公司的开发成果应符合协议约定的功能。 2.千极公司是否逾期交付涉案软件 千极公司上诉主张，2018年11月26日的开发补充协议约定的功能由23项增加到42项，明显超出原约定范围，具备《网站建设协议》约定网站完成时间顺延的“功能变动原因”条件，故其交付软件的行为不构成逾期。黄玉明主张，根据《网站建设协议》约定，千极公司应于效果图确认之日即2018年10月18日起60个工作日交付软件，千极公司于2019年1月30日交付软件测试版、2019年3月10日正式交付软件已构成逾期交付。 本院认为，对于计算机软件开发合同，是否构成履行迟延的认定，不能仅以软件开发方超过合同约定时间交付软件即简单认定构成迟延履行，而要针对导致迟延交付的原因，结合合同履行中双方是否在履行中对于交付时间进行了变更，委托方是否增加或变更了功能需求导致需要额外付出开发时间等事实综合认定。 本案中，《网站建设协议》第四条第1款约定，甲方（即黄玉明）对网站首页效果图确认后，乙方（即千极公司）在甲方确认效果图之日起60个工作日之内完成网站整站制作工作，在制作整站的过程中，如因甲方更改网站效果图方案等设计及功能变动原因导致网站制作时间延期，合同中约定的网站完成时间则相应延后，延后的日期以QQ讨论组实际沟通时间为准。《网站建设协议》签订后，双方通过11月26日的开发补充协议将功能需求由23项增加至42项，其中部分新增项属于功能的增加，如“41.做防盗防攻击功能，以防不法分子攻击，保证网络安全”“29.无论手机端或政府平台（后台）都有搜索和下载功能”；部分新增项系在原有功能模块下新增需求，如“20.管理中心，管理人员的处理订单记录。统计。”“22.报警人一键报警后，第一联系人立马收到短信通知......”“38.报警视频中报警人可以切换前后摄像头......”。对于功能增加，千极公司需要付出额外的开发时间，完成时间应相应延后。对于延后的时间，即软件最终的交付时间，应当结合双方在微信群中的沟通进行分析。千极公司于2019年1月30日通过二维码和浏览器链接下载的方式向黄玉明提供联动中心报警APP，2019年2月26日告知黄玉明APP苹果版已经上线，2019年3月10日向黄玉明推送更新后的安卓版APP安装包及下载二维码。对于千极公司的上述行为，黄玉明在履行中并未提出异议，而是继续配合履行合同，要求千极公司在2019年3月9日交付软件。综上，无论是根据千极公司主张的实际交付时间，还是黄玉明主张的实际交付时间，均不宜认定千极公司系迟延履行。原审法院认定千极公司构成逾期交付错误，本院予以纠正。 3.千极公司交付的软件是否符合约定 千极公司上诉主张，其于2019年1月30日交付了涉案软件，且交付的软件具备《网络建设协议》载明的全部功能，具备11月26日的开发补充协议新增的部分功能，由于11月26日的开发补充协议不具备法律效力，千极公司没有义务交付符合全部新增功能需求的软件；即使千极公司交付的软件不符合约定，黄玉明于2019年2月12日提出异议已超过合同约定的异议期，交付成果应视为合格。 本院认为，如前论述，11月26日的开发补充协议对双方具有约束力，千极公司确认其交付的软件不具备该协议的全部功能，属于交付的软件不符合合同约定。关于视为默认验收通过的问题，本院认为，根据双方的聊天记录，千极公司于2019年1月3日表示将在2019年1月12日交付测试版，而千极公司至2019年1月30日才向黄玉明交付了软件，期间并没有交付行为，结合此后双方对所交付软件进一步调整、修改的沟通意见及在沟通中要求交付正式版的表述，可以认定千极公司于2019年1月30日交付的软件为测试版软件。千极公司交付正式版的时间为2019年3月10日，而在千极公司交付后，黄玉明立即表示了异议。故，黄玉明并不存在因逾期而应被视为默认验收通过的情形。 对于千极公司申请由第三方对交付成果进行勘验的请求，由于千极公司自认其没有完成2018年11月26日的开发补充协议约定的功能，可以认定交付的开发成果存在主体功能的缺陷，二审中已无勘验或鉴定必要。 4.千极公司是否有权解除合同 千极公司提出，黄玉明提交的证据仅能证明交付软件8项功能存在障碍，不影响软件的整体功能，其仅能追究千极公司的违约责任而无权解除合同。 本院认为，11月26日的开发补充协议对双方具有约束力，千极公司交付的软件欠缺合同约定的主体功能，黄玉明有权按照约定要求千极公司继续履行合同。千极公司以开发补充协议不具有约束力为由明确拒绝继续开发其余功能，属于拒绝履行合同主要义务，黄玉明的合同目的无法实现，有权依据《网络建设协议》第六条第7款约定解除合同，《网络建设协议》自原审起诉状送达千极公司之日起解除。 （二）合同解除后的法律效果 千极公司上诉提出，服务器租用费用及苹果上线费用应当由黄玉明自行承担。 本院认为，《合同法》第九十七条规定：“合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。”鉴于涉案合同解除的原因主要在于千极公司未交付符合约定的软件，千极公司应赔偿黄玉明因此遭受的损失。黄玉明支付的开发费用、为软件开发支出的服务器租用费、软件上线费用，属于因千极公司的违约行为给黄玉明造成的损失。原审法院认定千极公司退还黄玉明已支付的上述费用于法有据，本院予以维持。 由于涉案合同因千极公司的违约行为而解除，千极公司要求黄玉明支付开发费用余款、超出合同约定开发功能的开发费用、律师费的上诉请求，缺乏依据，本院不予支持。该争议焦点，本院不再评述。 综上所述，千极公司的上诉请求不能成立。原审法院裁判结果正确，应予维持。依照《中华人民共和国合同法》第十条、第九十七条、《中华人民共和国民事诉讼法》第一百七十条第一款第一项、《最高人民法院关于适用的解释》第三百三十四条之规定，判决如下： 驳回上诉，维持原判。 二审案件受理费1778元，由南宁千极网络科技有限公司负担。 本判决为终审判决。 审判长  徐卓斌 审判员  雷艳珍 审判员  邓 卓 二〇二〇年九月十七日 法官助理张文麒 书记员郭云飞 裁判要点                            案  号                       （2020）最高法知民终922号                               案  由                       计算机软件开发合同纠纷                               合 议 庭                       审判长：徐卓斌             审判员：雷艳珍、邓卓                                                     法官助理：张文麒                       书记员：郭云飞                               裁判日期                       2020年9月17日                               关 键 词                       计算机软件开发合同；功能需求；逾期交付；合同解除                               当 事 人                       上诉人（原审被告，反诉原告）：南宁千极网络科技有限公司；             上诉人（原审原告、反诉被告）：黄玉明。                               裁判结果                       驳回上诉，维持原判。             原判主文：一、千极公司返还黄玉明开发费用43000元；二、千极公司赔偿黄玉明苹果手机上线费用2000元、服务器租用费5580.48元；三、驳回黄玉明的其他本诉请求；四、驳回千极公司的反诉请求。上述金钱给付义务，义务人应于本案判决生效之日起十日内履行完毕，逾期则应依照《中华人民共和国民事诉讼法》第二百五十三条的规定，加倍支付迟延履行期间的债务利息。一审本诉案件受理费1065元，由千极公司负担。一审反诉案件受理费613元，由千极公司负担。                               相关法条                       《中华人民共和国合同法》第十条、第九十七条；             《中华人民共和国民事诉讼法》第一百七十条第一款第二项；             《最高人民法院关于适用的解释》第三百三十四条。                               法律问题                       1.开发软件的功能需求的认定             2.逾期交付的认定                               裁判观点                       1. 除法律、行政法规另有规定或当事人另有约定外，当事人的意思表示一致，合同即成立，合同的订立并非以书面形式为必要。在计算机软件开发合同的履行中，功能需求集中体现了委托方对于开发软件的技术要求，是认定开发成果是否符合约定的标准。功能需求可能在签订合同时通过合同文本或附件明确，也可能在合同履行中随着双方交流、委托工作的阶段性完成而逐渐明晰。在软件开发过程中，对软件开发的内容和功能进行调整较为常见。如果双方在合同文本中约定了软件名称和软件实现的目的，而在合同履行中对功能需求进行磋商、沟通的，经双方确认的功能需求是对合同内容的补充，构成软件开发合同的内容。鉴于计算机软件开发合同的特殊性，双方在开发过程中对功能需求的确认往往没有书面形式，只要双方的意思表示达成一致，不能因为没有书面形式而否认其约束力。             2. 在软件开发过程中，对软件开发的内容和功能进行调整较为常见，是否构成履行迟延的认定，不能仅以软件开发方超过合同约定时间交付软件即简单认定构成迟延履行，而要针对导致迟延交付的原因，结合合同履行中双方是否在履行中对于交付时间进行了变更，委托方是否增加或变更了功能需求导致需要额外付出开发时间等事实综合认定。             3.合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。                               注：本摘要并非判决书之组成部分，不具有法律效力。