软件技术合同纠纷常见法律问题

2018年12月7日

近年来,随着互联网经济的飞速发展,围绕软件技术合同的纠纷大量涌现。软件技术合同可能包含开发、运营、维护等内容,涉及计算机软件的著作权保护、美术作品的著作权保护、合同法、公司法等方面的法律法规。在工作中,我们总结发现软件技术合同法律纠纷常见以下问题:

  软件开发费用  

如果软件技术合同中涉及到软件开发,一般对于软件开发所需要的费用大致会有三种约定模式:开发者自担,委托者承担,双方承担。其中开发者自担是指对于软件开发的费用,最终应由开发者自身承担。但是由于开发者自身资金的限制,一般来说软件开发的费用会由委托人先行提供,在软件开发完成后再从开发者应当获得的收益或者应得的报酬之中扣除。

委托者承担则是指软件开发的费用,全部由委托者提供,也就是委托者投资软件开发项目,对于开发项目所需的资金提供支持。在这种条件下,委托者一般会对软件开发完成后的成果与收益有着较强的控制要求。开发者很难获得除了开发软件的报酬外的权益。

双方承担则是指,对于软件开发的费用,最终按照约定的比例由开发者和委托者双方各自分摊。但是和开发者自担的模式相类似地,开发资金一般仍是由委托方先行提供,在软件开发完成之后,再从开发者应当分得的报酬或者收益中先行扣除。

  对软件功能的要求  

在涉及到软件开发的技术合同中,委托方一般会希望开发者所开发的软件满足其特定需求。一般地,以非技术术语对待开发软件的特定功能、基本特点和所应有的能力所做的描述被称为功能说明,而对程序如何运行及如何完成其功能所作的技术性概括则被称为技术说明。无论是功能说明还是技术说明都是委托方对于开发者提出的对软件的要求。如果委托方同样有着较强的专业技术能力,那么可以通过技术说明的方式直接取代功能说明从而表明对软件的要求,或者要求开发者依据功能说明提供符合其软件要求的技术说明。

当委托方采取功能说明的方式提出其对软件的要求时,应当注意到功能说明本身是有一定模糊性的,它无法直接左右开发者如何编写代码。而开发者对于实现这种功能的具体方式或者做出的技术说明一般不会因为委托人的不满而承担实际的责任。但是如果开发者依照约定没能按时向委托者提供技术说明,则有可能承担因延误造成的违约责任。

  所开发软件本身的侵权问题及责任承担  

软件技术开发本身可能涉及到多种著作权和专利问题。软件的内容可能会涉及到文字作品、美术作品等著作权保护的项目,比如根据小说、漫画等改编的游戏作品等,或者在软件中直接使用了其他文字或者插画等作品。在软件的代码、程序上则会涉及到计算机软件这一著作权保护客体,不论是电脑软件还是手机软件实际上都是著作权保护的对象,有相应的作品特征。而如果这些软件还另外申请了专利,那么在构思上也有可能侵犯了其他软件的技术方案。因此,在开发一款软件时,要明确待开发软件是否存在侵权问题,包括是否无权使用、改编了文字作品、美术作品,或者无权使用、复制、改编了受保护的其他软件作品等。

另外,有的软件作品尤其是游戏一类,往往会出现很多模仿热门游戏的跟风作品,这些作品就有很大可能会出现侵权问题。因此,有必要在合同中约定待开发软件本身侵权问题的处理和相关责任的承担方式。一般来说,如果开发者完全按照委托者要求进行开发最后出现侵权的话,应当由委托者承担责任。

  开发的软件著作权的归属  

由于计算机软件是著作权保护的客体,因此委托开发软件的,最好在合同中约定著作权的归属问题。我国法律是鼓励计算机软件开发的,因此相对而言更加保障受托人的权利。《著作权法》第17条规定“受委托创作的作品,著作权的归属由委托人和受托人通过合同约定。合同未作明确约定或者没有订立合同的,著作权属于受托人”。《计算机软件保护条例》第11条也规定:“接受他人委托开发的软件,其著作权的归属由委托人与受托人通过合同约定;无书面合同或者合同未作明确约定的,其著作权由受托人享有”。

著作权的归属与软件代码的控制权、软件的使用权不同,是一项需要单独约定的权利内容。如果委托者要获取软件的著作权,应当在软件开发合同中明确约定,否则软件著作权应当归属于受托开发者。

  软件代码的控制与使用  

开发软件最重要的产品就是软件的代码了,软件代码和应用程序不同,是一个软件最核心与本质的成果。一般来说,委托者需要的、得到的是一个软件的应用程序,而仅依靠应用程序是无法直接获取软件代码的,这就造成软件代码控制权和使用权的问题。软件代码既受著作权法保护,也可以同时申请专利,受专利法保护。而对于软件代码的控制、使用权就是著作权、专利权中的内容,因此软件代码的控制、使用应当由权利人来处分。而这种处分的方式又分为几种:

  • 当合同中既未约定软件著作权归属又没有约定代码的控制使用权时,软件的著作权默认由受托开发者享有,因此开发者就同时基于著作权享有对软件代码的控制和使用权。在这种情况下,开发者可以对软件代码另行使用、转让、制作其他程序等,委托者就很难对得到的软件程序享有专属的使用权。
  • 合同中未约定软件著作权归属但约定了代码的控制使用权时,应当按照合同约定执行。这种情况下,尽管软件的著作权仍然应当由受托开发者享有,但是按照合同的规定,可以视为开发者将其著作权中的使用权等财产权转让给了委托人,是一种对于权利的处分。开发者虽然直接拥有代码,但是基于合同约定,不能对其使用、改编等,仅享有对软件冠名等著作权中的名誉权内容。
  • 当合同中约定了软件著作权归属时,软件代码的控制使用权也附随于著作权发生移转。如果软件合同中约定开发软件的著作权归委托人所有,那么虽然开发者是软件的创作人,但是对于软件开发完成后的产品就不享有权利。基于著作权产生的软件代码的财产权利、名誉权都应当归于委托人,开发者虽然拥有代码,但不能对其使用、改编以及冠名等。
  判断软件是否符合要求  

上文提到,委托者一般会对所开发的软件功能提出要求,这种要求可能是以功能说明作出的,也可能是以技术说明作出的。而判定软件是否符合要求往往是开发者获得开发报酬的一个重要条件。

一般来说,受托方会按照委托人的功能说明设计技术说明,或者直接按照委托人的技术说明制定软件的基本构思和框架,受托方的编程人员会按照技术说明来编写代码。但是在检测软件时,一般由另外的检测小组来进行,避免编程人员自检时陷入定势思维。除受托方检测外,委托方也会对软件进行检测。检测的程序一般是根据需求说明——列出功能点——写出测试用例——实际操作——对比实际值与预期值,不符的就是bug。

除了委托方、受托方自行检测之外,还可以委托专门的检测或者鉴定机构来判定软件是否符合要求。例如国家电子计算机质量监督检验中心,就提供包括产品说明符合性测试、软件质量需求符合性测试等项目在内的软件产品测评服务。

  软件运营后收益的分配  

受托人开发的软件,有一些可能是专门服务于委托人自身的,而另一部分则可能是要向公众发布运营的,例如游戏软件、手机APP等。这些软件在运营后才会获得收益,而收益的数额在实际运营前也是难以确定的。因此,如果在软件开发合同中约定受托人的报酬与运营后的收益挂钩,那就要明确运营后收益分配的方式。

首先应当明确收益数额的确定方式。双方应当对于确认收益的方式达成协议,包括结算期间,收益数额确认的途径,成本与必要费用的确认等。其重点在于信息的公开性与对称性,如果收益数额的信息只掌握在一方手中,那么另一方的收益权就很难得到保障。

  软件运营后的维护与升级 

如果开发的软件是对外发行并需要运营的,那么在运营之后,对软件的维护与升级就是一个长期的需求和工作。例如一款手机游戏,为了及时修复游戏过程中出现的漏洞与问题,并且保证游戏的新鲜感,需要经常对游戏进行更新和维护。因此在软件合同中,应当对运营之后维护与升级工作的分配作出安排。一般来讲,软件开发者掌握着软件代码,对于软件也更加熟悉,适合担任维护工作。但是有时委托人为了在运营之后尽量掌握软件及其带来的收益,在自身拥有足够技术能力的前提下会约定由自己进行软件维护。在这种情况下就要注意,对于软件进行维护与升级的前提一般需要掌握软件代码,因此如果约定由委托人对软件进行运营后的维护与升级,就应当同时对于移交代码问题进行详细的约定,否则运营后维护工作的约定也难以实现。

  对于技术开发人员离职的管理  

作为一个软件的开发者,一般来讲都至少会是一个团队,乃至一个企业。因此,在开发者团队中出现人事变动的情况也是很常见的。但这就可能造成待开发的软件无法继续研发,或者无法进行后续维护升级工作的情况,同时也会产生技术流失、泄密的风险。

故而在软件开发合同中,双方可以约定对于技术开发人员离职的管理条款,开发者应承诺参与开发的技术人员在开发过程中和开发完成后一段时间内不应离职,这应当落实在开发者与其技术人员签订的劳动合同之中。同时开发者还应当与技术人员签订保密协议或竞业禁止条款,保证其在合同届满或其他特别原因离职后,不会将所开发软件的信息外泄。

这样的约定与管理既是对委托人的保护,也是对于开发者的保护。因为如果出现技术泄露、软件无法开发完成、无法维护升级等问题,那么第一责任方应当是开发者,委托人可以基于软件开发合同向开发者主张损失赔偿。但如果开发者充分地履行了对于人员离职的约束与管理措施,那么就可以凭借劳动合同、保密协议等条款向相关的责任人进行追偿,保护自身的合法权益。

  出现同类软件的处理  

一款软件如果对外发行运营,那么出现同类跟风作品的可能性就很大。如果出现同类软件的原因是技术泄露的话,那么应当依照前述的方式向相关责任人追偿。但是对于一些技术难度并不是很大的软件来说,可能不需要获取软件代码的信息,其他有足够技术能力的开发者就可以对其进行仿制。那么对于这些仿制的同类软件又应当如何处理呢?

首先,应当确认原软件的知识产权。软件开发完成后其代码天然地受著作权法对计算机软件著作权的保护,而软件中涉及的其他文字素材、图片素材也可能作为独立的作品获得著作权的保护;软件著作权可以进行登记,但未登记也不影响著作权的效力;此外软件还可以申请专利,对于软件的技术构思与实现方式进行专利保护。

其次,应当确认同类软件是否侵权,侵犯了何种权利。对于直接使用了相同代码开发的同类软件,原开发者可以凭借计算机软件著作权向其追究侵权责任;对于使用了原软件中完全相同的文字作品、艺术作品等开发的同类软件,原开发者可以凭借相关的作品著作权向其追究侵权责任;对于使用了同样的技术构思或技术方法而仿制的软件,单从著作权角度寻求保护就很难做到了,因为同类软件的代码可能与原软件已经大不相同,但是实现的构思却是一样的,这就需要原软件开发者在申请了专利的前提下,依据软件专利权向其追究责任。

另外,如果合同约定了软件开发完成后的知识产权归属,那么对同类软件的追责和处理也应当由知识产权所有人进行,而不一定是开发者。

  对于软件的再开发  

对于开发出的软件,委托人经过测试或者运营可能会对其功能产生新的要求,或者需要其适应新的市场环境,这就出现了对软件进行再开发的问题。一般来讲,想要对软件进行再开发的是使用或者运营软件的委托人,而委托人对软件组织再开发就要满足几个前提。

首先,委托人应当具备软件的知识产权。对软件进行再开发,是对软件知识产权中改编权的使用,无论是著作权还是专利权,其中都包含了改编权的内容。因此委托人应当首先通过软件开发合同或者后续的协议获得软件知识产权中,至少包括使用权、改编权在内的权利才能合法进行再开发。

其次,委托人需要获得软件的代码。对软件进行再开发,所依据的基础当然是原软件的代码,因此委托人想要进行再开发就难免需要先获得原软件的代码。而如前文所述,代码的移交与掌控同样应当在软件开发合同中进行约定,或者通过后续协议进行约定。

当然,委托人也可以在原本的软件开发合同中事先对再开发的事项进行落实,约定原开发者同样应当对于软件后续的再开发工作负责。这样就可以避免委托人获取知识产权和软件代码的前提要求,这也适用于没有足够技术能力的委托人。