北京市高级人民法院
民 事 判 决 书
(2017)京民终379号
上诉人（一审原告）：李俊，男，1979年9月5日出生，住北京市朝阳区。
被上诉人（一审被告）：成都猿团科技有限公司。
上诉人李俊因与被上诉人成都猿团科技有限公司（简称猿团公司）计算机软件开发合同纠纷一案，不服北京知识产权法院（简称一审法院）（2016）京73民初622号民事判决（简称一审判决），向本院提起上诉。本院于2017年4月24日立案后，依法组成合议庭公开开庭进行了审理。上诉人李俊到庭参加了诉讼。被上诉人猿团公司经本院合法传唤，未到庭参加诉讼，依法缺席审理。本案现已审理终结。
李俊上诉请求：1、撤销一审判决；2、猿团公司退还已经支付的款项20100元；3、猿团公司承担违约金6700元；4、猿团公司承担本案全部诉讼费用。其主要上诉理由是：一、李俊对于一审判决解除双方签订的《掌上直聘软件开发合同》（简称涉案合同）是认可的。但由于猿团公司仅提交合同约定的安卓和苹果两个系统版本中的一个，且提交的安卓版本为测试版，不具备完整使用功能，相当于仅完成25%的工作量。根据《中华人民共和国合同法》（简称合同法）第九十七条的规定，合同解除后可以要求恢复原状，故猿团公司应当退还李俊已支付款项的75%即20100元。二、涉案合同约定的“乙方（即猿团公司）将在甲方（即李俊）规定的时间内”完成APP的开发。2016年3月16日，李俊与猿团公司的QQ沟通中，猿团公司明确表示“最后到40个工作日完成”。对此，李俊表示“同意这个解决方案”，并要求猿团公司按照30天出测试版的目标倒排计划。2016年3月17日，李俊收到猿团公司回复的邮件以及开发计划的附件，猿团公司明确表示“后期的项目开发我们将按照之前在QQ上沟通的方式进行”。按照邮件所附的开发计划，猿团公司明确表示上线时间为2016年5月20日。猿团公司提出了交付时间，并且经过李俊的确认，是双方真实意思表示，该时间也就变成了涉案合同约定的“甲方规定的时间”，具有法律拘束力。因此，猿团公司违反合同约定的“甲方规定的时间”的事实是确凿的，属于明显违约行为，应当承担违约责任，按照减少价款的方式承担违约金，即退还已支付款项的25%（即6700元）。
猿团公司未发表答辩意见。
李俊向一审法院起诉请求：1、解除涉案合同，猿团公司退还李俊已支付的开发费用26800元，李俊无需履行为猿团公司登记10%股权的义务；2、猿团公司向李俊支付违约金2万元，即相当于合同约定开发费用总金额的20%；3、猿团公司在北京晨报、北京青年报、北京日报、法制晚报和成都日报、成都商报等主流媒体就其违约行为进行公开道歉；4、由猿团公司承担本案的诉讼费。
一审法院认定事实：李俊（甲方）与猿团公司（乙方）于2015年12月29日签订《掌上直聘软件开发合同》。双方在合同中约定:甲方选择乙方为其开发软件，乙方将在甲方规定的时间内，根据甲方需求为其开发掌上直聘（暂定名）APP（备注：掌上直聘APP包含安卓和IOS两个版本，具备客户端和服务端的完整使用功能）；合作内容为甲方委托乙方负责掌上直聘APP开发事宜，掌上直聘APP的程序开发执行费用总额为人民币拾万元。对于甲方是个人、公司尚未设立的情况，甲乙双方同意，甲方向乙方一次性支付程序开发费用金额人民币26800元，程序开发执行费用中人民币73200元将以甲方未来设立的公司10%股权抵偿。甲方承诺，将在程序开发完成后1个月内以乙方作为股东之一新设公司；如果新设公司未能如期成立，甲方应向乙方支付程序的开发执行费用中人民币73200元。乙方负责的内容为：1、开发制作：所有的程序制作执行内容按照甲方提出的需求而整理的《产品需求文档》进行。2、应用调试检测：功能正常使用，无操作BUG，保证良好的用户体验。3、应用安装指导：安装指导说明文件一份。4、开发需求见：附1《产品需求文档》。《产品需求文档》应详细列明软件开发过程及具体需求内容或指标，明确工作进度要求。经双方签署确认后各方不得擅自修改。甲方应对所提需求的合法合规性负责，保证所提需求不违反相关法律法规或侵犯第三人权利，乙方对此不承担任何责任。5、乙方需按双方约定项目结束时提供相应的文件（APP安装文件）。合同第3.4条还约定，开发完毕，乙方应将程序应用/系统的使用文档/源代码/移交给甲方。合同第七条对违约责任进行了约定，其中7.1条约定，如因开发过程中发生以下原因的，乙方有权暂停并顺延工作进度以及交付日期。在沟通时甲方无法提供有效对接人员；在开发和交付过程中，涉及第三方平台需要甲方公司有效证件资料，甲方无法及时提供的；甲方未按本合同约定及时向乙方支付合同款项的。7.2条约定，本合同签署后双方不得无故解除合同。甲方单独解除合同的，不得要求乙方退还已收取的费用并应赔偿乙方的实际损失；乙方单独解除合同的，应退还已收取的费用并赔偿甲方的实际损失。7.3条约定，一方违反合同其他约定的，应向另一方承担违约责任。
合同签订后，李俊主张其于2015年12月30日按合同约定向猿团公司一次性支付了程序开发费用金额人民币26800元并提交支付截图予以证明，猿团公司对李俊提交证据的真实性无异议，亦提交支付宝截图证明收到该笔开发费用。
在一审诉讼过程中，李俊还提交了其与猿团公司之间往来邮件截图，其中包括《掌上直聘—预估时间表》以及与猿团公司工作人员的往来邮件截图，用以证明猿团公司并未按照合同约定履行开发掌上直聘APP的合同义务。其中预估时间表载明，产品设计、功能研发计划至2016年3月16日完成，功能测试、上线前准备计划至2016年5月20日完成，并计划于2016年5月20日版本上线。猿团公司对该预估时间表的真实性无异议，但主张该计划仅仅是预估时间，不应视为对开发完成时间的承诺。
猿团公司主张其于2016年6月29日开发完成掌上直聘APP，向李俊提供了安卓系统测试版本，未提交IOS系统测试版本，并提交猿团公司工作人员与李俊的QQ聊天记录以及“南国的春天”的微博截图予以证明，其中涉及测试版交付的内容。李俊对猿团公司提交证据的真实性无异议，但认为猿团公司交付的安卓系统测试版超出了预估时间表确定的时间，且测试版不能实现使用第三方账号登录功能，构成违约。
另查，李俊于2016年3月26日注册成立与涉案APP项目相关的公司。猿团公司主张李俊私自注册公司的行为违反了涉案合同关于双方共同成立公司的约定。李俊对此不予认可，主张其行为不构成违约。
上述事实，有李俊提供的《掌上直聘软件开发合同》、包括预估时间表的双方邮件往来截图、支付凭证以及猿团公司提供的支付宝交易截图、QQ聊天记录截图、南国的春天的微博截图等证据以及双方当事人的陈述在案佐证。
一审法院认为，李俊与猿团公司签订的涉案合同系双方当事人的真实意思表示，内容合法有效，双方当事人均应按照合同的约定履行合同义务。
根据涉案合同的约定，猿团公司作为乙方将在甲方李俊规定的时间内，根据甲方李俊的需求为其开发掌上直聘（暂定名）APP（备注：掌上直聘APP包含安卓和IOS两个版本，具备客户端和服务端的完整使用功能），其中对于涉案开发工作的完成时间并未进行具体约定。涉案合同签订后，双方经邮件沟通确定的《掌上直聘—预估时间表》中，对版本上线的计划时间预估为2016年5月20日。根据查明的事实，在涉案合同履行过程中，猿团公司实际于2016年6月29日向李俊交付了掌上直聘安卓系统的测试版，未交付IOS系统的测试版。鉴于涉案开发合同中并未具体约定涉案开发工作的完成时间，双方邮件往来确定的版本上线时间亦为预估时间，故猿团公司于2016年6月29日交付安卓系统的测试版本的时间应认定属于双方约定的交付时间的合理范围内。李俊以猿团公司交付安卓系统的测试版本的时间超过了预估时间表确定的时间为由主张其行为构成违约，依据不足，不予采纳。
本案中，猿团公司于2016年6月29日向李俊交付了掌上直聘安卓系统的测试版，但未交付IOS系统的测试版，且李俊主张其交付的安卓系统的测试版本存在不能实现使用第三方账号登录功能等问题，虽然猿团公司主张实现使用第三方账号登录功能是极为简单的外部链接工作，并非程序源代码开发的范围，且其已完成上述工作，但其未就此举证证明，故其上述主张依据不足，其涉案行为构成违约。鉴于猿团公司交付的上述测试版本存在的瑕疵并非涉案APP开发的主要问题，且李俊未能举证证明上述瑕疵给其造成的经济损失，涉案合同中也未明确约定具体的违约金，故对李俊请求判令被告向其支付违约金2万元的主张，不予支持。鉴于李俊提出请求判令猿团公司在北京晨报、成都商报等主流媒体就其违约行为进行公开道歉的主张，缺乏法律依据，对此不予支持。
根据本案现有证据，在猿团公司履行开发掌上直聘APP合同义务的同时，李俊并未按照合同约定履行其相应付款义务或者股权转让义务，且其于2016年3月26日即注册成立了与涉案APP项目相关的公司，亦与合同约定的相应事项不符。虽然李俊主张系由于猿团公司未按照合同约定交付APP源代码，其交付的测试版本亦存在问题，故系猿团公司违约在先，但涉案合同并无上述合同义务履行先后的明确约定，故李俊提出的上述主张不能成立。
鉴于李俊明确要求解除涉案开发合同，涉案合同已没有继续履行的必要，故对其解除合同的主张予以支持，对猿团公司提出涉案合同应继续履行的主张，不予采纳。
根据我国合同法的相关规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。根据本案现有证据，猿团公司已交付给李俊掌上直聘APP安卓系统测试版，虽然该测试版本还存在相关问题，但猿团公司为涉案APP的开发投入了一定的人力物力，李俊应就此支付相应的开发费用。综合考虑涉案合同约定的两个系统的APP软件开发的相关工作量、双方当事人在涉案合同履行中是否存在违约情况等因素，认定李俊应为此支付的开发费用为其已向猿团公司支付的开发费用数额，李俊无需再向猿团公司支付余款。故对于李俊提出退还其已支付的开发费用26800元的主张，不予支持。
综上，一审法院依据《中华人民共和国合同法》第八条、第九十四条第三项、第九十七条之规定，判决：驳回李俊的诉讼请求。
二审中，当事人没有提交新证据。
本院经审理查明，一审法院查明的事实属实，本院予以确认。
本院另查明：李俊在2016年5月27日、5月31日和6月3日发给猿团公司的涉案项目负责人员的邮件中，表示猿团公司的掌上直聘项目应在2016年5月20日上线，但已经比计划滞后，该项目上线时间最晚不能晚于2016年6月3日。以上事实，有李俊提供的电子邮件打印件在案佐证。
本院认为，根据本案一审判决及李俊的上诉理由，本案的主要争议焦点是：猿团公司是否存在迟延交付或者其他违约行为，是否应当在涉案合同解除后承担返还价款、支付违约金等责任。
合同法第九十四条第三项规定，当事人一方迟延履行主要债务，经催告后在合理期限内仍未履行，当事人可以解除合同。第九十四条第四项规定，当事人一方迟延履行债务或者有其他违约行为致使不能实现合同目的，当事人可以解除合同。
《最高人民法院关于审理技术合同纠纷案件适用法律若干问题的解释》第四十六条第二款规定，计算机软件开发、许可使用和转让等合同争议，著作权法以及其他法律、行政法规另有规定的，依照其规定；没有规定的，适用合同法总则的规定，并可以参照合同法第十八章和本解释的有关规定处理。
《最高人民法院关于审理技术合同纠纷案件适用法律若干问题的解释》第十五条规定，技术合同当事人一方迟延履行主要债务，经催告后在30日内仍未履行，另一方依据合同法第九十四条第三项的规定主张解除合同的，人民法院应当予以支持。当事人在催告通知中附有履行期限且该期限超过30日的，人民法院应当认定该履行期限为合同法第九十四条第三项规定的合理期限。
李俊与猿团公司签订的涉案合同为计算机软件开发合同，因此本案争议问题的法律适用可以适用合同法总则，并可以参照合同法第十八章和上述司法解释的规定。
李俊作为委托人，猿团公司作为受托人，均应按照涉案合同的约定履行合同义务。猿团公司的主要义务是按期交付合格的涉案APP。根据李俊与猿团公司在2017年3月的往来邮件，猿团公司提出了涉案APP预估在2017年5月20日正式上线。猿团公司在2017年5月20日并未完成涉案APP的上线。李俊于2017年5月27日、5月31日、6月3日通过邮件催告猿团公司履行合同义务，并指定其在2017年6月3日完成上线。猿团公司经过催告，直至2017年6月29日向李俊提交了涉案APP的安卓测试版，至今亦未提交IOS系统的涉案APP。对于猿团公司交付安卓系统涉案APP的时间，虽然有延误，但尚属于经委托人李俊催告后在合理期限内履行合同义务。对于IOS系统的涉案APP，猿团公司经催告后至今未履行，构成迟延履行主要债务的根本违约行为，李俊可以行使解除权。猿团公司已经交付的安卓系统涉案APP，存在不能实现第三方账号登录等功能，猿团公司的行为构成不完全履行主要债务，已构成根本违约行为，李俊可以行使解除权。鉴于李俊对于一审法院判令解除合同并无异议，本院不再赘述。
合同法第九十七条规定，合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。
关于李俊要求返还已支付的合同价款的问题，由于本案为计算软件开发合同，对已经履行的部分，从其性质和履行情况来看，并不适于回溯到合同未订立前的状况，且若要求猿团公司返还已支付的款项，对于猿团公司已经付出的工作量以及李俊在合同履行过程中亦存在违约行为，显然并不公平。关于李俊要求按照减少价款的方式计算违约金的问题，由于双方对违约金在涉案合同中并无约定，且上述计算方法亦缺乏法律依据，原审法院对李俊请求支付违约金的诉讼请求未予支持，并无不当。李俊的相关上诉理由均不能成立，本院均不予支持。
综上所述，李俊的上诉请求均不能成立，应予驳回；一审判决认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项之规定，判决如下：
驳回上诉，维持原判。
二审案件受理费九百七十元，由李俊负担（已交纳）。
本判决为终审判决。
审判长 刘继祥
审判员 亓 蕾
审判员 孔庆兵
二〇一七年十一月二十一日
书记员 何 雅