北京市隆安律师事务所吴国平律师代理了一起由北京市朝阳区人民法院审理的软件著作权纠纷案件,原告在某一行业经营多年,几乎占有绝对的垄断地位,被告是一家新成立的公司,经营的软件产品如果进入市场将分取原告一定的市场份额,原告以被告开发的软件侵犯其软件著作权为由将被告起诉至法院,请求法院判令被告停止侵权、赔礼道歉并赔偿相关损失,并同时向行业主管部门发函,要求停止行业主管部门的内部审批,后行业主管部门以被告软件涉嫌侵权为由暂停了相关的审批手续。案件审理之中,原被告双方均向法庭提交了国家版权局颁发的软件著作权登记证书,后法院应原告的申请,调取了被告于版权中心备案的源代码等文件,并委托鉴定机构对两套源代码及执行程序进行对比,案件承办律师针对软件侵权认定中的问题,完成本篇文章,希望对软件行业的编程人员和企业管理者有所帮助。
一、源代码侵权的认定
计算机软件著作权纠纷往往涉及编程语言源代码、程序文档及程序运行的硬件要求等计算机科学领域比较专业的问题,无论是律师还是法官,通常没有办法进行此类侵权案件的认定,因此,专业鉴定机构的选择,似乎成为所有此类案件必不可少的一个程序,而鉴定机构对于软件源代码侵权的认定,需要首先解决判断标准和判断方法的问题。关于判断标准,需要强调的是,通行的编程语言全部为西方语言,尽管中国的软件界不乏尝试用中文编程的专业人士,但是从计算机诞生至今,计算机自硬件到软件都是以印欧语为母语的人发明的,所以其本身就带有印欧语的语言特征,在硬件上CPU、I/O、存储器的基础结构都体现了印欧语思维状态的"焦点视角",精确定义,分工明确等特点。计算机语言也遵照硬件的条件,使用分析式的结构方法,严格分类、专有专用,并在其发展脉络中如同他们的语言-常用字量和历史积累词库量极度膨胀。实际上,计算机硬件的发展越来越强调整体功能,计算机语言的问题日益突出。为解决这一矛盾,自六十年代以来相继有500多种计算机语言出现,按照TIOBE世界编程语言排行榜,最为常用的有JAVA.、C、C++、VB和PHP等,目前侵权案件中所涉及的侵权案件基本上集中在上述的几种语言中。
对于源代码是否相同的标准,严格的探究可能会成为一个超出法学和计算机科学的问题,可能还需要哲学家的参与,即需要解决什么是相同的问题,有一点相同的两个整体是否是相同的两个整体,更或者仅有一点不同的两个整体是否是不同的整体,实践中人们对于哲学家的思维可能会怯而退步,所以开始讨论实质性相同的问题,这种思想上的变化反映了对于源代码判断标准的变化,即原始的“镜像复制”标准向“实质性相同”的变化。
镜像复制标准,即认定两种软件的所有源代码达到100%相同,才能认定两种软件之间存在侵权关系,这是一种比较刻板守旧的看法,这种标准处理早期的、原始的软件盗版是有效的,但是不能适应不断翻新的抄袭手法,对于部分抄袭、抄袭加创作的方式是无法确认侵权的,实践证明不能保护软件著作权利人的权利。
实质性相同也因此成为此类案件判断侵权的重要标准和通行的做法,但是实质性相同同样需要解决判断临界点问题,即如果达到某种标准则构成侵权,否则不能构成侵权,北京市海淀区人民法院曾经利用鉴定机构报告认定的20%相同的比例认定侵权,如果这一比例仍然为很多人接受的话,那么如果1%相同是否侵权的问题似乎又把我们拉回哲学的思维,实践中这一界限无疑是模糊不清的,需要法官依据具体的情况作出判断。
正如所有程序化的东西都有缺陷一样,固定化的检测软件不可能做到绝对的科学,例如针对部分鉴定机构使用的Beyond Compare软件,如果选择代码长度为一的话,那么所有同种语言编写的源代码都将大概率的相同,鉴于鉴定机构不可能在很短的时间内以人工的方式完成十几万行甚至几十万行的源代码的对比,检测程序又成为不得不采用的方式,但是对于鉴定机构最终出具的报告,法官应当对于此类的局限性有充足的认识。
不同种语言编写的代码如何认定实质相同,不同的编程人员有不同的认识,而且,因为不同语言之间缺少一一对应的字符关系,例如由将C语言的代码编译称JAVA语言代码的过程本身包含了大量的智力创造,不同的程序员出于对C语言代码的理解可能会编写出不同的JAVA代码,因此对于不同语言源代码之间抄袭的认定对鉴定机构提出了更高的要求。
同时,法官在委托鉴定机构时都没有明确具体的认定标准,鉴定机构便采用的结构、顺序与组织为标准认定相同,即计算机软件程序的结构、顺序和组织相同,即使程序的编码不相似,也可认定两者实质性相似,实践中此种认定方法争议较多,鉴定机构对于此类委托格外的慎重,少数鉴定机构则直接表示无法认定是否相同,有的鉴定机构则采用折中的方式来出具鉴定报告,即以两种软件的屏显顺序、选单内容、布图设计、用户信息输入格式和输出格式是否相同来确认两者是否存在实质性相似。
二、数据库与软件侵权的关系
在我代理的案件审理中,鉴定机构的鉴定报告认定原被告的数据库表格相同的为4%,相似的为94%,对于数据库是否为软件的一部分,以及数据库字段相同是否就是软件侵权,原被告有着不同的观点。
被告认为,包含数据库内容在内的数据库结构不属于计算机软件,根据《计算机软件保护条例》第三条的内容,计算机软件著作权纠纷中权利人所主张的权利载体共分为两个部分,即计算机程序和文档,程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品;文档是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等,根据以上条例可知,如果将数据库列为应在软件著作权纠纷中应保护的权利,那么数据库要么为程序,要么为文档,但是数据库肯定不是程序代码,而且数据库并非是用来描述程序内容和组成的文字和图标,所以数据库也不是文档,因此数据库不应当成为计算机软件的一部分也不能在计算机软件著作权纠纷主张其著作权。
被告还认为数据库是完全可以从某个计算机软件中独立出来,而成为另一计算机软件的数据库。数据库只是“数据”的组合,对他们的操作是由数据库外的计算机程序实现的。因此,数据库和计算机软件程序是两个独立的著作权保护对象。“对数据库中信息的具体安排、检索都是由计算机应用程序进行的,提供创造性的安排、检索功能的程序本身具有独立的计算机软件著作权,同数据库中信息的著作权根本不是一回事”。因此,计算机软件著作权的保护不延及数据库的内容及结构。
被告还认为其观点也一直为最高院所确认,在最高人民法院关于深圳市帝慧科技实业有限公司与连樟文等计算机软件著作权侵权纠纷案的函([1999]知监字第18号函)中明确表述“数据库结构不属于计算机软件,也构不成数据库作品”。
原告的观点认为鉴定报告所依据的鉴定原则就是从软件的系统架构、源代码、数据库、运行界面和编译过程来进行对比分析,因此,鉴定机构所作出的结论应当视为认定被告软件是否侵权的依据,同时软件的编程人员大多数都认同数据库与软件的同一性,在法律没有明确规定的情况下,专业人员的观点应当作为法院审判的依据。
我个人作为被告方律师当然支持被告的观点,但是跳离当事人的角度,我仍然认为法院在审理此类案件时,对于纯粹技术性的问题,例如源代码相同比例问题应当以鉴定机构的结论作为判案的依据,但是对于法律问题,应当严格遵照法律的具体规定,尽管很多有条件的法院都已经成立专门的知识产权庭,但是对于该类案件,部分法官仍然对鉴定机构有很大程度的依赖性,即把所有的问题和责任都抛给鉴定机构,而忽略了软件专业人员的观点(例如数据库)是从技术角度出发而不是从法律规定的角度出发。
三、案件审理中细节问题对于软件企业的启示
在该案的审理过程中,出现了很多可能会影响法官判决的细节问题,对于该类问题,并不是影响案件性质的关键因素,但是如果与鉴定报告的相关内容相结合,小的细节也可能成为最后的一根稻草,简述如下:
首先,很多软件企业对于开发的软件产品,只是在开发完成时做登记备案,但是后续因为运行环境、通讯方式、加密验证方式甚至软件的功能都会因为种种原因做或大或小的调整,但是对于此类更新的版本,所有的管理者及技术人员都缺乏将更新版本重新备案的意识,一旦该款软件涉及版权诉讼,则管理人员的此项疏忽很有可能影响案件的胜败。
其次,软件著作权纠纷案件的审理中,“实质接触”往往成为主张侵权方的举证难点,尽管法律界对于该条件的理解各有不同,但是源于编程人员管理的水平问题,往往在庭审中成为争议的焦点,建议软件企业在劳动合同的竞业条款、保密协议、软件源代码等信息的传递和存储方面征询专业律师的建议,以防止可能存在的管理漏洞。
某种程度上讲,该类案件中涉及律师能力的比拼、证据的比拼,但是归根结底还是企业综合实力的比拼,这一点无疑应该成为软件企业管理者的警钟!