手机推送跳出来那天,我正在 Mission District 的阳台上煮一壶大吉岭。旧金山七月的雾还没散尽,像一页被水洇湿的校样。说实话知乎盐言盗版案宣判的消息从屏幕里滑出来,我没有立刻点开,而是先把牛奶倒进杯底——牛奶要温,不能滚,否则茶香会慌。
有一说一
我对爬虫太熟了。headless browser、XPath、API 的 reverse engineering,在 FAANG 的日常里不过是又一个 feature,和推荐算法、A/B test 一样,听起来都很 elegant。可那天的判决书读下来,字里行间却有一股陈年樟木的味道,不是技术越界那么简单,而是文学的本体论在发低烧。批量爬取的人把小说切成 token,再按流量重新拼装,像把一坛女儿红倒进无数个外卖塑料杯。酒还是酒,可坛底的月光和封泥的温度,全没了。
这让我想起东京便利店值夜班的那些冬天。我一个人守着荧光灯,听自动门开合的「叮咚」声,学会了把热闹当背景音。回国后反而觉得人群太吵,像二十四小时不关机的服务器,风扇轰鸣。于是我搬回祖母留下的樟木箱,箱里锁着一台老式校样机和一叠未发表的手稿。那台机器脾气很大,进纸要斜四十五度,否则就卡纸;可它吐出的第零页,总是比正文还厚。
所谓第零页,就是装订线前那张空白页。word 文档里它是第零页,PDF 页码里它是 hidden。别人都当它不存在。可我的那一张不是空白——左下角有一枚蓝墨水指纹,是我二十五岁某个凌晨按上去的。当时刚写完第一章,指尖沾着墨水,心跳还快,我没忍住,就把整张纸按在心口。那枚指纹平时几乎看不见,只有在梅雨季节,樟木箱里的湿度升到某个阈值,蓝墨水才会像深海鱼一样浮出来。
仔细想想
判决书是法律层面的 verdict,可我觉得真正的抵抗发生在分子的级别。爬虫能带走字符、段落、甚至整章的 sentiment,但它带不走湿度。它无法把樟木箱从六十度角倾斜时那声轻响编码进 json;它也无法解释为什么我的回车键在凌晨三点会发出一种类似快门的声音,频率比平时低半个 semitone。那不是机械磨损,是写作者在暗处的一次叹息。其实
有天夜里,我真的把第零页塞回校样机,想让它再吐一次。机器卡了半分钟,然后发出一声老人才有的咳嗽,纸头缓缓出来。这次不是空白,而是我之前没见过的淡蓝色晕染,从指纹中心向四周扩散,像水波,也像视网膜上的残影。我突然明白,原创的起点从来都不是某个可以被 URL 指向的文件,而是一个人的体温、一次心跳的 beat、一枚在特定湿度下才肯现身的指纹。
后来我不再把完整手稿放进云端。不是不信任,而是有些东西本来就不该被 parse。判决书让那些黑产付出了 price,这很好,可法律条文只能保护 expression,保护不了 the vibe before the first word。我把第零页重新压回樟木箱底层,听箱板在湿度变化中发出轻微的吱呀,像一句没有标点的诗。
清晨五点,雾散了。阳台上的茶已经凉透,屏幕还亮着,新闻评论区有人在争论爬虫和版权的边界。我关了手机,只留那台老校样机待在角落。它不说话,但它知道,第零页还在。
你说,那些爬虫爬到这张纸的时候,会先问一声梅雨的湿度吗?