中政人通知识产权 软件著作权专栏】 随着信息技术的发展,近乎所有业务都在与计算机信息技术相融合。与此同时,计算机软件开发的情形越来越普遍,但并非每个企业都有足够的技术人员,或者即便有技术人员,因技术需求复杂或者难度高,也可能将相关的软件开发外包给专业团队。计算机软件开发一般涉及资金大,周期长,专业性极高,一旦出现纠纷,如果没有未雨绸缪,就会变得相当被动,使得谈判或诉讼变得步履维艰。如何才能最大限制维护本方权益,计算机软件开发合同要怎么签,就显得特别讲究。 一、两个基本前提 第一,本文立足点基于需求方(即委托开发方,通常是提出需求、支付费用的一方)。因为技术机软件开发合同,一方是需求方,一方是开发方,两者在利益上是处于对立的,本文立足点基于需求方。 第二,本文基于中国国内的双方。如果涉及中国以外的一方,属于涉外问题,本文暂不涉及,将另行讨论和分析,因此,本文的讨论,基于中国现行有效的法律制度框架。 二、必要的基础知识 在正式开始之前,了解一些基础知识更有助于理解。 第一,意思自治。易言之,就是自己的事情自己做主,双方怎么约定的,法律就按照约定的内容来办,也就是在签计算机软件开发合同的时候,就把结果定下来了。 第二,强制性规范和任意性规范。强制性规范,就是法律已经规定了,不管你约定或不约定都没用,以法律规定为准。任意性规范,就是在你没有约定的时候,以法律规定为准,在你约定了的时候,以你约定为准。聪明的人可以看出来了,计算机软件开发合同,不在于字数多条款多,而在于精,而在于如何用约定的合同条款排除法律的任意性规定,以实现对本方最有利的目的。当然,这不是一般人员可以做得好的。 三、正题 计算机软件开发合同,说白了,就是有技术需求的一方支付费用,一方提供技术服务以获取费用。因此,至少有两个核心问题:一是技术需求,二是费用支付。结合我们的工作实践,还有两个核心问题必须考虑:一是知识产权,二是万能的其他。接下来,就依次说明以上四个核心问题。 1.技术需求 技术需求,就是你让别人开发软件,要实现什么功能、达到什么效果。隔行如隔山,各行各业的技术需求千差万别,有的是通用技术需要,如客户维护、流程管理……有的是专业行业需求。如果是通用技术需求,可能只需要框架,开发方即可明确需求。如果是特殊行业的专业技术需求,可能就需要更详细的描述。 写个详尽的技术需求,确实很重要,但也很难,并非每个开发主体都能写出详尽明确的技术需求,这个不现实。这时,就需要权利来弥补,即在支付费用的时候留有余粮。尽管如此,我们总结了实践中的经验,认为以下内容非常有必要约定明确: 开发语言,如Java、C、Python、C++、.NET、JavaScript、C#、PHP、SQL、ObjC等。 服务器及数据库,服务器标准当然必不可少,另外,账号密码也必要要求,所有的数据、技术秘密都在其中。 拟实现的所有功能,这个不用说,想要实现什么功能,能想多少写多少,能表达多详尽表达多详尽,但一定记住,以书面为准,包括但不限于文字、视频、音频等,但一定要赋予这些合同主要内容的效力; 技术维护及功能改进:一般而言,除非是通用功能,一次开发即完全满足需求的情况极少,因此,功能改进的问题一定要有 其他,具体的需求还得具体地分析,以上一般而言是必不可少的,最重要的,还是具体的个性化需求。 2.费用支付 费用支付,是委托方最有利的武器,一定要用好。一般而言,可以概括为三点:一是分阶段付款,二是尾款支付,三是拒绝付款权,四是返款约定。 分阶段付款,即开发到一个阶段支付一定费用,开发程度与费用支付成正比。当然,能谈到多少阶段谈多少阶段。 尾款支付,即只有确认完全实现功能和技术需要,才支付最后一笔款项。 拒绝付款权,即在什么条件下,对方才有权要求付款,换言之,在什么条件下,有权拒绝付款; 返款约定,这一点最容易被忽视。如果开发方没有完成任务,或者出现其他情况,应当将已收到的费用返还。最多的情况是只约定了返还,没有约定具体的返还日期,更没有约定如果未按期返还的后果,这种情况如果不约定清楚将非常不利。 3.知识产权 知识产权,这个是新问题,一般情况下需求方对此不重视,可能吃大亏。一是要约定所开发的软件的著作权归属,即约定开发的软件归需求方,除了权利归属外,还必须要求开发方提交完整的开发文档、源代码、技术文档,如果没有这些,很可能是纸上的权利。二是要约定如果开发的软件侵害他人知识产权的赔偿责任及违约责任。即便是专业人员,也难分辨开发的软件是否侵害他人权利,因此,这个约定非常必要。 4.其他 合同其实是一项系统的工程,如约定仲裁或管辖,约定违约责任、约定赔偿计算方式……都是非常必要而实用的条款,此不详述。 四、民法典规定 参见《民法典中的计算机软件著作权》等系列文章。
## 计算机软件开发合同要怎么签?
计算机软件开发合同是在计算机软件开发过程中,明确双方权利义务的重要法律文件。以下是一些签订计算机软件开发合同的建议:
### 一、明确合同双方的基本信息
在合同中,应明确双方的名称、地址、法定代表人、联系方式等基本信息,以确保合同的有效性和可执行性。
### 二、定义项目范围
在合同中,应详细描述项目的范围,包括软件的功能、性能、设计、界面等方面的要求,以避免双方在项目实施过程中产生分歧。
### 三、明确项目交付时间和质量标准
在合同中,应明确项目的交付时间和质量标准,以确保项目能够按时完成并满足双方的要求。
### 四、确定费用和支付方式
在合同中,应明确项目的费用和支付方式,包括预付款、进度款、尾款等,以避免双方在费用支付方面产生争议。
### 五、明确保密条款
在合同中,应明确双方的保密义务,包括保密的内容、期限、范围等,以保护双方的商业秘密和知识产权。
### 六、确定违约责任
在合同中,应明确双方的违约责任,包括违约金、赔偿金等,以保障双方的合法权益。
### 七、明确争议解决方式
在合同中,应明确双方的争议解决方式,包括仲裁、诉讼等,以避免双方在争议解决方面产生不必要的麻烦。
### 八、签署和盖章
在合同签订时,双方应仔细阅读合同条款,确保理解并同意合同内容。合同应由双方的法定代表人或授权代表签署,并加盖双方的公章。
以上是签订计算机软件开发合同的一些建议,双方在签订合同前应仔细阅读合同条款,确保合同的内容合法、公平、合理。如果有必要,双方可以请律师或专业人士对合同进行审查和修改,以保障双方的合法权益。