知识产权保护第一平台 咨询热线:13808808035

计算机软件的鉴定对象有哪些?

时间:2015-12-20 21:32来源:

  计算机软件包括程序和文档。程序是供计算机执行的代码化指令序列,或者是可被自动转成代码指令序列的符号化指令序列或者符号化语句序列。文档是基于自然语言形成的文字作品,通常包括需求分析、结构说明、使用维护方法等内容。程序和文档是构成软件同等重要的组成部分。在司法技术鉴定的实践中对程序部分的鉴定更为常见,也是软件技术鉴定的难点。

  尽管程序可以像文字作品一样被人直观感知,但由于程序所蕴涵的信息一般难于为非计算机专业人员所理解,因此审理涉及计算机程序的知识产权案件通常涉及专门性事实的认定问题,该问题往往通过司法技术鉴定加以解决。计算机程序有源程序、目标程序两种表现形式,在技术鉴定中均会涉及。

  一、与计算机程序有关的概念

  计算机程序的版权法保护是基于程序代码或符号的表现,因而比较抽象。涉及计算机程序的技术鉴定,无论是侵犯著作权纠纷案件,还是侵犯商业秘密纠纷案件,仅仅局限在对程序代码的表现进行分析往往是不够的。从美国的司法实践看,版权法对计算机程序作品的保护已经从早期的程序代码延伸到代码背后的结构、顺序和组织。特别是美国第三代判例,充分体现了包含软件具体功能模块实现的低层设计的版权保护问题。这一理念得到了我国学术界和司法界的认同。因此,涉及计算机程序的技术鉴定,通常需要从软件工程的角度反向研究程序的形成阶段和过程。

  此外,涉及计算机软件的技术秘密侵权案件中,侵权行为也不单一地表现为对源程序的窃取、披露。技术秘密的内容可能包含在各阶段的程序设计文档中。从近年来的鉴定工作看,涉及计算机程序的技术秘密案件,直接体现为复制源程序的案件比较少;程序代码有很大差别,但在程序的系统设计、微观结构设计方面存在雷同的案件比较普遍。鉴于此类案件的被控侵权方在诉讼中大都拒绝提供有关其程序设计方面的技术资料,鉴定人只能从被告的目标程序代码出发进行反向研究,通过反汇编、反编译等手段获得相应的源代码后,分析其中包含的结构、顺序和组织等技术信息。这都使涉及程序的技术鉴定工作更加复杂,对鉴定

  工作提出了较高的要求。这里简要介绍一些技术鉴定中可能涉及的有关计算机程序的概念,某些概念在下一节鉴定实例研究中可能会涉及。

  1.算法

  算法是指通过对数据的处理,以解决一定问题的方法和过程,是对一定数据结构进行操作的方法。既包括数值运算,也包括非数值运算。“计算机程序中的算法就是把指令或语句组合成程序的方法,是计算机程序内含的思想概念。”

  2.数据结构

  “数据的组织形式,它既描述数据间的逻辑关系、数据在计算机中的存储方式,也描述在这些数据上定义的运算及操作。数据结构包括数据的逻辑结构和数据的物理结构。逻辑结构研究的是数据及其关系的数学特性,而物理结构研究的是数据元素在计算机存储器中的表示及其配置。也有人把逻辑结构称为数据结构,物理结构称为存储结构。”

  3.数据库

  按一定组织方式存储在一起的相关数据的集合。数据库能为各种用户所共享,并具有最小冗余度,数据间联系密切,而又有较高的程序与数据的独立性。

  从程序的技术构成角度讲,对于不含数据库的软件而言,程序实质上由算法和数据结构组成;包含数据库的软件,程序则是由算法、数据结构以及数据库组成。上述三个概念可以说从技术内涵角度概括了程序的组成部分。

  4.程序的结构、顺序和组织

  结构(STRUCTURE): -个程序中的各个组成部分,如指令、语句、程序段、子程序和数据结构等。顺序( SEQUENCE):计算机执行结构内容的前后次序,即处理流程。

  组织(ORGANIZATION):结构之间、流程之间,以及结构和流程之间的相互关系(如嵌套关系、调用关系等)的总体安排。

  这三个概念是从版权法研究程序作品的角度,为描述程序作品表达方面的某些特征,人为定义的分析对象。

  5.程序的用户接口

  程序运行过程中计算机监视器屏幕显示的输出,即人机进行信息交互的界面。早期的研究中也有学者将其概括为“程序的外观和感受”。

  6.汇编与反汇编

  汇编:“将用汇编语言转换成机器代码的过程,既包括将符号语句或助记语句以及函数转换成相应的机器代码,也包括将符号地址转换成实际内存地址。”

  反忙编:“将机器代码转换成汇编语言的过程。”

  汇编程序执行中具有源程序(汇编语言写成的程序)和目标程序(机器代码)指令一一对应的特点,汇编语言可以说是一系列机器代码指令的助记符。因此,对于源程序与目标程序间的相互转换而言,无论是汇编还是反汇编,所得到的结果都能够比较“忠实”地反映同一程序的不同表现形式。因此,在程序的技术分析、对比中,根据需要采取汇编或反汇编的技术手段,一般不会造成对程序内容及表现形式的实质修改。

  7.编译与反编译

  程序设计中,运用高级语言(如COBOL,FORTRAN.PASCAL等)编写的源程序,在提供给计算机执行前,需要将高级语言“翻译”成可供计算机执行的目标程序指令。这一过程称为编译。与汇编不同,编译过程不是对源程序语言一一对应的转换,而是经过类似于学习、理解的过程,通过对高级语言词法、语法和词义的分析,解析源程序语句的任务,然后根据具体任务目标自动生成机器代码并进行优化,获得机器语言指令。

  反编译:为研究、分析程序的需要,从机器代码指令出发,将目标程序人为还原成某种高级语言写成的源程序的过程。

  编译和反编译的特点是对程序作品的演绎。尽管基于技术原因,编译和反编译都无法保证源程序与目标程序间绝对“忠实”的对应关系.但对于程序分析而育,编译源程序产生的可执行的目标程序至少能帮助验证和直观反映源程序的内容;对目标程序进行反编译获得的源程序也有助于人们了解程序设计的风格、程序的微观结构等内在特征。这些对于程序的技术分析、对比来说往往是不可或缺的。


知呼【侵犯商业秘密罪辩护律师】侵犯商业秘密罪经侦报案_侵犯商业秘密罪无罪辩护_商业秘密保护_侵犯商业秘密罪案例_软件著作权_侵犯著作权罪

知呼【侵犯商业秘密罪辩护律师】专注于侵犯商业秘密罪、侵犯著作权罪辩护,全国的案件胜诉率遥遥领先。实现商业秘密、软件著作权一站式保护网,为大中型企业提供侵犯商业秘密罪辩护、侵犯商业秘密罪经侦立案、软件著作权维权、侵犯著作权罪经侦立案、商业秘密鉴定、侵犯商业秘密罪审计等知识产权法律服务。

延伸阅读