乐于分享
好东西不私藏

论软件商业秘密的司法鉴定研究

论软件商业秘密的司法鉴定研究

摘要

软件商业秘密司法鉴定是知识产权保护领域的重要课题,随着信息技术的快速发展,软件商业秘密保护面临诸多法律与技术挑战。研究系统分析了软件商业秘密司法鉴定的法律基础、技术特性影响及法律争论难点,探讨了软件源代码非公知性认定、同一性鉴定标准以及鉴定意见证据效力等核心问题。研究表明,软件技术特性对商业秘密鉴定产生深远影响,非公知性与专利新颖性的法律界限、实质相同认定标准分歧以及鉴定意见证据效力争议是当前司法实践中的主要难点。针对这些问题,本研究提出了企业软件商业秘密保护的法律建议,为企业实务提供理论指导和实践参考。

关键词

软件商业秘密;司法鉴定;非公知性;同一性鉴定;证据效力;法律保护

一、引言

随着信息技术的飞速发展,软件已成为推动数字经济发展的核心驱动力。软件作为知识产权的重要载体,其商业价值日益凸显,软件商业秘密保护也随之成为企业知识产权战略的重要组成部分。然而,软件的技术特性使得其商业秘密保护面临着独特的法律挑战,特别是在司法鉴定领域,如何准确认定软件商业秘密的非公知性、同一性等问题,成为司法实践中的难点。

近年来,我国商业秘密法律制度不断完善,《反不正当竞争法》和《刑法》相继修订,为软件商业秘密保护提供了更加明确的法律依据。2019年修订的《反不正当竞争法》对商业秘密定义作出了重要调整,明确规定商业秘密是指"不为公众所知悉、具有商业价值并经权利人采取相应保密措施的技术信息、经营信息等商业信息"。 这一修订为软件商业秘密的法律保护奠定了基础。2020年《最高人民法院关于审理侵犯商业秘密民事案件适用法律若干问题的规定》进一步将算法、数据、计算机程序及其有关文档等信息明确列入技术信息范畴,为软件商业秘密的司法认定提供了具体指引。

然而,在司法实践中,软件商业秘密的司法鉴定仍面临诸多挑战。软件源代码、目标代码和可执行代码的技术特征差异,反编译可能性、B/S架构、自动生成代码等技术因素对非公知性认定的影响,以及开源软件、第三方代码的引用等问题,都使得软件商业秘密的司法鉴定变得复杂。同时,非公知性与专利新颖性的法律界限争议、实质相同认定标准的分歧以及鉴定意见证据效力的争议,也增加了司法鉴定的难度。

本研究旨在系统分析软件商业秘密司法鉴定的法律基础与技术特性影响,深入剖析当前司法鉴定中的法律争论难点,为企业软件商业秘密保护提供法律建议。通过这一研究,期望能够为软件商业秘密的司法鉴定提供理论参考,为企业实务提供指导,促进软件商业秘密法律保护的完善与发展。

二、软件商业秘密司法鉴定的法律基础

(一)商业秘密法律制度的最新发展

我国商业秘密法律制度近年来经历了重要的发展与完善,主要体现在《反不正当竞争法》和《刑法》的修订以及相关司法解释的出台上。这些法律修订为软件商业秘密的司法鉴定提供了更加明确的法律依据和制度保障。

《反不正当竞争法》于2017年和2019年进行了两次修订,其中2019年的修订对商业秘密保护作出了重要调整。修订后的《反不正当竞争法》第9条第4款规定:"本法所称的商业秘密,是指不为公众所知悉、具有商业价值并经权利人采取相应保密措施的技术信息、经营信息等商业信息。这一定义明确了商业秘密的构成要件,包括非公知性、商业价值和保密措施三个要素,为软件商业秘密的认定提供了基本标准。

2019年修订的《反不正当竞争法》还增加了第32条,重新配置了商业秘密侵权案件的证明责任,要求原告应当明确所主张的商业秘密具体内容,这意味着原告对"非公知性"负主张责任,而非证明责任,降低了权利人的维权难度。 这一修订对于解决软件商业秘密案件中非公知性认定难的问题具有重要意义。

《刑法》方面,2020年通过的《刑法修正案(十一)》对第219条侵犯商业秘密罪进行了修改,删除了原条文中有关商业秘密定义的规定,但司法实践中普遍认为,受到刑法保护的商业秘密与《反不正当竞争法》所界定的商业秘密内涵和外延相同修正后的刑法条文更加注重对商业秘密的刑事保护,加大了对侵犯商业秘密行为的打击力度。

在司法解释层面,2020912日起施行的《最高人民法院关于审理侵犯商业秘密民事案件适用法律若干问题的规定》(以下简称《商业秘密规定》)对商业秘密的司法认定标准进行了明确和细化,对软件商业秘密的法律保护具有重要意义。 该规定第1条明确将算法、数据、计算机程序及其有关文档等信息列入《中华人民共和国反不正当竞争法》第9条第4款所称的"技术信息"。 这一规定为软件商业秘密的保护提供了明确的法律依据,将软件的核心技术要素纳入商业秘密保护范围。

《商业秘密规定》第3条对"不为公众所知悉"这一商业秘密核心要件进行了定义,明确其是指"不为其所属领域的相关人员普遍知悉和容易获得"。 这一定义包含两个并列要件:一是"不为普遍知悉",二是"不容易获得",两者必须同时满足才能构成商业秘密的非公知性。在软件商业秘密案件中,这一标准成为判断软件技术信息是否构成商业秘密的关键依据。

此外,2022年国家知识产权局、最高人民法院、最高人民检察院、公安部、国家市场监督管理总局联合发布的《关于加强知识产权鉴定工作衔接的意见》对知识产权鉴定的信息共享、鉴定人员培训、鉴定机构管理、行业自律建设等内容作出了一系列规定。其中第一条明确:"知识产权鉴定是指鉴定人运用科学技术或者专门知识对涉及知识产权行政和司法保护中的专业性技术问题进行鉴别和判断,并提供鉴定意见的活动";第七条明确:"构建知识产权鉴定机构遴选荐用机制,建立知识产权鉴定机构名录库,实现名录库动态调整。这些规定为软件商业秘密鉴定提供了更加规范的操作框架。

(二)软件商业秘密的界定与构成要件

软件商业秘密的界定与构成要件认定是司法鉴定的基础问题。根据《反不正当竞争法》和《商业秘密规定》,软件商业秘密必须同时满足非公知性、商业价值和保密措施三个构成要件。

首先,非公知性是软件商业秘密的核心要件。《商业秘密规定》第3条明确,"不为公众所知悉"是指"权利人请求保护的信息在被诉侵权行为发生时不为所属领域的相关人员普遍知悉和容易获得"。 这一定义包含两个并列要件:一是"不为普遍知悉",二是"不容易获得",两者必须同时满足才能构成商业秘密的非公知性。 对于软件而言,非公知性主要涉及软件源代码、算法、技术方案等技术信息是否为公众所知悉或容易获得。

《商业秘密规定》第4条列举了五种"为公众所知悉"的反向判断情形,包括:该信息为其所属技术或者经济领域的人的一般常识或者行业惯例;该信息仅涉及产品的尺寸、结构、材料、部件的简单组合等内容,进入市场后相关公众通过观察产品即可直接获得;该信息已经在公开出版物或者其他媒体上公开披露;该信息已通过公开的报告会、展览等方式公开;该信息从其他公开渠道可以获得。这些情形为软件商业秘密的非公知性认定提供了具体判断标准,特别是对于软件源代码、算法等技术信息的非公知性判断具有重要指导意义。

其次,商业价值是软件商业秘密的重要构成要件。软件作为技术信息,必须具有现实的或潜在的商业价值,能够为权利人带来竞争优势。《商业秘密规定》虽然没有对商业价值作出具体定义,但一般认为,软件的商业价值体现在其能够提高生产效率、降低成本、增强产品竞争力等方面。软件的商业价值可以是直接的经济利益,也可以是间接的竞争优势,如技术领先优势、市场优势等。

最后,保密措施是软件商业秘密的形式要件。权利人必须对软件技术信息采取了合理的保密措施,以维持其秘密状态。《反不正当竞争法》第9条第3款规定,权利人采取的保密措施应当是"相应"的,即与商业秘密的价值、保密难度等因素相适应。对于软件而言,常见的保密措施包括签订保密协议、设置访问权限、加密处理、分区管理等。

软件商业秘密的界定需要考虑软件的技术特性。软件源代码是指按照程序设计语言规范书写的、由一系列指令组成的字符文本,是开发人员使用C++Java等编程语言将逻辑运算规则编写成的符号化指令,以实现相应的软件功能。 源代码包含了程序逻辑、变量定义和函数调用等内容,但计算机只能理解和执行二进制代码,因此源代码需要通过编译器转换为仅由字符10组成的二进制目标代码。 从技术特征来看,源代码与目标代码在指令内容上完全同一,只是前者可为"人读",后者仅可为"机读"

在法律保护方面,我国现行《计算机软件保护条例》将同一计算机程序的源代码和目标代码视为同一作品然而,这种规定在商业秘密保护领域存在明显问题。如果将目标代码等同于源代码,那么软件一经发售,目标代码随之公开,意味着相应源代码同时丧失了非公知性,使得本处于秘密保护状态的源代码就此不再受到法律保护,这样的结果显然不合情理。因此,在软件商业秘密的界定中,需要区分源代码和目标代码的不同法律地位,分别判断其是否构成商业秘密。

(三)软件商业秘密司法鉴定的法律依据

软件商业秘密司法鉴定的法律依据主要包括法律、行政法规、司法解释以及相关政策文件。这些法律依据为软件商业秘密司法鉴定提供了规范基础和操作指引。

首先,《反不正当竞争法》和《刑法》是软件商业秘密司法鉴定的基本法律依据。《反不正当竞争法》第9条对商业秘密的定义、侵犯商业秘密行为以及法律责任作出了规定,为软件商业秘密的认定提供了基本标准。《刑法》第219条则规定了侵犯商业秘密罪的构成要件和刑事责任,为软件商业秘密的刑事保护提供了法律依据。

其次,《商业秘密规定》是软件商业秘密司法鉴定的重要司法解释依据。该规定对商业秘密的构成要件、侵权行为的认定、举证责任的分配等问题作出了详细规定,特别是第1条明确将算法、数据、计算机程序及其有关文档等信息列入技术信息范畴,为软件商业秘密的司法认定提供了具体指引。 该规定第14条还明确规定:"通过反向工程获得被诉侵权信息的,人民法院应当认定不属于《反不正当竞争法》规定的侵犯商业秘密行为"。 这一规定为软件反向工程的合法性提供了明确法律依据,对于软件商业秘密案件具有重要意义。

第三,《关于加强知识产权鉴定工作衔接的意见》是软件商业秘密司法鉴定的最新政策依据。该意见由最高人民法院、最高人民检察院、公安部、国家市场监督管理总局、国家知识产权局等五部门于20221122日联合发布实施,旨在加强知识产权鉴定工作的衔接配合,提升知识产权司法保护质效。 意见明确将知识产权鉴定定义为"鉴定人运用科学技术或者专门知识对涉及知识产权行政和司法保护中的专业性技术问题进行鉴别和判断,并提供鉴定意见的活动"

在软件商业秘密鉴定方面,该意见提出了以下关键规范要求:

1.鉴定机构管理机制:构建知识产权鉴定机构遴选荐用机制,建立知识产权鉴定机构名录库,实现名录库动态调整。将通过贯彻知识产权鉴定标准的鉴定机构纳入名录库并予以公开,供相关行政机关、司法机关、仲裁调解组织等选择使用。这一规定旨在解决当前软件商业秘密鉴定机构资质认定混乱的问题,为司法机关提供权威的鉴定机构选择依据。

2.多部门协同机制:开展知识产权鉴定机构互荐共享工作,建立对知识产权鉴定机构和鉴定人员从业情况的互相反馈机制,共同推进知识产权鉴定工作的规范化和法制化。这一机制特别有利于软件商业秘密鉴定这种专业性强的领域,通过多部门协同确保鉴定质量。

3.鉴定标准统一:意见强调要贯彻知识产权鉴定标准,这对于软件商业秘密鉴定尤为重要。由于软件技术复杂性和鉴定人知识的有限性,软件非公知性鉴定相对于同一性鉴定具有更大操作难度。统一鉴定标准有助于解决当前软件商业秘密鉴定中存在的标准不一问题。

此外,《软件相似性检验技术方法》(GA/T 1175-2014)和《软件相似性鉴定实施规范(SF/Z JD0403001- 2014)》等技术规范也为软件商业秘密司法鉴定提供了技术标准依据。这些技术规范主要针对软件相似性鉴定,包括源代码比对、目标程序比对等方法,为软件商业秘密同一性鉴定提供了技术指引。

三、软件技术特性对商业秘密司法鉴定的影响

(一)软件源代码、目标代码与可执行代码的技术特征及法律保护差异

软件源代码、目标代码和可执行代码是计算机软件在不同阶段的表现形式,它们在技术特征和法律保护方面存在显著差异。理解这些差异对于准确进行软件商业秘密司法鉴定具有重要意义。

软件源代码是指按照程序设计语言规范书写的、由一系列指令组成的字符文本,是开发人员使用C++Java等编程语言将逻辑运算规则编写成的符号化指令,以实现相应的软件功能。 源代码包含了程序逻辑、变量定义和函数调用等内容,但计算机只能理解和执行二进制代码,因此源代码需要通过编译器转换为仅由字符10组成的二进制目标代码。 从技术特征来看,源代码与目标代码在指令内容上完全同一,只是前者可为"人读",后者仅可为"机读"。 源代码是生成目标代码的基础,指令相同的源代码可能存在多种表达方式,但源代码只有转换为目标代码才能被计算机识别执行,软件的更新也只能通过修改源代码重新编译。

目标代码是编译器处理源代码后所生成的、可直接被计算机运行的机器码集合。目标代码通常以二进制形式存在,不能直接被人类阅读和理解,但可以被计算机直接执行。可执行代码是目标代码的进一步形式,是能够在特定操作系统环境下直接运行的程序。可执行代码通常包含了目标代码以及必要的系统资源、库文件等,是完整的软件产品。

在法律保护方面,我国现行《计算机软件保护条例》将同一计算机程序的源代码和目标代码视为同一作品。这一规定主要基于著作权法的保护逻辑,即保护软件的表达形式而非思想内容。然而,在商业秘密保护领域,源代码和目标代码的法律地位存在明显差异。

从商业秘密保护的角度看,软件源代码作为技术信息,必须符合"不为公众所知悉"的非公知性要件。非公知性认定需同时满足"不为普遍知悉""并非容易获得"两个要件。 对于源代码而言,其非公知性受到多种技术因素的影响,包括编程方式的多样性、逻辑架构的组织性以及功能效用的局限性等。

目标代码和可执行代码的法律保护主要依赖于著作权法。根据《著作权法》,计算机软件作为文字作品受保护,无论其形式与表达方式。目标代码和可执行代码作为软件的另一种表现形式,与源代码在著作权法上被视为同一作品,享有相同的著作权保护。然而,这种保护主要针对软件的表达形式,而不延及软件的思想、处理过程、操作方法或者数学概念等。

在商业秘密保护方面,目标代码和可执行代码的非公知性认定相对复杂。由于目标代码是软件公开发售时用户可以直接获取的部分,这部分代码通常被认为已经公开,不再具有非公知性。但是,目标代码的公开并不当然导致源代码丧失非公知性,应当根据反编译的难易度来判断相应源代码是否容易获得,由于目标代码的非可读性和编程语言的复杂性,反编译工作基本不可能仅通过观察完成。

软件源代码、目标代码和可执行代码的技术特征差异对商业秘密司法鉴定产生重要影响。首先,在非公知性鉴定中,需要区分源代码和目标代码的不同法律地位,不能简单地将目标代码的公开等同于源代码的公开。其次,在同一性鉴定中,需要根据软件的不同表现形式选择适当的比对方法,如源代码间的比对、与目标程序的比对、将源代码编译成目标程序后再进行比对等。最后,在侵权认定中,需要考虑软件不同表现形式之间的转换关系,如通过反编译从目标代码获取源代码是否构成侵权等。

(二)软件源代码非公知性认定的技术因素分析

软件源代码非公知性认定是软件商业秘密司法鉴定的核心问题,受到多种技术因素的影响。这些技术因素包括反编译可能性、B/S架构、自动生成代码等,它们对判断源代码是否"不为公众所知悉"具有重要影响。

反编译可能性是影响软件源代码非公知性认定的关键因素之一。虽然大部分软件的目标代码可以在用户端直接获取,并且目标代码和源代码在著作权法上被认为是同一作品,但是从软件开发特性来看,在商业秘密范畴内两者不能混为一谈,目标代码的公开并不当然导致源代码丧失非公知性,应当根据反编译的难易度来判断相应源代码是否容易获得,由于目标代码的非可读性和编程语言的复杂性,反编译工作基本不可能仅通过观察完成。

不同编程语言的反编译难度不同,例如利用JAVA.NET平台编写的代码通常由C++VB等语言编写的代码以及逻辑代码的反编译难度较高。 对于可还原度较高的编程语言,若事先没有进行加密或混淆技术处理,则很容易通过反编译获取对应源代码,这会影响其非公知性认定。 因此,在软件源代码非公知性认定中,需要考虑编程语言对反编译难度的影响,以及是否采取了加密或混淆等保护措施。

B/S架构(浏览器/服务器架构)对软件源代码非公知性认定产生显著影响。在B/S架构下,源代码通常可以分为前端代码和后端代码,两者的展现方式、所用技术和功能分工上均有不同。与用户界面相关的"显示类"源代码,无需编译直接通过浏览器端运行;而涉及业务逻辑的"核心类"源代码,则编译成目标代码后在服务器端实现。在此类框架下,用户可以在浏览器界面获取"显示类"源代码,包括脚本、样式单、网页和图片等,这部分运行于浏览器端的源代码已经公开,不再具有非公知性,但服务器端的核心源代码仍处于保密状态,并未丧失非公知性。 因此,在进行软件源代码非公知性认定时,需要结合程序架构和运行环境综合判断。

自动生成代码是影响软件源代码非公知性认定的另一重要技术因素。现代软件开发中,部分源代码并非由开发人员直接编写,而是通过开发平台提供的代码生成服务自动生成。以数据库源代码为例,其非公知性取决于生成代码的输入条件,即数据库结构设计的非公知性;以及常见的窗体源代码,通过移用控件模块自动生成对应代码,除非控件布局极为复杂或是融入了业务功能,一般专业人员在观察程序运行效果后,通过模仿界面可以得到相同或相似的源代码。对于此类非直接编写的源代码,其非公知性认定需要考察代码自动生成的输入条件以及环境属性。

源代码编程方式的多样性也影响非公知性认定。软件源代码是精密工整的技术方案,为了使计算机准确识别并完成指令,必须具备严密的运算逻辑和清晰的组织架构。从内部来看,一个软件产品的源代码必然汇集了多种算法,在明确部分源代码具备非公知性的情况下,整体源代码的非公知性认定应当从全局视角出发,综合考虑各部分代码之间的逻辑调用关系,不能仅因部分代码不具备非公知性而否定整体。对此,可以通过划分源代码的算法模块,梳理出逻辑关系图,如果核心技术主线上的源代码均具有非公知性,则整体源代码成立非公知性。

源代码功能效用的局限性也是非公知性认定需要考虑的因素。软件源代码作为运算程序,每个代码段通常可以与软件功能形成对照的关系。一方面,基础性软件功能会不可避免地使用到业界通用代码。比如系统常用的登录验证、用户管理和数据存储,虽然不能排除有创新精神的开发者另辟蹊径,但是绝大多数的设计思路和代码实现基本相同,这类源代码事实上已经成为业界的公知常识,不再具有非公知性。另一方面,使用特定编程语言实现特定功能的源代码,其代码编写存在唯一性或有限性。表达唯一并非指完全相同,只是表达形式不易于创新,表达形式受限将导致开发人员编写的代码大概率相同,这类代码在某种意义上已经成为公知信息。对于此类源代码,应当通过划分函数组合进行判断,不能孤立地认定某一行代码是否表达唯一。

在软件源代码非公知性认定中,需要依据技术特征的识别难度等级,采取由浅至深、层层破解的思路。大致可以分为三个不同阶段:初阶认定需要了解技术特征,不必阅读代码涵义;中阶认定需要阅读代码涵义,但无需检索;高阶认定则需要在阅读代码涵义的基础上,进行信息检索。由此可见,并非每一阶段都需要依托专业技术鉴定,对认定阶段进行合理分流,可以有效降低对司法技术鉴定的依赖,提高案件审判效率。

(三)开源软件与第三方代码对软件商业秘密鉴定的影响

开源软件和第三方代码对软件商业秘密鉴定的影响主要体现在对源代码非公知性认定的影响上。随着开源软件的普及和第三方代码的广泛使用,如何在商业秘密鉴定中正确处理这些非原创代码,成为当前面临的重要问题。

开源软件源代码是影响源代码非公知性的重要因素之一。由于开源软件具备可以免费使用和公布源代码的主要特征,全球无数程序员和用户可以不断复制、修改、再发布开源软件源代码。大量企业为了节省人力成本、时间成本往往会在其设计开发的软件中或多或少的使用开源软件源代码,甚至一些软件就是在开源软件的基础上进行修改得到的。在司法鉴定实务中,对于这类源代码应认为不具有非公知性。

第三方源代码是指程序设计人员由于使用了特定的软硬件平台,从平台服务商获得的与平台开发相关的、能够节省开发周期的源代码,这种源代码既可以是免费的,也可以是通过硬件采购,与硬件搭配获得的。与开源软件源代码相似,来源于第三方的源代码也是影响源代码非公知性的因素之一,对于非公知性鉴定来说,两者没有本质区别,只是在软件使用范围、条件、知识产权保护形式上有所区别。

人工智能软件领域,由于许多人工智能软件是基于第三方的平台开发的,在代码中广泛存在非原创代码。因此,在分析比对之前,要将这部分代码或代码文件从检材和样本中去除,或者在计算相同比例时加以处理,并在鉴定结论中做出说明。这一处理方式同样适用于其他类型的软件商业秘密鉴定。

对于开源代码的识别,司法鉴定中可以通过以下方法:首先,通过源代码的"协议声明"判断源代码来自于开源软件。一般情况下,开源软件的源代码文件头都会有开源软件遵循的协议声明,如果是简单、机械的引用这些代码,司法鉴定人员是可以通过协议声明辨识其来源和版权情况。其次,利用商业或非商业开源源代码搜索引擎系统。如果程序开发人员在使用开源软件时将相关声明信息删除,或者仅仅使用了开源代码中一个片段,这时司法鉴定人员就很难发现了。

在商业秘密鉴定中,对于开源代码的处理需要特别注意。在利用开源代码进行商业秘密鉴定的过程中,一定要对开源代码的相关内容进行详细的阅读和分析,对其中含有的信息特殊性进行相应的了解和观察,从而研发相应的公开代码。另外,在自主代码鉴定的过程中,应当根据计算机软件技术信息中的特殊性,对其重要的信息和数据,进行相应的加密处理工作。

开源许可中的传染性条款对闭源代码非公知性认定构成挑战。开源许可证的传染性条款是指,基于该开源软件创作的后续作品的部分或全部都应当同样进行开源。例如,GPLv2许可证规定"将衍生自本程序或其任何部分的任何作品,若进行任何发行或者发布,则作为一个整体免费许可给所有第三方"AGPL许可证规定"如果您对本程序进行了修改,则需要向所有通过计算机网络与本程序的修改版本进行远程交互的用户免费提供相应的源代码"。 此类条款主要是针对部分用户在修改开源代码或者与自写代码相结合后,将其封装成闭源软件产品进行发售的行为。按照传染性条款的规定,开发者需要公开后期开发的源代码,这部分商业秘密将随着代码的公开而丧失秘密性;如果未遵循传染性条款要求,轻则引起开源合规问题,重则涉嫌侵犯著作权。

在软件源代码非公知性认定中,需要依据传染性条款的强弱程度,对传染与否进行合理认定。最高人民法院提出以展示方式相似、所用技术相似、功能分工相似三个维度作为评判标准,具体而言,需要考察整体代码对开源代码的引用情况,对于有明显实质从属特征的程序之间,母程序受子程序传染并无争议;对于无明显实质从属特征的程序之间,应采用上述标准判断两者是否相对独立、是否互相传染。受传染的源代码将被视为失去权利来源,若属于未被传染的源代码,应认为其可以具备独立的非公知性。

近年来,商业公司对开源模式的接纳度不断提高,软件企业应用开源代码的比例达到九成,开源体系呈现扩大趋势,这使得开源许可证发挥着越来越重要的作用。软件企业在开发项目中引入开源代码时,对开源许可证的选择需要结合自身的商业秘密保护策略,特别是要关注开源许可是否允许闭源,这直接影响到后续开发的源代码能否获得商业秘密保护。此外,应当做好软件安全性测试和技术人员协议保密工作,避免商业秘密意外泄露,导致软件源代码丧失非公知性。

四、软件商业秘密司法鉴定的法律争论难点剖析

(一)软件商业秘密非公知性与专利新颖性的法律界限争议

软件商业秘密非公知性与专利新颖性的法律界限争议主要体现在两者的概念内涵、判断标准、认定主体、地域范围、时间标准以及法律功能等方面。非公知性是指技术信息不为所属领域的相关人员普遍知悉和容易获得,而专利新颖性则要求技术方案不属于现有技术且无抵触申请。

从法理内涵看,非公知性与新颖性存在本质区别。非公知性是经济标准,关注的是信息在市场竞争中是否具有竞争优势;而新颖性是技术标准,强调创新程度要高。非公知性所针对的仅是商业秘密保有者在市场竞争中是否拥有竞争优势的问题,而专利新颖性实质上解决的是专利技术与现有技术相区分的标准问题。

判断标准方面,非公知性具有相对性,受到地域、行业和人员等因素的影响;而专利新颖性判断标准是绝对的,不考虑上述影响。非公知性认定包括对普遍知悉和容易获得两个方面的判断,而专利新颖性对获得的难易度并未要求。非公知性的"公众"范围有所限定,是指"信息所属领域的相关人员",而专利新颖性的"公众"范围则是世界范围内的不特定人。

时间标准上,非公知性的判断时间点是"被诉侵权行为发生时",而专利新颖性的判断时间点是"申请日之前"。 在地域范围上,非公知性未明确限定地域范围,而专利新颖性则要求在世界范围内都具有新颖性。

司法实践中存在将非公知性与新颖性混淆的问题,特别是在软件源代码非公知性鉴定中,通常采用技术查新手段,通过各大公开代码库对密点代码进行查重检索,这正是专利新颖性的判断方式。然而,这种做法存在问题,因为不能仅凭检索报告作出非公知性认定,可以通过分析检索报告增强对密点技术特征的全面认识,借以判断技术信息的非公知性。

在软件源代码领域,由于软件技术快速更迭,源代码的创新之处主要是对现有技术的整合,因此在认定技术秘密成立的过程中,应当注意与软件专利的区分。司法判例也认为技术信息的新颖性不必然影响技术秘密的非公知性认定,公开披露的技术原理表述并不能否定技术组合方案的非公知性。

对于软件源代码的非公知性认定,应当考虑其技术特性,如编程方式的多样性、逻辑架构的组织性以及功能效用的局限性等因素。例如,一些高级计算机语言编写的软件程序,在没有对目标程序进行加密或混淆技术处理情况下,很容易通过目标程序反编译得到其对应的源代码,这种情况下源代码就不具有非公知性。

B/S架构下,运行于浏览器端的各种源代码具有公知性,但服务器端的核心源代码仍处于保密状态,并未丧失非公知性。 此外,自动生成的源代码、来自开源软件的源代码、第三方源代码、网络搜索或教科书中的源代码、业界通用的源代码以及表达唯一的源代码等因素都会影响源代码的非公知性认定。

在法律适用上,非公知性认定属于事实问题与法律问题相交叉的判断,其落脚点仍在于法律适用。不为公众知悉是一种消极事实,无法穷尽所有否定情形而得出一个肯定结论,因此《商业秘密规定》第4条列举了五种反向判断情形,其中有些情形即属于法律适用问题。

综上所述,软件商业秘密非公知性与专利新颖性在多个方面存在明显区别,司法实践中应当避免将两者混淆,特别是在软件源代码非公知性鉴定中,不应简单套用专利新颖性的审查标准,而应当结合软件的技术特性和非公知性的法律内涵进行综合判断。

(二)软件商业秘密同一性鉴定中"实质相同"的认定标准分歧

在软件商业秘密同一性鉴定中,"实质相同"的认定标准存在明显分歧,这主要源于软件技术特性、鉴定方法差异以及法律理解的不同。从现有资料来看,这些分歧主要体现在技术层面、法律层面和鉴定方法层面。

软件商业秘密同一性鉴定中,"实质相同"的认定标准分歧主要体现在技术层面、法律层面和鉴定方法层面。在技术层面,软件源代码的实质相同认定面临编程语言多样性、代码组织结构复杂性以及功能实现方式多样性等挑战。 不同编程语言编写的软件可能实现相同功能,但代码表现形式差异较大;而同一编程语言下,不同开发者可能采用不同算法或数据结构实现相同功能,这给"实质相同"的认定带来技术困难。

在法律层面,"实质相同"的认定标准存在不同理解。一种观点认为应当采用严格标准,要求被控侵权软件与权利人软件在源代码层面达到高度相似或完全一致;另一种观点则主张采用功能标准,只要软件的核心功能实现方式相同,即使代码表达不同也可认定为实质相同。在黄某某等侵犯商业秘密案中,法院采用了包含功能性鉴定的标准,认为"实质相似"指对比双方软件可以运行的程序代码大部分相同或者相似,即代码基本功能相同。

在鉴定方法层面,存在不同的技术路径和标准差异。目前软件相似性鉴定主要依据《软件相似性检验技术方法》(GA/T 1175-2014),但该标准对"实质相同"的界定不够具体。 实践中,鉴定机构通常采用四种比对方法:源代码间的比对、与目标程序的比对、将源代码编译成目标程序后再进行比对,以及检材与样本中软件文档的比对。 然而,这些方法在认定"实质相同"时侧重点不同,导致鉴定结论可能存在差异。

软件商业秘密同一性鉴定中"实质相同"认定的另一重要分歧在于如何处理软件的核心算法与整体功能的关系。有观点认为,应当将软件作为一个整体进行比对,只有整体功能实现方式相同才能认定为实质相同;另一种观点则主张可以针对软件的核心算法或关键模块进行局部比对,只要这些核心部分实质相同,即可认定侵权。 在司法实践中,部分法院开始尝试从全局视角考虑代码之间的逻辑调用关系,将这种逻辑调用关系作为源代码非公知性判断依据之一,从整体上给出鉴定意见。

此外,在软件商业秘密同一性鉴定中,"实质相同"的认定还面临开源代码与闭源代码区分的难题。随着开源软件的普及,许多商业软件中包含开源代码组件,这导致在认定"实质相同"时需要区分哪些部分属于公知技术,哪些部分属于权利人的独创性技术。 有观点认为,如果被控软件与权利人软件在开源代码部分相同,而在闭源部分不同,则不应认定为实质相同;但另一种观点则主张,如果权利人对开源代码进行了创造性改进,这种改进部分也应受到保护。

在软件商业秘密同一性鉴定中,"实质相同"的认定标准分歧还体现在鉴定结论的法律效力上。由于软件技术专业性较强,法院往往依赖鉴定意见,但不同鉴定机构可能采用不同标准得出不同结论。 在部分案件中,甚至出现多次反复鉴定的情况,这不仅增加了诉讼成本,也影响了司法效率。 因此,如何统一"实质相同"的认定标准,提高鉴定意见的权威性和一致性,成为当前软件商业秘密司法鉴定面临的重要问题。

(三)软件商业秘密鉴定中司法鉴定意见的证据效力争议

在软件商业秘密鉴定中,司法鉴定意见的证据效力争议主要集中在以下几个方面:

软件商业秘密鉴定中,司法鉴定意见的证据效力争议主要涉及鉴定机构和鉴定人的法定资质问题。根据现行法律框架,鉴定机构和鉴定人是否具备法定资质是审查鉴定意见证据可采性的前置性问题。然而,在知识产权刑事诉讼中,鉴定机构和鉴定人资质的认定依据存在争议,辩方主张以省级司法行政部门公告的名册为依据,而控方则可能以人民法院公告的名册或国家知识产权局公告的名册为依据。这种争议的根源在于《司法鉴定管理决定》与《人民法院对外委托司法鉴定管理规定》之间的冲突,以及多个部门均有权对知识产权鉴定机构造册登记并互荐共享的规定与《司法鉴定管理决定》第三条相悖。

在软件源代码非公知性鉴定方面,存在标准不统一的问题。目前,商业秘密的非公知性鉴定尚没有统一的行业标准,在软件侵权案件中,如果作为商业秘密的软件被窃取,在证明其是否符合"不为公众所知悉"标准时,主要依据是最高人民法院《关于审理不正当竞争民事案件应用法律若干问题的解释》第十条第三款。 在司法鉴定中,一方面鉴定人员主要通过大量的检索来反证"不为公众知悉",这与鉴定人员自身所掌握的资源有很大关系;另一方面依靠鉴定人员自身的行业经验进行判断,在源代码是否符合"不为公众所知悉"标准的认定方面存在一定的挑战。

软件功能鉴定也是证据效力争议的焦点之一。在司法鉴定实践中,软件功能鉴定有以下几个方面的困难:一是缺少相关的操作标准和规范,软件功能鉴定的相关标准规范较少,由于软件功能的多样性,相关规范没有明确规定具体检验鉴定方法和检验鉴定流程,操作指导性不强;二是需要鉴定的软件功能繁杂,在进行检验鉴定的过程中,软件运行环境不同,功能各异,甚至有些鉴定人员闻所未闻的功能;三是在检验鉴定过程中,有软件功能往往比较模糊,无法通过具体的标准进行衡量。

在软件商业秘密案件中,司法认定过于依赖司法鉴定结论也是一个突出问题。由于软件源代码属于技术信息,在认定涉案代码是否具备非公知性时更依赖于专业性判断,在诉讼实务中,未加说明即直接采纳司法鉴定结论的比例达到近三成。然而,源代码技术特性使得检索路径和范围受限,且当前尚未建立统一的软件鉴定标准规范,不同的鉴定机构可能得出不同的鉴定结论。

非公知性概念边界及认定要点不清也是导致证据效力争议的重要原因。一方面,非公知性与保密性的认定要素存在混淆,部分案例仅仅依据存在保密措施即认定相应源代码具有非公知性,这实际上将非公知性完全等同于保密性;另一方面,非公知性与新颖性的边界问题,由于理论界对二者的关系仍存在争议,相关认定规则缺位,实践中通常套用专利新颖性的审查标准来判断非公知性。

在软件源代码非公知性鉴定中,鉴定方法的选择也影响证据效力。鉴定实务中多通过对《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》第九条列举情形进行一一排除,最终给出鉴定意见。为建立规范的软件源代码非公知性鉴定方法,需要从软件源代码非公知性鉴定的法律依据入手,分析影响源代码非公知性的最主要的8项因素以及针对各个因素在鉴定实践中的处理技巧,进而提出司法鉴定人进行软件源代码非公知性鉴定的流程。

在游戏软件同一性的鉴定方面,存在证据效力争议。根据2014317日司法部发布的《软件相似性鉴定实施规范(SF/Z JD0403001- 2014)》,软件相似性鉴定的检材和样本为软件的源代码、目标程序以及有关软件开发的文档。然而,实践中也有些鉴定意见并未比对代码化指令序列,而是将游戏软件运行后生成的游戏场景作为比对对象,以关键游戏场景画面相同为由判定行为人掌控运行的游戏软件与游戏公司的游戏软件具有同一性。

在商业秘密信息"非公知性"的鉴定方面,存在参照专利"新颖性"标准进行技术查新的争议。由于刑事诉讼采用确实、充分的证据标准,为了增强商业秘密"非公知性"判断的准确性,鉴定机构在实践中往往参照专利"新颖性"的审查标准,采用科技查新的方式对权利人主张的信息是否符合"非公知性"作出判断。 然而,"新颖性""非公知性"在判断主体、判断要求方面均不相同,参照"新颖性"标准来替代"非公知性",审查标准过高,不利于商业秘密的保护。

在软件源代码非公知性认定中,证明责任分配不平衡也影响鉴定意见的证据效力。非公知性是消极事实,证明责任的分配影响着最终认定结果。在大量案件中,司法机关要求原告证明自己的"秘密点",实质就是要求原告证明其信息具有"非公知性",但权利人对于消极事实难以举证,样本案例中以"原告未明确秘密点"为由驳回诉请的占比达到三成,这也成为原告败诉的主要原因。

在涉网络科技类侵犯商业秘密犯罪的司法认定中,鉴定意见的证据效力审查尤为重要。商业秘密的鉴定包括公知性鉴定和同一性鉴定等,公知性鉴定一般较为明确,可以通过权利人著作权背书、全面性专业搜索等方式进行。该类商业秘密的同一性鉴定则涉及相同和实质相同的区别,其中相同的犯罪手段是直接抄袭或者变动非关键信息的位置等,对专业鉴定人员而言可以相对容易地进行区分,而实质相同则需要进行核心功能的鉴定。核心功能鉴定不仅是一种鉴定方法,在某种程度上也体现了商业秘密的核心技术功能,并很可能关联到商业秘密的延伸权益即经济利益的实现方式。

五、企业软件商业秘密保护的法律建议

(一)软件商业秘密的事前保护策略

企业软件商业秘密的事前保护是防范侵权的第一道防线,有效的保护策略可以大大降低商业秘密被侵犯的风险。基于前文对软件商业秘密司法鉴定的分析,企业可以采取以下保护策略:

首先,明确软件商业秘密的范围和秘密点。企业应当对其软件技术信息进行梳理和分类,明确哪些信息构成商业秘密,哪些信息属于公知技术。特别是要区分源代码、目标代码和可执行代码的不同法律地位,针对不同类型的代码采取差异化的保护措施。软件源代码的技术秘密点提炼是认定非公知性的前提基础,以技术强度作为多层筛选指标,有助于快速精准地确定密点信息。企业应当建立软件技术信息清单,详细记录各技术信息的秘密点、价值评估以及保护措施,为后续可能的维权提供基础。

其次,采取合理的保密措施。根据《反不正当竞争法》的规定,权利人必须对商业秘密采取相应的保密措施,才能获得法律保护。企业可以采取的保密措施包括:与员工签订保密协议,明确保密义务和责任;建立分级访问权限控制,确保只有必要人员能够接触核心商业秘密;对软件源代码进行加密或混淆处理,增加反编译难度;建立文档管理制度,对技术文档进行分类管理和控制;在网络环境中设置防火墙、入侵检测系统等技术防护措施。需要注意的是,保密措施应当是"相应"的,即与商业秘密的价值、保密难度等因素相适应,既不能过度保护影响正常经营,也不能保护不足导致商业秘密泄露。

第三,规范开源软件和第三方代码的使用。由于开源软件和第三方代码会影响软件商业秘密的非公知性认定,企业应当建立规范的开源软件和第三方代码使用管理制度。具体措施包括:建立开源软件和第三方代码的引入审批流程,评估其对商业秘密保护的影响;详细记录使用的开源软件和第三方代码的来源、版本、许可证类型等信息;避免使用具有传染性条款的开源软件,或者在使用时进行隔离设计,防止传染性条款影响自主开发代码的商业秘密保护;对使用的开源软件和第三方代码进行安全评估,防止其中含有恶意代码或安全漏洞;建立开源合规机制,定期检查软件中开源代码的使用情况,确保符合开源许可证的要求。

第四,加强员工管理和保密教育。员工是商业秘密保护的重要环节,也是商业秘密泄露的主要风险源。企业应当加强对员工的保密教育,提高员工的保密意识和法律意识;与员工签订保密协议和竞业限制协议,明确离职后的保密义务;建立员工离职交接制度,确保员工离职时不会带走商业秘密;对接触核心商业秘密的关键岗位员工进行重点管理,建立监督和制约机制;建立激励机制,鼓励员工创新和保护商业秘密。

最后,建立商业秘密保护应急机制。即使采取了完善的保护措施,商业秘密泄露的风险仍然存在。企业应当建立商业秘密保护应急机制,包括:建立商业秘密泄露的监测和预警机制,及时发现商业秘密泄露的迹象;制定商业秘密泄露的应急处理流程,明确各部门的职责和协作机制;建立商业秘密泄露的证据收集和保全机制,为后续维权提供证据支持;与专业的知识产权律师和技术专家建立合作关系,在商业秘密泄露时能够及时获得专业支持。

(二)软件商业秘密侵权纠纷的应对策略

当企业发现软件商业秘密可能被侵犯时,应当采取系统化的应对策略,以最大程度地保护自身合法权益。基于前文对软件商业秘密司法鉴定的分析,企业可以采取以下应对策略:

首先,及时收集和固定证据。证据是维权的基础,企业应当在发现侵权迹象后,立即着手收集和固定相关证据。具体措施包括:保全涉嫌侵权软件的样本,包括源代码、目标代码、可执行代码等不同形式;收集涉嫌侵权软件的发布、销售、使用等证据;收集侵权人获取商业秘密的可能途径的证据,如前员工接触记录、合作记录等;收集自身商业秘密存在和采取保密措施的证据,如技术文档、保密协议、访问记录等;必要时申请公证或法院证据保全,确保证据的法律效力。特别是在软件商业秘密案件中,由于软件技术信息的易变性,及时固定证据尤为重要。

其次,明确商业秘密的范围和秘密点。在维权前,企业应当明确主张的商业秘密范围和具体秘密点,这是启动维权程序的前提。根据《商业秘密规定》第27条,权利人应当明确其主张的商业秘密的具体内容,并能够说明该内容与公知信息的区别。企业应当结合软件的技术特性,区分源代码、目标代码和可执行代码的不同法律地位,明确主张的商业秘密是源代码、算法、技术方案还是其他技术信息。对于源代码,还需要区分哪些部分是自主开发的,哪些部分是引用开源软件或第三方代码的,避免将公知技术纳入商业秘密范围。明确秘密点不仅有利于提高维权效率,也有利于后续司法鉴定的进行。

第三,选择适当的维权途径和策略。软件商业秘密侵权纠纷的解决途径包括民事侵权诉讼、刑事报案、行政投诉以及仲裁或调解等。企业应当根据案件具体情况,选择适当的维权途径和策略。如果侵权行为情节严重,可能构成犯罪,企业可以考虑向公安机关报案,通过刑事途径维权;如果主要目的是停止侵权并获得赔偿,可以选择民事侵权诉讼;如果涉及行业竞争和市场监管问题,可以考虑向市场监督管理部门投诉。在选择维权途径时,企业应当考虑各种途径的优缺点、成本效益以及可能的结果,制定综合的维权策略。特别是在软件商业秘密案件中,由于技术复杂性,往往需要借助司法鉴定,企业应当提前考虑鉴定问题,准备相应的技术资料和专家支持。

第四,积极参与司法鉴定程序。在软件商业秘密案件中,司法鉴定往往是关键环节,企业应当积极参与司法鉴定程序,确保鉴定结果的公正性和准确性。具体措施包括:选择有资质、有经验的鉴定机构和鉴定人;提供完整、准确的技术资料和样本;明确鉴定的具体事项和要求,如非公知性鉴定、同一性鉴定等;对鉴定过程中的问题及时回应和沟通;对鉴定结论进行审查,如有异议及时提出。特别是在软件源代码非公知性鉴定中,由于技术复杂性,企业应当提供充分的技术说明和资料,帮助鉴定人理解技术问题和秘密点,提高鉴定质量。

最后,注重和解与调解。软件商业秘密侵权纠纷往往涉及复杂的技术问题和商业利益,诉讼或仲裁的成本高、周期长,结果也存在不确定性。企业应当注重和解与调解,在适当的时候考虑通过和解或调解解决纠纷。和解与调解不仅可以节省时间和成本,还可以保护商业秘密不被进一步公开,维护企业的商业利益和声誉。在和解或调解过程中,企业应当明确自己的底线和目标,灵活运用谈判策略,寻求双方都能接受的解决方案。特别是在软件商业秘密案件中,由于技术更新快,市场变化大,及时解决纠纷往往更有利于企业的发展。

(三)软件商业秘密司法鉴定的参与策略

软件商业秘密司法鉴定是解决侵权纠纷的关键环节,企业作为当事人,如何有效参与司法鉴定程序,对案件结果有重要影响。基于前文对软件商业秘密司法鉴定的分析,企业可以采取以下参与策略:

首先,明确鉴定的必要性和范围。在启动司法鉴定前,企业应当评估鉴定的必要性和范围,避免不必要的鉴定和过大的鉴定范围。具体措施包括:分析案件争议焦点,确定哪些问题需要通过鉴定解决;评估鉴定的成本效益,考虑鉴定费用、时间成本与可能的结果;确定鉴定的具体范围,如非公知性鉴定、同一性鉴定或价值评估等;区分技术问题和法律问题,避免将法律问题交由鉴定机构解决。特别是在软件商业秘密案件中,由于技术复杂性,鉴定往往不可避免,但企业可以通过明确鉴定范围,控制鉴定成本和时间。

其次,选择合适的鉴定机构和鉴定人。鉴定机构和鉴定人的专业能力和中立性对鉴定结果有重要影响。企业应当根据案件特点,选择合适的鉴定机构和鉴定人。具体措施包括:考察鉴定机构和鉴定人的资质和经验,特别是软件技术领域的鉴定经验;了解鉴定机构和鉴定人的专业背景和技术能力,确保其能够胜任软件商业秘密鉴定;评估鉴定机构和鉴定人的中立性和公正性,避免利益冲突;参考类似案件中的鉴定机构和鉴定人选择,了解其鉴定质量和信誉。特别是在软件源代码非公知性鉴定中,由于技术复杂性,选择有软件技术背景的鉴定人尤为重要。

第三,准备充分的技术资料和样本。鉴定质量很大程度上取决于提供的技术资料和样本的质量和完整性。企业应当准备充分的技术资料和样本,确保鉴定能够顺利进行。具体措施包括:整理完整的技术文档,包括源代码、目标代码、可执行代码、技术说明书等;提供清晰的秘密点说明,明确主张的商业秘密具体内容;提供相关的公知技术资料,帮助鉴定人区分商业秘密和公知技术;提供软件的运行环境和必要设备,确保鉴定人能够正常运行和测试软件;对于开源软件和第三方代码,提供详细的来源说明和许可证信息。特别是在软件同一性鉴定中,提供完整的源代码和目标代码样本对鉴定结果至关重要。

第四,积极参与鉴定过程。企业不应当将鉴定完全交给鉴定机构,而应当积极参与鉴定过程,确保鉴定结果的准确性和公正性。具体措施包括:指定技术人员或专家参与鉴定过程,提供技术支持和说明;及时回应鉴定人的问题和要求,提供补充资料和说明;对鉴定过程中的技术问题提出专业意见,避免鉴定错误;参加鉴定现场的勘验和测试,了解鉴定过程和方法;对鉴定初步结果进行审查,如有异议及时提出。特别是在软件功能鉴定中,由于软件功能的多样性和复杂性,企业的技术参与对准确理解软件功能至关重要。

最后,合理运用鉴定结论。鉴定结论只是证据的一种,其法律效力需要经过法庭质证和认证。企业应当合理运用鉴定结论,充分发挥其在案件中的作用。具体措施包括:分析鉴定结论的证明力和证明范围,明确其能够证明的事实;将鉴定结论与其他证据相结合,形成完整的证据链;针对鉴定结论的薄弱环节,补充其他证据加以支持;对对方提出的鉴定异议,准备充分的反驳意见;必要时申请鉴定人出庭作证,解释和说明鉴定结论。特别是在软件商业秘密案件中,由于技术复杂性,鉴定结论往往对案件结果有决定性影响,企业应当高度重视鉴定结论的运用。

六、结论

软件商业秘密司法鉴定是知识产权保护领域的重要课题,随着信息技术的快速发展和软件产业的蓬勃兴起,其重要性日益凸显。本研究系统分析了软件商业秘密司法鉴定的法律基础、技术特性影响及法律争论难点,探讨了软件源代码非公知性认定、同一性鉴定标准以及鉴定意见证据效力等核心问题,为企业软件商业秘密保护提供了法律建议。

研究表明,软件商业秘密司法鉴定的法律基础已经基本建立,《反不正当竞争法》、《刑法》及相关司法解释为软件商业秘密保护提供了法律依据,《关于加强知识产权鉴定工作衔接的意见》等政策文件为司法鉴定提供了规范指导。然而,软件的技术特性使得商业秘密鉴定面临独特挑战,软件源代码、目标代码和可执行代码的技术特征差异,反编译可能性、B/S架构、自动生成代码等技术因素对非公知性认定的影响,以及开源软件、第三方代码的引用等问题,都增加了司法鉴定的复杂性。

在法律争论难点方面,非公知性与专利新颖性的法律界限争议、实质相同认定标准的分歧以及鉴定意见证据效力的争议,是当前司法实践中的主要问题。这些争议的存在,既反映了软件商业秘密鉴定的技术复杂性,也体现了法律适用中的认识差异。解决这些争议,需要进一步明确软件商业秘密的法律概念,统一鉴定标准,规范鉴定程序,提高鉴定质量。

针对这些问题,企业应当采取系统化的软件商业秘密保护策略,包括事前保护、侵权纠纷应对以及司法鉴定参与等方面。通过明确商业秘密范围和秘密点,采取合理保密措施,规范开源软件使用,加强员工管理和保密教育,建立应急机制等措施,企业可以有效防范商业秘密侵权风险。在侵权纠纷发生时,企业应当及时收集和固定证据,明确商业秘密范围和秘密点,选择适当维权途径,积极参与司法鉴定程序,注重和解与调解。在司法鉴定过程中,企业应当明确鉴定必要性和范围,选择合适鉴定机构和鉴定人,准备充分技术资料和样本,积极参与鉴定过程,合理运用鉴定结论。

未来,随着软件技术的不断发展和商业秘密保护法律的进一步完善,软件商业秘密司法鉴定将面临新的机遇和挑战。一方面,人工智能、大数据、云计算等新技术的应用,将为软件商业秘密鉴定提供新的技术手段;另一方面,软件商业秘密保护法律的完善和统一,将为司法鉴定提供更加明确的法律依据。在这一过程中,需要法学界、技术界和实务界的共同努力,推动软件商业秘密司法鉴定的规范化、专业化和科学化发展,为软件产业创新和知识产权保护提供有力支持。

参考文献

[1] 张吉豫软件反向工程的合法性及立法建议[J]. 2020.

[2] 郭森邓光昀李振军人工智能软件知识产权司法鉴定研究[J]. 深圳信息职业技术学院学报, 2021.

[3] 张凌燕涉计算机软件知识产权犯罪的准定性[J]. 法学, 2020.

[4] 刘玉琴软件源代码非公知性司法鉴定方法探析[J]. 电子知识产权, 2021.

[5] 黄苇软件源代码非公知性认定研究[J]. 知识产权, 2022.

[6] 唐震知识产权刑事诉讼相关鉴定问题之审视[J]. 法学研究, 2021.

[7] 丁卫红曹虎涉网络科技类侵犯商业秘密犯罪的司法认定——黄某某等侵犯商业秘密案[J]. 法律适用, 2022.

[8] 熊晓波议计算机软件技术信息特殊性和商业秘密鉴定技术[J]. 计算机科学, 2021.

[9] 张乃珩电子数据司法鉴定中软件鉴定方法研究[J]. 证据科学, 2022.

[10] 谢陈跃唐凌志冯春雷电子数据软件鉴定在司法鉴定中的应用研究[J]. 中国司法鉴定, 2022.

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-24 06:29:14 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/551734.html
  2. 运行时间 : 0.110009s [ 吞吐率:9.09req/s ] 内存消耗:4,881.75kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=f2e0edaa0ea338b23e3da6f7fea97a1f
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000565s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000614s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000266s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000301s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000473s ]
  6. SELECT * FROM `set` [ RunTime:0.000202s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000491s ]
  8. SELECT * FROM `article` WHERE `id` = 551734 LIMIT 1 [ RunTime:0.000620s ]
  9. UPDATE `article` SET `lasttime` = 1776983354 WHERE `id` = 551734 [ RunTime:0.013702s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000311s ]
  11. SELECT * FROM `article` WHERE `id` < 551734 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000492s ]
  12. SELECT * FROM `article` WHERE `id` > 551734 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000428s ]
  13. SELECT * FROM `article` WHERE `id` < 551734 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001001s ]
  14. SELECT * FROM `article` WHERE `id` < 551734 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000808s ]
  15. SELECT * FROM `article` WHERE `id` < 551734 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000766s ]
0.111701s