一、清晨六点的诗评分析与一杯过于苦的咖啡
清晨六点零二分,江浩宇醒了。
但今天,他没有立刻启动系统自检,而是躺在床上,盯着天花板,大脑里反复回放着昨晚社区论坛的数据。
那首数学诗,是昨晚十一点三十七分发布的。
截止到今天早上六点,十二个半小时里:
阅读数:3,842
点赞数:1,297
评论数:347
转发到Twitter/X:213次
转发到LinkedIn:89次
被Hacker News收录,当前排名第7
数据很好。
好到让江浩宇有点……不自在。
他坐起身,推了推眼镜,打开平板,点进诗的评论区。
评论很热烈。
【@MathsLover:看哭了。数学与诗,理性与感性,完美融合。】
【@PhD_Student:这才是真正的研究者情怀!向林雪女士致敬!】
【@OpenSourceAdvocate:如果每个开源都有这样的初心,世界会更美好。】
【@AI_Researcher:这首诗精准捕捉了基础研究的孤独与希望。已加入“林雪计划”。】
大部分是正面评价。
但也有一些不同的声音。
【@CodeRealist:诗写得不错,但开源需要的是代码,不是诗歌。】
【@Engineer42:有点矫情了吧?老老实实写代码不好吗?】
【@Skeptic2024:用诗歌营销开源?这是要走情怀路线了?】
江浩宇的目光在这些评论上停留。
心率:从68次/分,缓慢上升到72次/分。
他不理解为什么会有负面反应。
诗是真实的表达,是献给母亲和所有研究者的敬意,没有营销意图。数据表明,这首诗发布后,“林雪计划”板块的新注册用户增加了47%,Issue数增加了28%——这说明诗歌确实激发了社区参与。
但那些批评声……
“在想什么?”
林晓雪的声音从身边传来。她已经醒了,正侧躺着看着他,眼睛在晨光里亮晶晶的。
“社区对诗的反应。”江浩宇把平板递给她,“正面评价占87%,负面占9%,中性占4%。但负面评价的强度更高,平均每个负面评论获得了3.2个赞,而正面评论只有1.7个。”
林晓雪接过平板,快速浏览。
然后她笑了。
“江浩宇,”她说,“你知道这说明什么吗?”
“说明负面评价更容易引发共鸣?”江浩宇皱眉,“但这不符合逻辑。诗歌的质量是客观的,我检查了押韵、节奏、意象运用……”
“不。”林晓雪摇头,轻轻握住他的手,“这说明,你触动了人。好的艺术作品,一定会引发争议。如果所有人都说好,那可能只是平庸。”
她顿了顿:“而且,那些负面评论,其实是在乎的表现。如果他们真的不关心,本不会花时间评论。他们评论,说明被触动了——无论是因为喜欢,还是因为不安。”
江浩宇沉默了几秒。
“情感反应模型需要更新。”他最终说,“负面评价不一定是负面信号,可能是深度参与的表现。”
“聪明。”林晓雪笑着坐起身,“现在,起床。今天有正事——‘方舟’社区的第一个线下meetup,晚上七点,别忘了。”
江浩宇点头,下床走向浴室。
但走到一半,他停下脚步,转过身。
“林晓雪,”他说,“谢谢你。”
“谢什么?”
“谢谢你让我知道,”江浩宇认真地说,“有些事,不需要数据支持,也可以去做。比如写诗,比如……表达情感。”
林晓雪的心,轻轻一颤。
“那你现在,”她微笑着问,“还想写诗吗?”
江浩宇想了想,然后摇头。
“暂时不了。”他说,“一首就够了。太多诗,会稀释代码的时间。”
林晓雪大笑:“很好,你还是我的数学家。”
两人各自洗漱。
七点整,厨房。
江浩宇在作咖啡机,但今天动作有点慢——他在想那首诗,想那些评论,想晚上meetup要讲什么。
“咖啡要漫出来了。”林晓雪提醒。
江浩宇低头,手忙脚乱地关掉机器。
咖啡已经漫过杯子边缘,流到台面上。
“抱歉。”他说,“注意力分散。昨晚睡眠质量88%,但今晨认知效率下降了7%。”
“因为那首诗?”林晓雪走过来,帮他擦台面。
“部分原因。”江浩宇承认,“还有meetup。第一次线下活动,预计会有八十人参加,其中三十七人是社区核心贡献者。我需要准备的内容很多。”
他顿了顿:“而且,张明说,有几个竞争对手可能会派人混进来,打探情报。”
林晓雪挑眉:“你怎么知道?”
“社区行为数据分析。”江浩宇调出平板,“有三个新注册用户,IP来自已知的竞争对手公司,注册后只浏览代码和文档,从不参与讨论。他们注册了meetup,用的公司邮箱。”
他把名单展示给林晓雪:“看,这个@deepmind-tech,这个是@tencent-ai,这个是@google-brain。都是大公司。”
林晓雪笑了:“那说明‘方舟’真的成了气候。只有被重视的,才会被刺探。”
“但我需要制定策略。”江浩宇皱眉,“如何在不破坏开放氛围的前提下,保护核心技术和社区文化。”
“简单。”林晓雪把擦好的台面擦,“对他们更开放。”
“……什么?”
“对他们更开放。”林晓雪重复,“主动找他们聊天,主动介绍,主动邀请他们贡献。如果他们是真心来学习的,会变成朋友。如果是来刺探的,你的开放会让他们无所适从——因为刺探需要秘密,而你没有秘密。”
江浩宇看着她,看了很久。
然后他说:“这是……反直觉的策略。但理论上可行。开放是对抗封闭的最强武器。”
“聪明。”林晓雪拍拍他的肩膀,“现在,喝你的漫出来的咖啡,然后去准备。晚上,我会和你一起去。我也好奇,那些大公司的探子长什么样。”
江浩宇点头,端起咖啡。
喝了一口,皱眉。
“太苦了。”他说,“水粉比不对,萃取过度了。”
“因为你分心了。”林晓雪笑,“但没关系,苦咖啡提神。今天你需要清醒。”
她顿了顿,补充道:“另外,你父亲说今晚也会来。以个人身份,不发言,就看看。”
江浩宇的手,顿了一下。
“父亲他……”
“他想看看你建立的世界。”林晓雪轻声说,“以你为傲的父亲,想亲眼看看儿子的成就。”
江浩宇沉默了几秒。
然后他说:“好。那我需要准备得更好。”
他放下咖啡杯,眼神重新变得坚定。
“数据记录:今目标——办好第一次社区meetup,转化至少两个潜在‘探子’为贡献者,让父亲看到开源社区的真实力量。”
林晓雪笑了:“很好。现在,吃饭。然后,去征服世界——用开放的方式。”
二、下午的“探子”与一个意想不到的转折
下午三点,林氏大厦12楼,原本的会议区被改造成了临时活动场地。
桌椅摆成了小组讨论的样式,墙上贴着“方舟”和“林雪计划”的海报,角落里放着零食和饮料——都是林晓雪精心挑选的,有健康选项也有放纵选项,照顾不同人群。
江浩宇正在调试投影设备,张明在旁边帮忙。
“江老师,”张明压低声音,“那三个人,都到了。”
他指了指场地后方。
那里站着三个人,都穿着商务休闲装,和周围穿T恤牛仔裤的程序员们格格不入。
第一个是个三十多岁的男人,戴着金丝眼镜,正认真看墙上的架构图。
第二个是个年轻女性,短发练,正用手机拍海报。
第三个是个微胖的中年男人,笑眯眯地和旁边一个社区成员聊天,看起来在套话。
“按计划进行。”江浩宇平静地说,“你去接待他们,主动介绍。我去准备开场。”
“好。”张明深吸一口气,走向那三人。
江浩宇则走向讲台,最后检查了一遍PPT。
他的心跳有点快——监测显示78次/分,比平时高10次。但他深吸一口气,让自己冷静下来。
开放,就是最好的防御。
四点整,meetup正式开始。
场地里坐满了人,有些没位置的站在后面。江浩宇扫了一眼,预估有九十人左右,比预期多。
“各位,欢迎。”他开口,声音通过麦克风传遍全场,“我是江浩宇,‘方舟’和‘林雪计划’的发起人。今天是我们社区的第一次线下聚会,感谢大家从各地赶来。”
台下响起掌声。
江浩宇开始介绍“方舟”的最新进展——过去一个月的代码贡献、社区成长、应用案例。
他讲得很技术,很深入,但也很开放——甚至主动提到了当前的技术挑战和未来规划,包括那些还没解决的问题。
台下,人们认真听着,偶尔记笔记。
那三个“探子”也在认真听,特别是那个戴金丝眼镜的男人,记得飞快。
讲完技术,江浩宇话锋一转。
“但今天,我想聊点别的。”他说,“聊开源的意义,聊社区的价值,聊……为什么我们在这里。”
他调出那首数学诗,投在大屏幕上。
“这首诗,我昨晚写的。很多朋友看到了,也有很多讨论。今天,我想借着这首诗,聊聊我的初心,也听听大家的。”
他顿了顿,看向全场。
“开源不是慈善,不是情怀,是更高效的创新方式。但支撑这种效率的,是信任,是,是……人。是在座的各位,愿意相信一个共同的理想,愿意为这个理想贡献时间、智慧、热情。”
他指向那三个“探子”的方向。
“今天,我们现场有来自DeepMind、腾讯AI、Google Brain的朋友。欢迎你们。”
全场哗然。
所有人的目光,都聚焦在那三人身上。
那三人也愣住了,显然没想到会被当众点名。
金丝眼镜男人推了推眼镜,站起身。
“江博士,我是DeepMind的研究员,李明。”他开口,声音很平静,“没想到您认出我了。但我今天来,不是刺探,是学习。‘方舟’的架构设计,确实有很多值得我们借鉴的地方。”
那个短发女性也站起来:“我是腾讯AI Lab的王薇。我们实验室已经在内部试用‘方舟’,效果很好。今天来,是想更深入了解,看看有没有可能。”
微胖的中年男人最后站起来,笑呵呵地说:“Google Brain,张涛。我是来挖人的——开玩笑的。其实是想看看,什么样的社区能产出这么高质量的。现在看到了,很佩服。”
全场安静了几秒。
然后,爆发出掌声。
江浩宇看着那三人,看了很久。
然后他说:“欢迎。无论你们是来学习,来,还是来挖人——都欢迎。因为开源的本质是开放,是相信开放能带来更大的价值。”
他顿了顿:“如果你们愿意,活动结束后,我们可以单独聊聊。DeepMind在强化学习上的进展,腾讯在应用落地的经验,Google在大规模训练上的实践,都是‘方舟’需要的。我们可以,可以互相学习,可以……一起推动这个领域进步。”
他说得很诚恳。
那三人对视一眼,都笑了。
“好。”李明点头,“我们很乐意。”
活动继续。
进入自由讨论环节,人们分成小组,交流技术,分享经验。
江浩宇在场地里走动,和不同的人聊天。
他特意走到那三人身边。
“江博士,”李明先开口,压低声音,“其实我今天来,还有个私人原因。”
“请说。”
“我读过你母亲林雪女士的论文。”李明说,“她二十年前提出的‘信息几何学习理论’,是我博士课题的基础。我一直很敬佩她。看到你继续她的研究,还做得这么好,我很感动。”
江浩宇愣住了。
“你读过我母亲的论文?”
“嗯。”李明点头,“那篇论文发表在《Journal of Machine Learning Research》上,引用数不高,但质量极高。我在剑桥的导师是她的学术好友,经常提起她,说她是那个时代最有洞察力的研究者之一。”
江浩宇的心,轻轻一颤。
“谢谢。”他说,“很少有人知道那些工作。”
“但应该被知道。”李明认真地说,“如果你同意,我想在DeepMind内部组织一个阅读小组,专门讨论你母亲的理论,看能不能和现代深度学习结合。我们可以把讨论记录开源,贡献给‘林雪计划’。”
江浩宇看着他,看了很久。
然后他说:“好。我同意。谢谢。”
另一边,王薇走过来。
“江博士,腾讯AI Lab最近在做一个联邦学习平台,遇到了分布式同步的难题。‘方舟’的流处理架构,可能是个解决方案。我们愿意把平台的部分代码开源,和‘方舟’集成,一起完善这个方向。”
张涛也凑过来:“Google Brain最近在搞一个超大规模预训练,需要处理PB级的数据流。‘方舟’的架构可能适合。我们可以提供计算资源,一起做一个开源版本,推动大模型训练技术的民主化。”
江浩宇看着他们,一个,一个,看过去。
然后他说:“好。我们都可以。但必须遵守开源协议,所有成果必须公开。”
“当然。”三人同时点头。
“另外,”江浩宇顿了顿,“我希望这些,不只是公司对,是人对人。我希望参与的人,是真心相信开源,相信开放的价值。”
“我同意。”李明说,“我会亲自参与。不是为了KPI,是为了理想。”
“我也是。”王薇点头。
“算我一个。”张涛笑。
江浩宇看着他们,突然觉得……心里很满。
开放,真的能连接人。
连接不同公司的人,不同背景的人,不同目标的人。
连接成……一个社区。
“谢谢。”他说,声音有些轻,“谢谢你们。”
活动在热烈的气氛中继续。
而江浩宇没有注意到,场地角落里,江振华安静地站着,看着儿子和那些人交谈,看着儿子从容自信的样子,嘴角一直带着笑。
林晓雪走到他身边。
“伯父,”她轻声说,“怎么样?”
“很好。”江振华说,“比我当年做得好。我当年只会建高墙,他却能建桥梁。”
他顿了顿,看向林晓雪:“谢谢你。没有你,他走不到今天。”
林晓雪摇头:“是他自己走的。我只是在旁边,告诉他路上有风景。”
江振华笑了,拍了拍她的肩膀。
“你们俩,”他说,“是彼此的风景。好好珍惜。”
“嗯。”林晓雪点头,“我们会的。”
三、傍晚的“紧急情况”与一个社区的自发响应
傍晚六点,meetup即将进入尾声。
江浩宇正准备做结束发言,张明突然匆匆走过来,脸色很难看。
“江老师,”他压低声音,“出事了。”
“什么事?”
“社区论坛被攻击了。”张明把手机递给他,“DDoS攻击,流量是平时的500倍。论坛已经宕机了,Discord频道也被灌了垃圾信息。”
江浩宇皱眉,接过手机。
屏幕上,论坛页面显示“502 Bad Gateway”。Discord里,刷屏的全是广告和乱码。
“什么时候开始的?”
“大概二十分钟前。”张明说,“我正在处理,但攻击流量太大,我们的服务器扛不住。而且……”
他顿了顿:“攻击者留了言。在Discord里,用机器人刷屏。”
江浩宇点开张明截的图。
刷屏的内容是:
【“方舟”是垃圾,开源是骗局,江浩宇是骗子。】
【代码漏洞百出,还敢吹嘘创新。】
【社区都是水军,热度都是买的。】
言辞激烈,充满恶意。
“攻击源能追踪吗?”江浩宇问。
“在查。”张明说,“但对方用了僵尸网络,IP分布在全球,很难定位。”
江浩宇沉默了几秒。
然后他说:“先别声张,我处理。”
他转身走向讲台,调整了一下情绪,对着话筒说:
“各位,抱歉,有紧急情况需要处理。我们的社区论坛和Discord频道正在遭受攻击,暂时无法访问。技术团队已经在处理,预计一小时内恢复。”
台下响起一阵动。
“攻击?”有人问,“严重吗?”
“DDoS攻击,流量很大。”江浩宇诚实地说,“但我们有预案,正在处理。今天的meetup先到这里,感谢大家的参与。后续进展,我会在GitHub的Issue里同步。”
人群开始动,但大部分人表示理解。
“需要帮忙吗?”李明站起来,“DeepMind有安全团队,可以协助。”
“腾讯也有。”王薇说。
“Google也是。”张涛点头。
江浩宇看着他们,深吸一口气。
“谢谢。”他说,“但这是‘方舟’社区的事,应该由社区自己解决。如果我们需要帮助,会开口。”
他顿了顿,看向全场:“另外,我想请各位帮个忙——回去后,在GitHub的Issue#458里,报个平安。让我们知道,社区的每个人,都安好。”
这是他和张明刚才商量的暗号——Issue#458是他们预留的应急通讯渠道,如果主论坛宕机,就用这个Issue同步信息。
“明白!”台下响起回应。
人们开始有序离场。
那三个“探子”最后离开,都留下了联系方式,说随时可以帮忙。
场地很快空了。
只剩下江浩宇、林晓雪、张明,还有角落里的江振华。
“浩宇,”林晓雪走过来,握住他的手,“你还好吗?”
“我没事。”江浩宇摇头,但手有点凉,“攻击是预料之中的。树大招风,但没想到这么快。”
他看向张明:“现在情况怎么样?”
“论坛还在被攻击,但我们已经切换了CDN,缓解了一部分压力。”张明快速汇报,“Discord频道已经禁言,管理员在清理垃圾信息。攻击还在继续,但强度在下降。”
“攻击者的身份有线索吗?”
“有。”张明调出一份数据,“虽然IP是分散的,但攻击模式的某些特征,和我们之前遇到过的一次很像——三个月前,一个小型开源数据库被攻击,手法一模一样。那个的创始人说,攻击者是一个叫‘CodeBreaker’的黑客组织,专门攻击热门开源,勒索保护费。”
“勒索?”江浩宇皱眉。
“嗯。”张明点头,“他们通常会先DDoS攻击,让瘫痪,然后联系创始人,要求支付比特币,否则就持续攻击。很多小承受不起,就付钱了事。”
林晓雪冷笑:“这是黑社会行为。”
“但他们这次选错目标了。”江浩宇的声音很冷,“‘方舟’不是小,我们有资源,有社区,有……骨气。”
他顿了顿:“张明,报警。同时,在GitHub、Twitter、LinkedIn上公开这件事。把攻击记录、IP证据、勒索信息(如果有)全部公开。让所有人看看,开源社区面临什么样的威胁。”
“公开?”张明一愣,“那不是暴露了我们的脆弱?”
“不。”江浩宇摇头,“是展示我们的透明和勇敢。开源不怕攻击,因为代码在阳光下,社区在大家心里。攻击者能打垮服务器,但打不垮社区。”
他说得很坚定。
林晓雪看着他,眼睛亮亮的。
“我支持。”她说,“而且,我们要反击——用开源的方式。”
“怎么反击?”
林晓雪笑了:“发起一个开源安全,就叫‘ShieldForOpenSource’(为开源铸盾),专门研究防御DDoS攻击、代码投毒、社区破坏等开源安全问题。邀请全球的安全专家一起参与,把防御方案开源,让所有开源都能用。”
江浩宇看着她,看了很久。
然后他说:“好。就这么做。今晚就立项。”
他转向张明:“现在,去发公告。我在这里处理技术问题。”
“好!”张明重重点头,转身去忙了。
江浩宇坐到电脑前,开始处理服务器问题。
林晓雪坐在他身边,陪着他。
而江振华,一直安静地站在角落里,看着儿子从容应对危机的样子,眼眶有点热。
这才是他的儿子。
不躲,不怕,直面问题,用理想和智慧解决问题。
比他强。
强得多。
四、深夜的“铸盾”计划与一首未完成的诗
深夜十一点,攻击还在继续,但已经减弱了很多。
江浩宇和技术团队已经恢复了论坛的访问——虽然还有点慢,但至少能用了。
Discord频道也清理完毕,重新开放。
GitHub的Issue#458里,已经收到了三百多条回复,都是社区成员报平安,还有很多人主动提供帮助。
【@StarTrek_Enterprise:我有个朋友在Cloudflare工作,可以帮忙提供DDoS防护服务,免费给开源用。】
【@DeepSkeptic:我在大学教网络安全,可以贡献防御方案的学术研究。】
【@MathsLover:虽然我不懂技术,但我可以帮忙写文档,安抚社区情绪。】
【@PhD_Student:我们实验室有高性能服务器,可以临时提供镜像站点分流流量。】
社区,没有被打垮。
反而更团结了。
江浩宇看着那些回复,眼睛有点热。
“看,”他对身边的林晓雪说,“这就是社区的力量。攻击者以为能打垮我们,却让我们更强大。”
“嗯。”林晓雪靠在他肩上,“你做得对。公开,透明,团结——这是开源最强大的防御。”
她顿了顿:“‘铸盾’计划的草案,我已经写好了。发给你看看。”
江浩宇打开邮件,快速浏览。
草案很详细,包括目标、技术路线、组织架构、开源协议等等。
“很好。”他说,“但我建议加一点——设立‘开源安全响应基金’,接受捐赠,专门用于帮助遭受攻击的小型开源。很多个人开发者,承受不起这种攻击。”
“好主意。”林晓雪点头,“我加进去。明天就发公告,正式启动。”
她顿了顿,看着江浩宇疲惫的侧脸,轻声说:“你去休息会儿吧。我来盯着。”
“不用。”江浩宇摇头,“攻击还没完全停止,我不能睡。而且……”
他顿了顿:“我想写点东西。”
“写什么?”
“写一首诗。”江浩宇说,“为今晚,为社区,为……所有在黑暗中守护光明的人。”
林晓雪愣住了。
然后她笑了,眼睛亮晶晶的。
“好。”她说,“我陪你。”
江浩宇打开一个新的文档,标题是《盾与星》。
他想了很久,才开始写。
《盾与星》
当流量如水涌来
试图淹没理性的声音
当代码的河流
被恶意注入泥沙
我们筑起盾
不是高墙
是透明的屏障
让光透过
让恶意显形
盾的后面
是星
是千万行代码
是千万个梦想
是千万双
在深夜还亮着的眼睛
攻击者不懂
他们攻击的
不是服务器
不是论坛
是连接
是信任
是相信开放
相信
相信
代码可以改变世界
的那些人
而我们
不会倒下
因为盾
是社区铸就
因为星
是理想点亮
因为
在开源的世界里
每一次攻击
只会让连接
更紧密
让光
更亮
今夜
我们写代码
也写诗
我们修复漏洞
也修复信任
我们筑起盾
也点亮星
因为知道
明天太阳升起时
论坛会恢复
代码会继续
社区会成长
而理想
会在攻击的灰烬中
开出更美的花
他写完,看了很久。
然后,点击发布。
发在刚刚恢复的社区论坛,也发在GitHub的Issue#458里。
发完,他靠在椅背上,闭上眼睛。
累。
很累。
但心里,很满。
“写完了?”林晓雪轻声问。
“嗯。”江浩宇点头,“但还没想好名字。叫《盾与星》,还是叫《今夜我们筑盾》?”
“《盾与星》吧。”林晓雪说,“盾是防御,星是理想。合在一起,是开源社区的精神——脚踏实地地防御,仰望星空地前行。”
江浩宇睁开眼,看着她。
“你说得对。”他说,“就叫《盾与星》。”
他顿了顿,又说:“林晓雪,谢谢你。今晚,如果没有你,我可能不会想到‘铸盾’计划,可能只会被动防御。”
“不。”林晓雪摇头,“没有我,你也会想到的。因为你就是这样的人——面对问题,思考如何从本上解决。我只是……把你的想法,说得更完整。”
她轻轻吻了他一下。
“睡吧。”她说,“攻击已经基本停了。我盯着,有事叫你。”
江浩宇犹豫了一下,然后点头。
“好。我睡一小时。一小时后叫我。”
“嗯。”
江浩宇在沙发上躺下,很快睡着了。
他睡得很沉。
林晓雪坐在他身边,看着他的睡颜,轻轻握着他的手。
然后,她打开电脑,开始完善“铸盾”计划的草案。
窗外的城市,已经沉睡。
但在这个实验室里,灯还亮着。
在社区论坛上,讨论还在继续。
在GitHub的Issue里,回复还在增加。
在世界的各个角落,那些相信开源的人,还在守护,还在贡献,还在……相信。
夜很深。
但星很亮。
盾已筑起。
而理想,正在攻击的灰烬中,静静生长。
五、清晨的阳光与一封意外的邮件
清晨六点,江浩宇准时醒来。
他在沙发上睡了六个小时,比计划多了五个小时。
睁开眼睛的第一秒,他立刻坐起身。
“攻击……”他问。
“停了。”林晓雪的声音从旁边传来,“凌晨三点左右完全停止。论坛、Discord、GitHub,全部恢复正常。社区情绪稳定,甚至比之前更活跃。”
她递给他一杯温水:“喝点水。你睡得很沉,我没叫你。”
江浩宇接过水,喝了一口。
然后他打开平板,开始查看数据。
论坛访问志:攻击完全停止,流量恢复正常。
Discord记录:垃圾信息已清理,讨论恢复正常。
GitHub Issue#458:已有527条回复,其中412条是提供帮助的,78条是安慰鼓励的,37条是技术建议。
社区,真的挺过来了。
而且更强大了。
“另外,”林晓雪说,“昨晚你睡着后,发生一些事。”
“什么?”
“第一,‘铸盾’计划的草案发出去后,已经收到了23个贡献意向。包括DeepMind的李明、腾讯的王薇、Google的张涛,都表示要参与,还会带团队进来。”
她顿了顿:“第二,你父亲昨晚没走。他在隔壁会议室,看了整晚。凌晨四点,他让助理发了封邮件,说要捐赠一千万,设立‘开源安全与创新基金’,专门支持‘铸盾’计划和类似的。”
江浩宇愣住了。
“父亲他……”
“他在用他的方式支持你。”林晓雪轻声说,“而且,他让我转告你一句话。”
“什么话?”
林晓雪看着他,一字一句地说:“‘浩宇,你比我强。你建的桥梁,比我的高墙,坚固得多。父亲以你为傲。’”
江浩宇的手,微微颤抖。
他低下头,看着手中的水杯,很久没有说话。
然后,他抬起头,眼睛有点红。
“谢谢。”他说,声音很轻。
不是对林晓雪说,是对不在场的父亲说。
也对母亲说。
对社区说。
对所有相信的人说。
“对了,”林晓雪又说,“还有一封邮件,你可能感兴趣。”
她把平板递给他。
江浩宇点开。
发件人是:codebreaker@tutanota(匿名邮箱)
主题:道歉与投降
内容:
【江博士,我是CodeBreaker的负责人。昨晚的攻击,是我们发起的。但我们错了。
我们本以为“方舟”和其他一样,攻击一下就会屈服。但我们错了。
你们的透明、团结、快速响应,让我们看到了真正的开源精神。特别是那首诗《盾与星》,让我们意识到,我们在攻击的,不是冷冰冰的服务器,是活生生的理想。
我们也是程序员,也曾有过理想。但走错了路。
攻击已经停止,永远不会再来。作为道歉,我们愿意做三件事:
提供我们掌握的所有攻击工具和手法,帮助“铸盾”计划完善防御。
捐赠10个比特币(约60万美元)给“开源安全响应基金”。
解散CodeBreaker,所有成员承诺不再攻击任何开源。
希望你们接受我们的道歉。也希望“铸盾”计划能成功,让更多开源免受我们这样的攻击。
——一个走错路,但想回头的程序员】
江浩宇看着这封邮件,看了很久。
然后,他看向林晓雪。
“你怎么看?”他问。
“我倾向于接受。”林晓雪说,“开源的精神,也包括给犯错者改过的机会。而且,他们的攻击工具和经验,对‘铸盾’计划确实有价值。”
她顿了顿:“但必须公开这件事。让所有人知道,攻击者投降了,开源赢了。”
江浩宇点头:“同意。但捐赠的比特币,要透明管理,每一笔支出都要公开。”
“当然。”林晓雪微笑,“这是开源的原则。”
江浩宇深吸一口气,开始回复邮件。
他写得很简短:
【接受道歉。欢迎提供攻击工具和经验。捐赠的比特币,会全部用于“开源安全响应基金”,支持小型开源。希望你们能找到正确的路,用技术做建设,而不是破坏。】
点击发送。
邮件发出。
几秒后,回复来了:
【谢谢。工具和数据已发送到指定地址。比特币已转账,交易哈希是……再次抱歉。祝“方舟”和“铸盾”计划成功。】
江浩宇关掉邮箱,看向窗外。
清晨的阳光,正透过窗户洒进来。
温暖,明亮。
“看,”林晓雪轻声说,“天亮了。”
“嗯。”江浩宇点头,“天亮了。攻击结束了,社区还在,理想还在,我们……还在。”
他站起身,走到窗边,看着窗外的城市。
车流开始涌动,城市开始苏醒。
新的一天,开始了。
“今天,”他说,“是‘铸盾’计划的第一天。是‘方舟’社区新生的第一天。也是……很多事的第一天。”
林晓雪走到他身边,轻轻握住他的手。
“嗯。”她说,“第一天。但不会是最后一天。我们会一起,走过很多很多天。”
江浩宇转头,看着她。
阳光洒在她脸上,洒在她明亮的眼睛里。
“林晓雪,”他说,“我爱你。今天,明天,后天,每一天。”
他说得很简单,很直接。
没有数学,没有代码,没有诗。
就只是……一句话。
但林晓雪知道,这句话的重量。
“我也爱你。”她说,“从第一次见到你,到今天,到未来所有的天。”
两人相视而笑。
然后,轻轻拥抱。
在清晨的阳光里。
在攻击结束后的平静里。
在理想依然闪耀的信念里。
而在城市的另一端,江振华站在办公室的窗前,看着同样的阳光,嘴角带着笑。
他手里拿着手机,屏幕上是儿子回复CodeBreaker的邮件。
“浩宇,”他轻声说,“你真的长大了。长得比父亲想象的,还要好。”
他放下手机,拿起桌上的一个相框。
相框里,是年轻的林雪,抱着三岁的江浩宇,两人都在笑。
“阿雪,”他看着照片,声音有些哑,“你看到了吗?我们的儿子,他很好。他找到了爱他的人,找到了想做的事,找到了……自己的路。你可以放心了。”
他把相框轻轻放在桌上,对着照片里的妻子,微笑。
阳光洒进来,洒在照片上,洒在那些永远不会褪色的笑容上。
像一声遥远的祝福。
也像一个新的开始。
对江浩宇和林晓雪来说。
对“方舟”社区来说。
对“林雪计划”来说。
对“铸盾”计划来说。
对所有人来说。
新的一天,开始了。
而故事,还在继续。
在代码里,在诗里,在爱里,在理想里,在每一个相信开放、相信连接、相信光的人心里。
继续着,永远继续着。