前言
计算机软件的知识产权保护是随着计算机发明而逐步发展起来的。直到上世纪的80年代,部分国家才最终确立了以著作权方式对计算机软件予以保护。由于著作权只保护表达而不保护思想的特点,而计算机软件兼具表达和工具的特性,国际上逐渐认为,著作权对计算机软件的保护不够完整,因此又对计算机软件进行了专利、商业秘密等知识产权保护方向的探讨。
在计算机软件著作权中,软件著作权的侵权认定是最为难点的问题之一。其主要表现在一方面对侵权认定的法律法规的缺位,另一方面是实质相似判断的理论和实践不足。这些都导致软件著作权鉴定过程和方法存在差异和错误。许多鉴定意见并没有对技术事实的认定起到应有的支撑作用。
本文试图通过计算机软件著作权理论的探讨,从软件分层肌理出发,对实质性相似提出具体比对方法。并尝试将这些方法应用于软件著作权的鉴定过程中,提出与著作权原理相适应的鉴定范围、鉴定方法、鉴定意见等内容。
本文仅代表笔者的个人思考和总结。不妥之处想必甚多,恳请各位专家学者指正。
一、计算机软件著作权理论在软件中的应用
(一)计算机软件著作权基本理论
著作权是对计算机软件知识产权的基本保护方式。《计算机软件著作权保护条例》对软件著作权进行了详细的规定。
1.计算机软件著作权的保护范围
2013年修订的《计算机软件保护条例》(下称《保护条例》)对计算机软件,有明确的定义。
计算机软件是由计算机程序及其有关文档组成。
计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。
文档,是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。
对上述的规定的理解如下:
(1)确定了软件的范围,即只包含程序和文档两个部分。其他部分不属于软件,或者说,不属于计算机软件著作权的保护范围。请注意,这条对软件著作权的保护范围的划分与软件行业的常规理解并不一致。理论上,计算机软件是由程序、文档和数据组成。按照本规定,数据和数据库都不是软件著作权的保护范围。
(2)规定中的“代码化指令序列”即目标程序,又称为可执行程序。目标程序由若干0和1的数字组成。该语言又称为机器语言。由机器语言组成的目标程序可读性不强,基本不能被人类直观理解,但是可以由计算机识别。
(3)规定中的“符号化指令序列”即汇编语言程序,规定中的“符号化语句序列”即高级语言程序。此两者可以统称为“源代码”。汇编语音类似于机器语言,可以被计算机识别,只不过指令采用了英文缩写的标识符,帮助识别和记忆。高级语言的种类很多,例如Basic,C,C++,Java等。汇编语言和高级语言是可以直接阅读理解的,因此大多数的源代码均由汇编语言或者高级语言编写。
(4)规定中的“自动转换”在软件行业中的术语是“编译”。编译就是把源程序“翻译”为目标程序。编译必须在一定的编译环境下进行。编译环境的搭建包括硬件和相应编译软件两个部分。同一源代码不同的编译环境编译出的目标程序不完全一致而有少许的差异。
(5)规定中的“同一计算机程序的源程序和目标程序为同一作品”是一种法律上的拟制。根据编译的特点,同一个计算机程序源程序在不同的编译环境下,可能存在略有差异的多个目标程序。但是法律上将源程序和该源程序经不同编译形成的多个有差异的目标程序依然拟制为一个软件著作权作品。
上述的规定,确定了计算机软件著作权的保护范围,即是计算机程序及其有关文档两部分。所有不属于计算机程序或者不属于文档的内容均不属于软件著作权的保护范围。
2.软件著作权对作品的要求
根据《保护条例》,软件著作权要求独立开发和可以固定在有形物之上。
软件著作权作品和其他类型的著作权作品对独创性的要求稍有不同。其他类型著作权作品,例如文字作品,美术作品等所要求的独创性包括两个方面,即“独”和“创”。既要求独立创作也要求一定的创造性(王迁,《著作权法》,北京:中国人民大学出版社,2015年3月)。但是软件著作权作品独创性仅要求独立开发而不要求具有创造性。
2.计算机软件著作权的思想表达两分法
《保护条例》规定,软件著作权不延及开发软件所用的思想、处理过程、操作方法或者数学概念等。
这是著作权法中最基本的“思想表达二分法”在软件著作权中的运用。具体而言,是指的软件著作权的保护客体是表达,而不保护思想。软件作品中所有属于思想领域的事项,例如处理过程、操作方法、数学概念等由于不属于表达,因此不属于软件著作权保护的客体。
“思想表达二分法”是著作权中最重要的原则,贯穿于整个软件著作权理解、分析、审判过程中。
(二)软件著作权在计算机软件中的具体保护内容
根据“思想表达二分法”对计算机软件的组成内容分析如下:
1.计算机软件的“三阶层”理论
应明、孙彦提出(应明、孙彦,《计算机软件的知识产权保护》,北京,知识产权出版社,2009年3月):计算机软件体现在三个层级,即需求规划层、处理逻辑层和编码表达层。软件开发流程也是按照上述的基本顺序进行开发。对各层的表述如下:
(1)需求规划层:对该程序的功能性能需求的规划设计,包括功能性能指标、用途、目的等。
(2)处理逻辑层:实现该程序的功能性能需求而进行的设计,包括程序的组织机构、流程设计、算法、数据结构、用户界面、输入输出等内容。
(3)编码表达层:计算机程序,包括源代码和目标代码。
(二)“思想表达二分法”在软件“三阶层”中的应用
1.最上层的需求规划层
需求规划层,主要是对程序的功能性能需求的规划设计。这部分主要以文档形式体现。从软件著作权的角度上说,需求规划层的文件属于计算机软件著作权中的文档类别。
2.最下层的编码表达层
编码表达层,是指的软件源代码和目标代码。软件源代码代码和目标代码均属于著作权中的表达范围。因此,编码表达层的软件源代码目标代码属于软件著作权中的程序类别。
3.中间层的处理逻辑层
处理逻辑层,包括内容是否属于思想还是表达没有统一划分标准。其中最主要的是对软件组织结构和处理流程的理解和分析。一般认为,如果其软件组织结构和处理流程如果具有功能性和实用性,则属于思想,不属于软件著作权的保护范围。如果没有体现上述的特点,则属于表达。
例如,源程序的组织结构含有若干不同文件名、不同长度、不同类型的文件,属于表达。再例如,处理流程涉及各个模块的搭建原理、并行还是串行的排列方式、调用其他文件的方法等,则属于思想。因此设计组织结构和处理流程需要具体问题具体分析。
以下为行业内基本达成共识的内容:
(1)软件界面。软件界面属于思想而不属于表达,因此不属于软件著作权保护的内容。
(2)软件实现的结果/功能。软件实现的结果/功能属于思想而不属于表达,因此不是软件著作权保护的内容。
(3)数据库结构和数据。首先,数据库结构和数据不属于软件,当然不是软件著作权保护的内容。但是含有数据的数据库可能构成著作权中的汇编作品。此外,数据根据其形式,可能构成例如著作权中的美术作品、文字作品或者音乐作品等其他类型的作品。
(4)算法/模型。算法/模型属于思想而不属于表达,因此不属于软件著作权保护的内容。
小结:
由上述对软件开发“三阶层”的分析可知,最上层的需求规划层的内容,例如功能要求等属于软件著作权的文档类别,最下层的编码表达层内容属于软件著作权的程序类别,中间层的逻辑处理层需要具体分析,尤其是软件组织结构和处理流程可能属于思想也可能属于表达。而本层其他的例如界面、功能/效果、数据库和数据、算法和模型等都不属于软件著作权保护的具体内容。
具体总结,参见表A:
表A.
(后续)
作者简介:
沈兵 上海汉光产权数据科技有限公司 鉴定负责人
原文始发于微信公众号(取证者联盟):计算机软件著作权比对鉴定的几点思考 (上)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论