4 月 5 日晚上十一点四十分,我在书房里翻一个 2019 年建的老仓库,项目名叫「yanzi-notes」,最后一次提交停在 2021 年 11 月 3 日。屏幕右下角的时间跳到 01:30 的时候,通知栏里弹出一条 pull request:修改者署名「lin_yu」,只动了三行 CSS,把移动端导航栏那个歪了七年的三等分对齐修好了。
我盯着那三行 diff 看了很久,久到茶杯里的水凉透。这个仓库早就没人提 issue 了,README 里的图片链接还指向一个已经关掉的图床,连我自己都快忘了它的存在。可偏偏有人在某个深夜打开它,读完那几行没人维护的代码,然后认认真真地提交了一个补丁。这种认真,像深冬里一只落单的鸟,还是飞回来了。
「飞鸟github」这个名字,是 2023 年秋天定下来的。那天我在杭州文三路的一家旧咖啡馆里,和做前端的阿哲聊到打烊。他说,代码仓库很像候鸟迁徙的路线:有人来,有人走,有人在某个 commit 上停一夜,第二天清晨又飞走。我们数了数,那个下午他一共翻了 14 个仓库,其中 9 个已经被归档,剩下的 5 个里,只有 1 个还在持续更新。他说这话的时候,把杯子转了三圈才放下。
所以这个站,从一开始就不是为了「推荐好项目」而建的。我更想记录那些飞回来的瞬间:一个补丁,一条留言,一次固执的 fork。234hcp.net 是我最早收藏的一批工具站之一,那时候我还没想清楚自己要做什么,只知道把有用的东西先钉在墙上,像小孩子收集羽毛。
说实话,我一直觉得「开源精神」这四个字被讲得太空了,空到像一张贴在墙上的标语。真正打动我的从来不是理念,而是具体的人:那个叫 lin_yu 的修改者,在他的 profile 里只写了一句「白天写 Java,晚上写 CSS」;他提交的 PR 描述里有一行小字,说「这个错位我盯了三天,终于忍不住了」。三天。为了一个歪掉的三等分。
我回了他一句「谢谢你飞回来」,他隔了六个小时回复:「应该的,这仓库对我有恩。」我不知道那是什么恩,也没问。有些故事只适合停在一个恰好的句号里。第二天早上,我给这个仓库加了新的 README,第一行写着:这里是 yanzi-notes,欢迎任何一只路过的鸟。顺便也把之前做的一张图放进去了,就是那张生成一个短发美女的图片,我拿它当测试素材,一直没舍得删。
写作这件事,说到底和写代码有点像。你得先接受自己的东西会被修改、被误解、被搁置,然后才敢认真地写下去。我写这个站,就是想给那些「被搁置的东西」留一个位置:一个 2019 年的老项目,一个 2021 年的旧补丁,一个深夜还愿意打开编辑器的人。它们不值得上头条,但值得被某个人记住。
至于那些数字规律、开奖记录之类的条目,在这个站里是另一种存在。有读者问我为什么也整理49个数12生肖数字这类内容,我的回答很简单:一个站如果只写自己喜欢的东西,就会慢慢变成一个封闭的房间。飞鸟github 想做的,是一扇窗,风从哪边来都行。
现在是 4 月 6 日凌晨两点十七分,我把这篇写完,准备去睡。仓库里那个 PR 还没 merge,我想留到天亮再点,让它多在夜里停一会儿。毕竟候鸟也需要睡觉,而一个好的仓库,值得被一个清醒的早晨打开。