礼堂那厚重的实木门在身后合拢,像是一刀切断了两个世界。
门内是沸反盈天的舆论海啸,是林薇薇可能已经崩溃的尖叫和奖杯碎裂的余音。门外,是空旷安静的走廊,只有我们两人的脚步声在光洁的大理石地面上回响,显得格外清晰。
肾上腺素的效果正在退潮,一股虚脱般的疲惫感从骨头缝里钻出来。我停下脚步,靠在冰凉的墙壁上,深深吸了口气,又缓缓吐出。手里那份苏晴塞过来的文件夹,像块烙铁一样烫手。
“还好吗?”苏晴的声音在旁边响起,平静无波,听不出太多关切,更像是一种程序化的确认。
我扯了扯嘴角,想露出一个表示“没事”的笑,却发现脸部肌肉僵硬得不听使唤。“死不了。”最终,我只干巴巴地吐出三个字。
她没再说什么,只是站在一旁,安静地等着。她今天没穿裙子,而是合身的黑色西装裤和一件简单的白色衬衫,袖口挽到小臂,露出一截纤细的手腕。刚才在台上,我就是抓住了那里。现在看去,她手腕上似乎有一圈极淡的、几乎看不见的红痕,不知道是不是我用力过猛留下的。
我移开目光,心里有点说不清的烦躁。“刚才……谢谢你配合。”
“各取所需。”苏晴回答得言简意赅,她从随身携带的一个看起来容量很大的帆布包里拿出一个平板电脑,指尖飞快地划动着,“学术委员会和大赛组委会的联合调查通知应该已经发到你和林薇薇的校内邮箱了。初步问询定在一小时后,行政楼第三会议室。”
效率真高。或者说,苏晴的动作真快。我几乎能想象到此刻礼堂里乱成什么样子,组委会的那些领导们又是如何焦头烂额。一个最高奖项的得主,在颁奖礼上被当场揭发学术不端,这绝对是能上热搜的丑闻。
“我们需要统一口径。”苏晴抬起头,目光锐利地看着我,“从‘星图’算法的灵感来源,到核心代码的编写过程,尤其是林薇薇是如何接触到原始代码库,并进行了哪些层面的篡改和剥离署名信息,所有细节,必须清晰、一致、有据可查。”
我点了点头。这些原本是我们为了应对可能出现的质疑而准备的预案,没想到这么快就用上了,而且是以这样一种雷霆万钧的方式。
“证据链完整吗?”我问道,这是最关键的一环。没有铁证,一切指控都会变成狗急跳墙的反咬。
“完整。”苏晴的语气带着绝对的自信,“从你最开始的算法手稿照片,到GitHub上带时间戳的私人代码库提交记录,甚至……林薇薇在三个月前,深夜用她自己的电脑访问你存放在校园网私有服务器上代码库的登录日志和IP地址,我都拿到了。”
我猛地看向她,眼神里带着震惊。手稿和代码提交记录是我提供的,但服务器访问日志……这属于校园网管的核心日志数据,权限很高,她是怎么弄到的?
苏晴似乎看穿了我的疑问,淡淡补充了一句:“我有个朋友在信息中心实习。”她顿了顿,又加了一句,“当然,是通过合法合规的流程,以涉嫌严重学术不端为由申请调取的。”
我信她才怪。但此刻,这份“铁证”无疑是雪中送炭。林薇薇恐怕做梦也想不到,她自以为天衣无缝的“借鉴”和“剥离”,会留下如此清晰的痕迹。她更想不到,一向在技术上有些“书呆子气”、对她几乎不设防的我,会留下后手,更会联合苏晴这样一号人物,给她来一个釜底抽薪。
“为什么帮我?”这个问题在我喉咙里滚了滚,还是问了出来。我和苏晴的交集并不多,仅限于几次跨校的技术沙龙,彼此欣赏对方的才华,但远谈不上深交。这次合作,最初也是她主动找上我,对“星图”算法表现出极大兴趣,并提出了一些极具建设性的优化意见。但我没想到,她会卷入这样一场腥风血雨,而且态度如此决绝。
苏晴操作平板的手指停了一下,她抬起眼,看向走廊尽头窗外的暮色,侧脸线条清晰而冷静。“两个原因。”
“第一,我厌恶学术欺诈。‘星图’是个很好的项目,不该被这样玷污。”
“第二,”她转回头,目光重新落在我脸上,带着一种近乎冷酷的审视,“我觉得,一个能被感情蒙蔽双眼、在技术上留下如此大漏洞的人,需要一次足够深刻的教训,才能真正成长。帮你,也是帮这个项目扫清一个潜在的、不稳定的因素。”
她的话像一把手术刀,精准地剖开了我的愚蠢和失职。是的,如果不是我盲目信任林薇薇,把未加密的代码库权限开放给她,又怎么会给她可乘之机?苏晴说得对,我活该得到这个教训。
脸上**辣的,不是愤怒,是羞愧。
“走吧。”苏晴收起平板,“先去吃点东西,然后去会议室。接下来有一场硬仗要打。”
我们并肩走出教学楼。傍晚的风带着凉意,吹散了我心头最后一点混沌。手机在口袋里疯狂震动,不用看也知道,是各种询问、安慰、或者看热闹的消息和未接来电。我直接设置了静音。
经过礼堂门口时,还能听到里面隐约传出的嘈杂声。几个学生模样的人从里面跑出来,看到我们,立刻露出惊诧、好奇、甚至带着点敬畏的眼神,远远地指指点点,却不敢靠近。
我和苏晴视若无睹,径直走向校门外一家常去的简餐店。
点餐,坐下,等待。气氛有些沉默。
我看着对面安静翻阅电子文献的苏晴,突然想起刚才在台上,我握住她手腕时,她那一瞬间的僵硬。以及,台下某些人,特别是林薇薇那几个闺蜜,在看到苏晴时露出的见鬼一样的表情。
这背后,似乎还有我不知道的隐情。
“你之前……认识林薇薇?”我试探着问。
苏晴的目光从平板屏幕上抬起,看了我一眼,那眼神似乎洞悉了一切。“不算认识。但听说过一些事。”
她顿了顿,似乎在斟酌用词:“她曾经试图申请加入我的一个跨校研究小组,简历很漂亮,但面试时,对几个核心技术的理解很肤浅,并且……试图用一些不太光彩的方式获取小组内部的资料。被我拒绝了。”
我愣住了。林薇薇从未跟我提过这件事。她只说过想参与一些更有挑战性的项目,我还傻乎乎地鼓励她,甚至想过要不要把她引荐给苏晴……现在想来,真是讽刺至极。或许从那时起,或者说更早,她接近我,本身就带着明确的目的性?我所珍视的那些共同奋斗的日夜,有多少是真情,多少是演技?
胃里一阵翻江倒海的恶心。
食物端上来了,我却毫无食欲。
苏晴拿起筷子,慢条斯理地开始吃她那份沙拉,动作优雅从容。“韩阳,过去的事,追究细节没有意义。重要的是现在和以后。”她抬起眼,目光清亮,“‘星图’的价值远不止一个校级一等奖。洗刷污名,拿回属于你的东西,然后,把它做到最好。这才是对背叛者最有力的回击。”
她的话像一记重锤,敲散了我心头的阴霾和自我怀疑。
是的,沉溺于被背叛的痛苦毫无意义。林薇薇选择在最高点将我踩入泥泞,那我就从泥泞中爬起来,站到让她仰望的高度。
我拿起筷子,开始大口吃饭。味道一般,但此刻,我需要能量。
一小时后,行政楼第三会议室。
我和苏晴到达时,里面已经坐了几个人。学术委员会的两位资深教授,大赛组委会的负责人,还有一位记录员。气氛凝重。
令人意外的是,林薇薇和她的导师也在。林薇薇换掉了那身华丽的礼服,穿着一件普通的连衣裙,眼睛红肿,脸色苍白,低着头,不敢看我。她的导师,一位以护短出名的女教授,脸色铁青,看我的眼神像是要喷出火来。
“韩阳同学,苏晴同学,请坐。”委员会的王教授,一位德高望重的老学者,语气严肃地开口,“关于今天颁奖典礼上发生的事件,以及你们随后提出的对林薇薇同学学术不端的指控,我们需要进行初步核实。请你们如实陈述。”
我看了苏晴一眼,她微微点头。
我深吸一口气,开始叙述。从“星图”算法的构思,到与苏晴的跨校合作,再到发现代码被窃取的经过……我没有加入任何个人情绪,只是客观地陈述事实,并适时出示苏晴准备好的证据。
当那份清晰的服务器访问日志被投影到屏幕上,显示林薇薇的账号在特定时间点访问了我的私有代码库时,她的导师张了张嘴,最终什么也没说出来。林薇薇的身体开始微微发抖。
问询持续了一个多小时。苏晴的补充逻辑清晰,证据链完美闭环。
结束时,王教授合上笔记本,揉了揉眉心,看向我们的目光复杂:“情况我们基本了解了。证据……很充分。组委会会立即启动正式调查程序,在林薇薇同学的问题查清之前,一等奖暂时悬置。你们先回去等通知,保持通讯畅通。”
我们起身离开。经过林薇薇身边时,我听到她极低地、带着哭腔的声音:“韩阳……你非要做得这么绝吗?”
我没有停留,也没有回头。
绝?
