1对1电话咨询
当前位置:首页 > 长昊维权百科 > 与软件相关的知识产权司法鉴定

与软件相关的知识产权司法鉴定

时间:2019-11-13    来源:长昊律师网    浏览次数:

       随着经济和科技的发展,以及知识产权意识的增强,知识产权方面的诉讼案件越来越多,由于知识产权载体中的许多本身就是高科技产品的代名词,技术的复杂度增加了诉讼的难度,无论是涉诉当事人还是法官,甚至公安和检察官,都需要第三方专业机构的支持和帮助,而知识产权司法鉴定就是其中最典型的一种。同时,在众多高科技领域,信息产业无疑是发展最迅速和科技成果最多的领域之一,其中的软件更是重中之重,笔者在曾经从事过的知识产权司法鉴定的工作实践中,所接到的软件方面的知识产权司法鉴定委托,无论从数量上,还是从鉴定难度上看,都是很多和很大的。鉴于软件知识产权司法鉴定的复杂性,本文主要谈一下与软件相关的知识产权司法鉴定,特别是有关软件的同一性(即源代码的比对)鉴定。  

       本文主要包括三大部分,其中,第一部分通过对司法鉴定和知识产权的论述,确定了知识产权司法鉴定的范围;第二部分从技术角度对软件相关的一些概念进行了梳理,进而概述了软件所包括的知识产权类型;第三部分从鉴定实务角度提供了几种软件源代码比对的方案,尤其是提供一个可以自动进行源代码比对的shell脚本,除此之外,还就鉴定过程中一些其它可以/需要考虑的问题进行了总结。  
 
       一、司法鉴定与知识产权   
 
       2007年,司法行政主管机关在对司法鉴定机构年审后,对知识产权司法鉴定机构的执业范围进行了调整,将以往列举方式归纳总结为统一概念,即“知识产权司法鉴定”。然而,由于公众对知识产权和司法鉴定两个概念上的理解程度或认知程度差异,造成了知识产权司法鉴定机构在业务宣传开展中的不统一,司法机关、行政机关、当事人等在何类事项可以委托知识产权司法鉴定机构进行鉴定也存在疑惑。为此,笔者试就知识产权和司法鉴定两个概念分析着手,对知识产权司法鉴定的范围进行浅析。  
 
        1、司法鉴定的概念  
 
       《全国人民代表大会常务委员会关于司法鉴定管理问题的决定》中规定:“司法鉴定是指在诉讼活动中鉴定人运用科学技术或者专门知识对诉讼涉及的专门性问题进行鉴别和判断并提供鉴定意见的活动”。这是目前关于司法鉴定官方效力最高最新的解释,也是我国在司法鉴定制度改革全面展开之后立法机关所作出的解释。《决定》中关于司法鉴定的定义显然采用了学术界所谓“三要素”的定义方法,即实施主体、活动领域和活动目的。  

        司法鉴定的实施主体是司法鉴定人。根据《司法鉴定程序通则》(司法部令第107号)第11条,司法鉴定机构应当统一受理司法鉴定的委托。第4条规定,司法鉴定实行鉴定人负责制度。因此,司法鉴定可以简要理解为是由委托人委托,司法鉴定机构受理,由司法鉴定人实施的活动。司法鉴定的活动目的是“用科学技术或者专门知识对专门性问题进行鉴别和判断并提供鉴定意见”。司法鉴定的活动领域是“诉讼活动中”“涉及的专门性问题”,另外,顾名思义,司法鉴定与“司法”有关,因此,可以将司法鉴定狭义的理解为是在诉讼进行中由审判机关启动的鉴定才是司法鉴定,而将自然人、法人或其他组织在诉讼前为了判明前景或为其它目的而委托的鉴定排除在司法鉴定之外。但是从广义的角度,以鉴定结论是否最终进入司法领域来判断,对于最终能够进入诉讼领域的鉴定都可以称之为司法鉴定,这是由司法鉴定的基本属性所决定的。司法鉴定的基本属性是科学性和法律性,其科学性表现为用科学技术或者专门知识对专门性问题进行鉴别和判断并提供鉴定意见;其法律性表现为鉴定是在法律规定的范围内由法定执业机构、法定执业人员、依据法定程序来进行的,其鉴定结论最终可以作为证据进入诉讼领域。  
 
        2、知识产权的范围  
 
        关于知识产权的概念,学术界历来颇多争议,抛开学理角度,本文主要参考世界知识产权组织、世界贸易组织对知识产权的范围的界定。
  
       世界知识产权组织公约第二条关于知识产权的范围规定:  
 
       1、与文学、艺术及科学作品有关的权利。主要指作者权,或一般所称的版权(著作权)。
 
        2、与表演艺术家的表演活动、与录音制品及广播有关的权利。主要指一般所称的邻接权。
 
        3、与人类创造性活动的一切领域内的发明有关的权利。主要指就专利发明、实用新型及非专利发明享有的权利
 
        4、与科学发现有关的权利。
  
        5、与工业品外观设计有关的权利。
 
        6、与商品商标、服务商标、商号及其他商业标记有关的权利。  
 
        7、与防止不正当竞争有关的权利。  
 
        8、一切其他来自工业、科学及文学领域的智力创作活动所产生的权利。  
 
        WTO的TRIPS协议(与贸易有关的知识产权协议)第一条关于知识产权范围的规定:  
 
         1、版权与邻接权  
 
         2、商标权  
 
         3、地理标志权  
 
         4、工业品外观设计权  
 
         5、专利权  
 
         6、集成电路布图设计权
 
         7、未披露过的信息专有权。
 
        从上述两个公约的规定可以看出,世界知识产权组织公约界定的知识产权范围要宽于WTO的规定,但是基本内容差不多。
 
        3、知识产权司法鉴定的范围  
 
        知识产权司法鉴定,是由具有司法鉴定资质的鉴定人运用专业知识和技能,对诉讼活动或者非诉讼活动(如上文所述,广义上看若非诉中所做的知识产权鉴定最终在司法程序中被使用,也可以称为知识产权司法鉴定)中涉及的知识产权专门技术性问题,进行鉴别和分析判断并提供鉴定意见的活动。根据2000年11月司法部发布的《司法鉴定执业分类规定(试行)》,知识产权司法鉴定内容包括:  
 
        (1) 根据技术专家对本领域技术及相关专业技术的了解,并运用必要的检测、化验、分析手段,对被侵权的技术和涉嫌侵权的技术以及相关技术的特征是否相同或者等同进行认定;  
 
       (2) 对技术转让合同标的是否成熟、实用,是否符合合同约定标准进行认定;  
 
       (3) 对技术开发合同履行失败是否属于风险责任进行认定;  
 
       (4) 对技术咨询、技术服务以及其他各种技术合同履行结果是否符合合同约定或者有关法定标准进行认定;  
 
       (5) 对技术秘密是否构成法定技术条件进行认定;
 
       (6)对其他知识产权诉讼中的技术争议进行鉴定。  
 
        以上知识产权司法鉴定的内容突出了知识产权司法鉴定的关键点——“技术”鉴定,既包括专利技术,又包括非专利技术(技术秘密),体现出司法机关和公众普遍关注的知识产权技术内涵这一焦点。但是,从关于知识产权范围的界定角度看,技术仅是知识产权范围中的一个方面,而知识产权诉讼中也不仅是技术争议,还包括商标权、著作权、地理标志权、植物新品种权等等方面的争议。最高人民法院《民事案件案由规定》中关于知识产权案件的案由包括知识产权合同纠纷、知识产权权属纠纷、不正当竞争、垄断纠纷等三大类,具体涵盖了著作权、专利权、商标权、植物新品种权、地理标志权、集成电路布图设计、计算机软件、知名商品、商号等。
 
        二、软件源代码的同一性鉴定  
 
       1、关于“同一性”、“实质相似”,以及“相似性”的表述问题  
 
        关于软件的“同一性”、“实质相似”,以及“相似性”的表述问题,笔者认为“同一性”与“实质相似”的内涵基本上是相同的,“同一性”所表达的程度较“实质相似”更高一些,但是在两套代码中多少比例的代码是相同或相似,进而将两套代码认定为具有“同一性”或“实质相似”,业界并没有统一的标准,笔者认为对于具体情况,应该有一个弹性标准。比如两套软件中实现核心功能的代码量所占总代码量的比例并不大,除了核心代码外,还存在与前端界面相关的大量代码,在核心代码基本相同的前提下,由于核心代码量占总代码量的比例不高,也不能轻易认定两套代码不具有同一性或实质相似性的结论。如果在委托过程中,进一步明确要求鉴定的代码的具体范围,一定程度上可以解决这个问题,但是这个范围往往不是太好确定。“相似性”是较“同一性”和“实质相似”更上位的一个概念,三者之间都是对结果状况的一种描述,笔者认为在没有对其进行充分详细界定的前提下,具体使用哪一种表述区别不是太大,但是无论用哪一种表述,其背后的客观事实——相同或相似代码所占总代码的比例,都是相同的,这也是鉴定真正要发掘和反映的客观事实。  
 
        2、软件同一性鉴定的依据和鉴定原则  
 
        对于软件同一性鉴定,主要依据的法律、法规包括:  
 
        (1) 《计算机软件保护条例》2002年1月1日起施行;  
 
        (2) 《北京市高级人民法院关于审理计算机软件著作权纠纷案件几个问题的意见》1995年6月21日。  
 
        其中,《计算机软件保护条例》第二条规定,“本条例所称计算机软件(以下简称软件),是指计算机程序及其有关文档。”该条例第三条第二款规定,“计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。”  
 
        依据上述规定,比对两个软件是否具有同一性,应遵循以下原则:  
 
        (1) 比对二者的目标程序二进制代码、源程序代码和有关文档是否构成相同或实质性相似。
 
        (2) 若二者比对项的相应内容完全相同,则二者的比对项具有同一性。  
 
        (3) 若二者比对项的相应内容不完全相同,但比对项的必要部分、或主要部分没有本质区别,属于实质性相似,则二者的比对项仍具有同一性。  
 
        (4) 若二者比对项的相应内容不完全相同,且具有本质区别,不构成实质性相似,则二者的比对项不具有同一性。  
 
        (5) 若二者比对项的相应内容完全不同,则二者的比对项不具有同一性。  
 
        (6) 一般情况下,当二者的目标程序二进制代码构成相同或实质性相似,则二者的目标程序具有同一性;当二者的源程序代码构成相同或实质性相似,则二者的源程序具有同一性;当二者的目标程序或源程序具有同一性,则比对的两个软件具有同一性。  
 
        3、源代码比对的几种方式  
 
       (1) 使用文本比对工具  
 
       无论使用什么语言开发的源代码,均可以视为文本文件,进而对其中的内容进行比对。UltraCompare、UltraEdit是两款常用的文本比对工具。笔者在工作过程中常使用的一款文本比对软件是BeyondCompare。BeyondCompare是一套由ScooterSoftware推出的软件,主要用于比较用途。BeyondCompare可以比较的内容有以下这三种:1.电脑上两个目录的内容;2.电脑上的目录和FTP地址的内容;3.两个文本档案的内容(包括UTF-8、html、Delphi源程序等文本档案)。  
 
       (2) 使用DOS中的Fc和COMP命令  
 
       Fc和COMP是DOS中的两个命令,其中,FC命令只进行二进制文件和ASCⅡ文件的比较。  
       Fc的语法为:fc[/a][/b][/c][/l][/lbn][/n][/t][/u][/w][/nnnn][drive1:][path1]filename1[drive2:][path2]filename2  
       FCe:\1.txt2.txt>3.txt意思是比较e盘根目录下的1.txt和2.txt中文本的不同之处,比输出到3.txt里。COMP的语法为:COMP[FILE1][FILE2][/D][/A][/L][/N:number][/C]  对于一些完全copy的软件,无论源代码还是目标代码,均完全相同的情况,使用Fc和COMP命令比较有意义,尤其是对于一些只有目标代码而无源代码的情况,但是如果源代码或目标代码差异比较大,使用这两个简单命令无法达到细致的比对目的。
 
       (3) 使用sdiff命令编制shell脚本进行比对  
 
       sdiff使用LCS(最长公共字符串)算法,主要用于版本合并的目的,本不是用来进行文本比对的。使用LCS算法进行文本比对时,相同行的标准是文本行的内容(空格除外)和格式完全一致,文本行的前后顺序需要完全一致。如果一个文本行完全相同,但中间有其他的文本插入或删除,或行的位置发生了移动,都可能导致LCS将文本行标识为差异。
 
        4、软件源代码比对之外需要可以/考虑的一些问题  
 
        笔者在从事软件知识产权司法鉴定过程中,主要工作是围绕源代码进行比对,但是除此之外,根据实践中碰到的一些问题和笔者个人的一些思考,将所认为的在鉴定过程中可以/需要考虑一些问题简述如下:  
 
       (1) 源代码的表现形式  
 
        对于源代码,不仅仅只有一种表现形式,随着软件工程和IDE(IntegratedDevelopmentEnvironment,集成开发环境),在现实中至少存在着开发者直接开发的源代码和版本控制器用于控制版本的源代码形式。对于java源代码来说,就存在着.Java文件与.Java-svn-base文件的形式。一般来说,.java文件是开发者开发的源代码,.java文件在所需要的Java类库和配置文件的配合下实现软件的功能。第三方的类库属于第三方的工作成果,因此不应予以考虑;对于内部类库应予以考虑。关于配置文件,一方面其数量很少另一方面,由于各方开发测试的环境不一样,进行统计和比对没有意义。java.svn-base文件(保存在Java文件所在目录下的.svn/text-base/目录下)是由版本控制系统生成的文件,其保存从版本服务器上检出的Java源代码原本。此外,SVN工具还会在本地建立其它svn控制文件,如:.svn/prop-base/*.java.svn-base,.svn/text-base/*.java.svn-work等,SVN工具使用控制文件对本地版本和服务器版本进行比较和更新维护。

       (2) 源代码文件的时间戳  
 
       时间戳是指文件属性中的创建、修改和访问时间。由于时间戳能够较容易地被篡改,而篡改后在文件中并不留下直接的痕迹,因此时间戳信息仅可以反映检材中的文件的当前的时间信息。  
 
        (3) 源代码中的签名信息  
 
        在编写源代码的过程中,开发者在源代码中往往标记一些反映开发过程中的涉及个人或/和开发过程的状况的信息,一般称为签名信息,比如指向具体开发者的姓名、邮箱、公司、编写日期等。一般来说,签名信息是有含义的信息,具有唯一性。敏感词往往是一些与时间、人物和公司/厂家名称相关的词,是特定于某一环境的专属信息,一般不会巧合。在两个文本中,一旦发现大量的相同或类似的敏感词,可以证明两个文本之间具有一定的相关性。  
 
        (4) 源代码中的注释信息  
 
       注释是对源代码功能实现、开发记录等相关内容的一些文字描述。在源代码中,注释往往包含程序功能描述、开发者签名、版本和修改记录等信息。注释本身不构成程序的功能、逻辑和控制,一般来说,也没有特定的格式和内容约束,因此,注释往往包含了大量的个性化信息。另外,一些开发者也习惯将一些之前版本中不用的源代码注释掉,以备查看和比较。注释检测的目的是反映检材的各个版本之间注释信息的情况。另外,由于有些类型代码的可执行文件(如java代码的.class)可以被容易反编译,源代码之间的注释比对还可以从一个角度反映源文件是否是反编译的结果,为相应的司法裁量提供依据。  
 
       (5) 源代码中的字符串信息  
 
       固定字符串是程序代码中的常量数据,常用于输入输出的显示信息、文件和数据的固定内容等。一般来说,固定字符串与开发者的语言水平和用词用语习惯有密切关联。比如java中大量存在的print(“字符串”)语句中的字符串,如果两套代码中所打印出的一行或两行字符串相同无可厚非,但是若存在大量相同的打印输出字符串,两套代码很可能系同一开发者所为或其中一套大量剽窃了另外一套。  
 
       (6) 待比对文件对的确定  
 
       在实践过程中,检材中的代码常常存在拆分、组合,以及重新划分等现象,在代码比对过程中,如果仅仅文件名相同的文件组成待比对文件对,而将文件名不同但是其中存在大量相同或相似代码块的文件均忽略,则有失客观,可以通过人工,寻找文件名称相似/相近、名称含义相似/相近、或命名规则雷同的文件,若存在相似性,使用文本比对工具比对文件,如果有相当数量的相同代码行,则组成文件对。  
 
       (7) 类库文件中文件与源代码  
 
       类库为应用软件系统提供运行支撑环境、公共功能、整体框架、以及有效继承前人已经完成的工作。类库通常分为第三方类库和内部类库,前者为由外部公司或组织提供的类库。后者为一家公司内部自主开发的类库。通常情况是,在开发软件时,对一些公共的功能和程序,开发者将一些已经固化的公共程序和公共功能编译为类库供多个项目或者部门使用,也有利于知识积累、继承和版本控制。
  
       (8) 其它  
 
       除软件源代码比对,以及上述所可以/需要考虑的问题之外,对于软件的功能、体系结构、调用流程等等也可以作为辅助的考虑角度。  


 
       概要:软件著作权被侵犯该怎么办?想知道怎么找专业的律师挽回损失,您大可看看上面的文章。专业的侵犯软件著作权专家律师团队:擅长侵犯软件著作权立案、起诉。
       邱律师:15915344883,广东长昊律师事务所,软件著作权被侵犯了请联系我们。
       我们可帮助您立案起诉、成功维权、减轻损失、争议解决、知识产权管理与保护等全方位高效的法律服务。



文章声明:本网站发表的文章包括原创信息、转载信息和会员投稿,如您认为上述内容涉及个人、企业隐私或涉及著作权,要求修改或删除的,请发邮件至:1870527569@qq.com,我们将在一个工作日内和您联系妥善处理。

联系我们

长昊简介 电话:15915344883、15800707700  邮箱:1870527569@qq.com

声明:本网站由嘉莱特文化传媒运营 Copyright @ 2009-2019 长昊 版权所有 备案号:粤ICP备15055623号

嘉莱特文化传媒法律顾问合作单位:广东长昊律师事务所  座机:(0755)26751234