江苏省南京市中级人民法院
民 事 判 决 书
（2015）宁知民终字第206号
上诉人（原审原告，反诉被告）南京东方国际旅行社有限公司，住所地在江苏省南京市建邺路98号鸿信大厦26楼。
法定代表人朱宽友，该公司总经理。
委托代理人龚文良，江苏当代国安律师事务所律师。
被上诉人（原审被告，反诉原告）南京用友通企业管理咨询有限公司，住所地在江苏省南京市建邺区江东中路303号3幢2单元1602室。
法定代表人范凯，该公司总经理。
委托代理人范建宁，南京用友通企业管理咨询有限公司员工。
委托代理人朱长宁，江苏东域律师事务所律师。
上诉人南京东方国际旅行社有限公司（以下简称东方国旅公司）因与被上诉人南京用友通企业管理咨询有限公司（以下简称用友通咨询公司）技术委托开发合同纠纷一案，不服南京市建邺区人民法院（2014）建知民初字第53号民事判决，向本院提起上诉。本院于2015年10月10日受理后，依法组成合议庭，于2015年11月26日公开开庭进行了审理。上诉人东方国旅公司的委托代理人龚文良，被上诉人用友通咨询公司的法定代表人范凯及其委托代理人范建宁、朱长宁到庭参加诉讼。本案现已审理终结。
东方国旅公司一审诉称，2013年11月18日，双方签订《东方国旅信息化系统项目开发合同书》，约定用友通咨询公司收到东方国旅公司确认的项目方案书、必需的相关材料及东方国旅公司先行支付的款项后60日内完成系统开发，因用友通咨询公司原因无法实现约定开发的功能，超期达一个月的，东方国旅公司有权中止合同并要求用友通咨询公司退还已支付的全部开发款项。东方国旅公司于2013年11月18日支付了前期开发款25200元，然至东方国旅公司起诉前，用友通咨询公司仍无法完成软件的开发。故东方国旅公司为维护其合法权益，特向法院起诉，请求法院判令：1、用友通咨询公司退还前期开发款人民币25200元整；2、本案诉讼费由用友通咨询公司承担。
用友通咨询公司一审答辩并反诉称，1、2013年11月18日，双方签订合同。用友通咨询公司依照合同约定，完成了系统程序设计与开发，并于2013年12月26日将上述程序交付东方国旅公司。2、东方国旅公司要求用友通咨询公司退还前期开发费用25200元，是对合同第八条第2项的曲解，在本案中，由于东方国旅公司在合作中不断增加和变更委托开发的项目内容，导致用友通咨询公司工作周期无限延长，若将合同履行期限迟延的后果归责于用友通咨询公司，违背了客观事实，请求法庭驳回东方国旅公司的诉请。3、用友通咨询公司考虑到用户的利益，对东方国旅公司提出的修改、增项意见进行了相应的技术开发。后因东方国旅公司变更了服务器密码致使用友通咨询公司不能继续开发，经沟通，东方国旅公司提出用友通咨询公司先行提供程序的源代码，其再支付16800元，双方合同解除，但用友通咨询公司仅同意东方国旅公司再给付2万元后，用友通咨询公司才交付源代码。双方协商未果，故诉至法院，现用友通咨询公司提起反诉，请求判令：1、双方继续履行2013年11月18日签订的《东方国旅信息化系统项目开发合同书》，东方国旅公司支付剩余开发费用37800元；2、东方国旅公司承担全部诉讼费用。
一审法院经审理查明：
东方国旅公司与用友通咨询公司于2013年11月18日签订《东方国旅信息化系统项目开发合同书》（以下简称合同书）（合同编号NJYY-
KF-20131118），约定由用友通咨询公司承接关于东方国旅信息化系统项目的开发工作。合同书约定的总金额为63000元；付款方式为：合同书签订后，东方国旅公司支付合同金额的40%，即25200元；软件基本开发完成后进入调试阶段，调试期不超过两周，调试期结束东方国旅公司支付合同金额的30%，即18900元；软件调试期结束进入试运行阶段，试运行期不超过2个月，试运行期结束经东方国旅公司验收合格后再支付30%，即18900元。合同书约定的完成及验收时间为：用友通咨询公司收到东方国旅公司确认的项目方案书、必需的相关材料及东方国旅公司按照本合同规定先行支付的款项后60日内完成系统开发；验收期限为试运行期结束前。合同书第八条第2项约定违约责任为：因东方国旅公司资料准备及栏目设定等原因使得用友通咨询公司无法按照合同规定的期限内完成开发工作的，用友通咨询公司负责继续完成开发工作，但不承担超过合同期限等责任；因用友通咨询公司原因造成无法实现附件方案中所列的功能，超期达一个月的，东方国旅公司有权中止合同并要求对方退还已支付的全部开发款项。合同书第二条第4项约定：用友通咨询公司提供项目开发的全部源代码（拥有知识产权的部分除外）。庭审中，双方均认可合同书中的《东方国际旅行社系统开发方案》（以下简称开发方案）是最初确认的开发要求，其中开发方案的第1页是总体要求，第2页是示例图，第3-8页是开发的具体要求，第9-10页是开发后功能操作的流程图及功能释义，第11-16页是在东方国旅公司客户端上应呈现出的操作界面。用友通咨询公司称其严格按照开发方案要求于2013年12月26日向东方国旅公司交付了开发程序。东方国旅公司承认当日收到了程序安装包，但认为仅是开发软件的辅助程序，不是合同标的，并拒绝将其接收的程序提交法庭比对。
又查明，2013年11月18日，东方国旅公司向用友通咨询公司支付了前期开发款25200元。
再查明，《现场服务记录单》显示：2013年12月26日，用友通咨询公司将安装包拷贝到东方国旅公司服务器上，在其内网上发布程序；2014年1月24日，用友通咨询公司根据2014年1月3日双方确认的要求进行修改，并重新部署程序；2014年2月8日、3月7日、3月8日，用友通公司在东方国旅公司的服务器上发布最新程序并沟通问题；5月5日、5月12日、5月15日，对开发软件进行测试及沟通；上述《现场服务记录单》均有东方国旅公司工作人员的签字确认。另有双方当事人认可真实性的QQ记录显示：2013年12月16日，用户名为“朱宽友-
东方国旅”留言：“几个添加的项目是要的”，同年12月31日，2014年1月3日用友通咨询公司人员留言：“整理了沟通内容和昨天确认的……我们调试阶段的修改就按照这个”、“我们今天确认的这个修改意见……就按照这个改，争取不做重复劳动”，2014年1月3日，“朱宽友-
东方国旅”留言：“好的，这个没问题”。后双方较少沟通，直至2014年3月3日，用友通咨询公司人员留言：“这个是开发的表格，您看下是否有需要修改的地方”，之后，双方就新的修改要求和测试中发现的问题不断沟通，直至2014年5月15日，“朱宽友-
东方国旅”留言：“比上次好多了，影响流程的问题目前只发现一个”、“其他的十来个问题，是要改改更人性化，方便操作的”，5月27日，东方国旅公司更改服务器密码，用友通咨询公司不能继续技术开发。
庭审中，围绕用友通咨询公司交付的程序是否达到合同书约定要求，东方国旅公司具体指出在发班计划、查询信息、缴款单和付款单、查看内容的权限、销售提成、计调提成、公司所得、预算、确认项目上出现问题（分别见QQ记录第25页、29页、37页、38页），但对于上述问题，东方国旅公司未能当庭明确在合同书及开发方案中的约定要求。用友通咨询公司辩称关于发班计划、查询信息、缴款单和付款单问题，当日下午已经改好可以测试了（见QQ记录第25页）；关于查看权限，不是开发方案约定的要求；关于销售提成、计调提成、公司所得的问题，当日17时35分许“朱宽友-
东方国旅”反馈“现在可以了”（见QQ记录第37页）；2014年5月27日东方国旅公司提出了预算、确认项目问题，但当日东方国旅公司将服务器密码修改，用友通咨询公司不能继续技术开发。
用友通咨询公司当庭表示已将源代码带来，有交付源代码的诚意；但东方国旅公司表示，其仍然使用原有旧系统，已不需要案涉系统的源代码。
一审法院认为：
双方当事人签订的技术委托开发合同书及开发方案系双方真实意思表示，不违反法律的强制性规定，故上述合同书及开发方案真实有效，双方应按约履行。用友通咨询公司在东方国旅公司支付前期开发款60日内，于2013年12月26日向对方交付了程序安装包。东方国旅公司诉称收到的仅是辅助程序，但既不能说明该辅助程序内容，又拒绝将程序当庭比对，且合同书及开发方案中并无辅助程序之约定，QQ聊天记录也显示了之后双方对案涉程序协商修改的过程，并多次出现“测试”等字样，故对东方国旅公司此项陈述，一审法院不予采信。
因东方国旅公司拒绝将用友通咨询公司交付的程序提交法庭比对，一审法院结合QQ聊天记录与合同约定进行综合分析对比，认定在用友通咨询公司交付最初开发成果后，东方国旅公司对原约定的内容进行了部分修订，包括：2014年3月31日提出希望在应收款统计上增加“业务员”检索要素、在应付款统计上增加“计调”要素等内容。一审法院认为，在合同履行过程中，东方国旅公司对原合同书及开发方案有所增加和修改，相应的，应适当延长用友通咨询公司的履行期限。根据《东方国旅信息化系统项目开发合同书》的规定，因东方国旅公司资料准备及栏目设定等原因使得用友通咨询公司无法按合同规定期限内完成开发工作的，用友通咨询公司负责继续完成开发工作，但不承担超过合同期限等责任。故东方国旅公司关于用友通咨询公司未按时交付开发程序构成根本违约，要求返还前期开发款的主张，一审法院不予支持。
关于用友通咨询公司提出双方继续履行开发合同的反诉请求，一审法院认为，信息化系统技术日新月异，当初的技术开发需求已不能满足委托方的现实需要，且东方国旅公司明确表示使用原有旧系统，现已不需要案涉程序的源代码，故双方于2013年签订的合同书及开发方案已无继续履行的必要。
关于开发费用问题，交付日期延后的结果虽有东方国旅公司不断修改开发内容的因素，但用友通咨询公司作为技术开发方，在2014年1月初至3月初期间，甚少主动与委托方沟通交流，缺乏履行合同的积极性，且其开发的产品确有技术漏洞（bug），故综合考虑起诉时用友通咨询公司交付案涉产品的完成度，及双方投入的时间、经济成本，一审法院酌定东方国旅公司再支付开发款18000元，同时用友通咨询公司将案涉系统源代码交付东方国旅公司后，双方合同终止。
依据《中华人民共和国民法通则》第八十五条、《中华人民共和国合同法》第六十条、第九十一条、第三百三十条、第三百三十一条、第三百三十二条、《中华人民共和国民事诉讼法》第五十一条、第一百四十条之规定，判决如下：一、驳回东方国旅公司对用友通咨询公司的诉讼请求；二、东方国旅公司于本判决生效之日起五日内向用友通咨询公司支付开发费用18000元；用友通咨询公司于本判决生效之日起五日内将案涉系统的源代码交付东方国旅公司；三、驳回用友通咨询公司其他诉讼请求。一审本诉受理费430元，由东方国旅公司负担；反诉受理费372元，由用友通咨询公司负担195元，东方国旅公司负担177元（177元由东方国旅公司直接给付南京用友通企业管理咨询有限公司，以冲抵其预交的费用）。
东方国旅公司不服一审判决，向本院提起上诉称，上诉人向被上诉人定制软件是为了更方便地工作，但是被上诉人制作的软件并未能达到合同要求的基本功能，更没有交付，根据合同约定，已构成根本违约。一审法院判决上诉人支付费用，被上诉人交付源代码，有违事实和法律，对上诉人显失公平。故请求本院撤销一审判决，改判被上诉人返还前期开发款25200元并承担本案的全部诉讼费用。主要理由如下：1、2013年11月18日，上诉人已经与被上诉人签订开发合同，约定涉案软件应在60天内完成开发，然而直至2014年5月15日被上诉人提交的所谓软件仍然处于测试阶段，并没有按照上诉人确认的开发方案完成。2、根据双方提交的证据，并非上诉人不断提出新的修改意见，而是被上诉人自始至终都未完成过上诉人定制软件的基本功能，上诉人不断地与被上诉人沟通和修改的是开发方案中约定的软件要求，并非新的增加项目。3、被上诉人在合同履行过程中，始终未按期履行验收和交付源代码的义务。4、一审法院认为信息化系统技术日新月异，被上诉人的技术开发需求已不能满足委托方的现实需要。但又判决上诉人支付开发款，被上诉人交付源代码，相当于让上诉人支付43200元购买了一个没有用处的软件和源代码，显示公平。
用友通咨询公司二审答辩称，一审判决认定的事实清楚，适用法律正确，请求二审法院依法驳回上诉人的上诉请求，维持原判。
双方当事人在二审中均未提交新证据。
一审法院查明的事实，均有证据予以证实，本院对此予以确认。
本院二审另查明：
用友通咨询公司在二审庭审中，将其开发的涉案软件进行了现场演示。演示结果为该软件的基本模块和框架都已具备，处于基本能够使用的状态。东方国旅公司质证认为，用友通咨询公司现在提交的软件与其交付给东方国旅公司的软件有差别，用友通咨询公司掌握源代码，随时都可以进行修改。东方国旅公司还认为，用友通咨询公司开发的软件主要存在以下7个问题：1、基础信息中付款对象设置不能修改；2、报表统计中应收款统计不能点击按钮查询；3、报表统计中应付款统计不能点击按钮查询；4、业务处理中订单管理点击收款页面不能打开；5、团档计算跑不通；6、团档计算中各项应收应付统计错乱；7、客户数据自动存档及选择不通。用友通咨询公司针对上述7个问题陈述如下：1、付款对象设置能修改这一功能在合同中并未约定，其开发的涉案软件经实际操作确认，已经具备该功能；2、涉案软件完全可以在应收款、应付款统计中实现按合同约定的条件以及东方国旅公司增加的条件进行查询；3、合同中约定的收款单应该是在收款管理中进行收款，在订单管理中进行收款是东方国旅公司的额外要求，涉案软件已经具备此功能；4、团档报表可以打开，东方国旅公司所称的跑不通和统计错乱没有证据证明；5、合同中并没有约定客户数据自动存档及选择这一功能要求。
本院认为：
关于用友通咨询公司是否构成根本违约。根据本案查明的事实，在用友通咨询公司于2013年12月26日将涉案软件安装包拷贝到东方国旅公司服务器上后，双方仍然就该软件的开发事宜进行交流沟通。东方国旅公司对软件的功能要求有所增加和修改，用友通咨询公司对东方国旅公司提出的要求以及软件中出现的技术漏洞进行了修改和完善。直至2014年5月27日，双方发生争执，东方国旅公司更改了服务器密码，导致合同未能继续履行。本院认为，首先，计算机软件委托开发合同不同于一般标的物相对明确的合同，合同双方在合同订立之初通常仅能对开发事项作出大致的、方向性的约定，即将核心、重大的事项加以确定，而对细节问题很难一次全部见诸于合同之中。双方在合同实际履行过程中通过协商以增加、修改等方式不断明确软件的功能要求，并不违反软件行业的开发规律。本案中，东方国旅公司在合同履行过程中对软件的功能要求有所增加和修改，其要求严格按照合同约定的期限直接认定用友通咨询公司根本违约的主张，与实际履行事实不符，本院不予支持。其次，东方国旅公司虽然主张用友通咨询公司交付的软件未能达到合同要求的基本功能，但其并没有提交足够的证据予以证明，本院对此不予采信。最后，东方国旅公司还认为用友通咨询公司没有按期交付源代码构成违约。本院认为，涉案合同虽然约定用友通咨询公司负有提供项目开发的全部源代码的义务，但并没有明确约定交付源代码的期限。在涉案合同因双方发生纠纷未能履行完毕的情况下，东方国旅公司以用友通咨询公司未提供源代码为由主张其构成违约没有合同依据，本院不予采信。综上，东方国旅公司认为用友通咨询公司构成根本违约的上诉理由没有事实和法律依据，本院不予支持。
关于一审判决东方国旅公司向用友通咨询公司支付开发费用18000元是否适当。本案中，由于双方当事人在发生纠纷后，已缺乏相互配合、相互信赖的基础，东方国旅公司在一审中也明确表示使用原有旧系统，故继续履行合同已不符合当事人订立合同的初衷。鉴于东方国旅公司在合同履行过程中对软件的功能要求有所增加和修改，而用友通咨询公司开发的软件也存在技术漏洞，一审法院根据本案查明的事实，在判定涉案合同终止，用友通咨询公司将涉案软件源代码交付东方国旅公司的情况下，综合考虑用友通咨询公司交付软件的完成程度以及双方投入的时间、经济成本，酌情确定东方国旅公司再向用友通咨询公司支付开发款18000元符合诚实信用和公平合理原则，并无不当。
综上，东方国旅公司的上诉理由缺乏事实和法律依据，其上诉请求应予驳回。一审法院认定事实清楚，适用法律正确，应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第（一）项之规定，判决如下：
驳回上诉，维持原判决。
二审本诉案件受理费430元，反诉案件受理费177元，合计607元，由上诉人东方国旅公司负担。
本判决为终审判决。
审 判 长 姚兵兵
审 判 员 薛 荣
代理审判员 于佳虹
二〇一六年一月二十日
书 记 员 卢 蓓