各位老友们好,我是 Chlorine。本文为紧急加更。
园子一向只有 Hello 系列,从未有过 Farewell 系列,也不会有这个系列。因为小氯从不喜欢告别,虽然我们总要启程,但如果不是迫不得已,谁会愿意分开呢。
人生不相见,动如参与商。
今夕复何夕,共此灯烛光。
前言
虽然这样显得极其啰唆且有水字数的嫌疑,但是小氯还是想说说自己和 Omnivore 的故事。不煽情,只是讲故事。
Omnivore 的本意是「杂食者」,对于一个稍后读软件而言,这是个很好的名字。Omnivore 的 slogan 是:
Read-it-later for serious readers.
我最初是从公众号「维客笔记」了解到这一应用的。当时小氯酱刚刚接触 Obsidian 和 PKM 不久,酷爱折腾各种花里胡哨的工作流,而 Omnivore 免费、开源、跨平台、大陆可用、支持浏览器插件、支持和 Obsidian 联动的特性无疑是一连串的王炸。小氯火速注册了 Omnivore,并开始将其作为主力的 Read-It-Later 工具。虽说这一年小氯本身也没存几篇文章,也并没有使用过几次 Omnivore Syncing to Obsidian 的功能,在实用层面对 Omnivore 没什么依赖,但是潜意识中,小氯早就把 Omnivore 当成了自己「理想工作流」的一部分,甚至是一个理想的信息聚合系统的「原型机」。
小氯把自己最喜欢的几篇文章存到了 Omnivore 中,闲来无事就读一遍,也曾经在数个场合强力推荐过这个工具,甚至在上周的周报中也是如此。虽然说 Omnivore 存在一些令人有点不安的问题,例如一些 stale 乃至 rotten 的 issue、PR,莫名其妙的 AI 功能,以及迟迟没有完成且官方并不给出直接回应的自部署文档等,但是小氯都没太当回事,只觉得是开发团队有更重要的事情要做。
晴天霹雳
这个标题很惊悚,或许夸张了点。
今天早上小氯翻收件箱的时候,偶然走到了 126 的垃圾邮件列表,发现了一封被 126 归于垃圾邮件的邮件,看样子来自于 Omnivore,标题似乎是什么 Omnivore is joining XXX。当时小氯有点奇怪,因为 Omnivore 一般是不会发营销邮件的。小氯甚至以为这是不是 Omnivore 加入什么联盟了,于是就没怎么管。
下午摸鱼的时候小氯又想起了这封邮件,于是去翻了翻。邮件是纯英文的,但是小氯仗着自己阅读能力尚可,直接不开翻译硬读。
然而小氯读完之后,对自己的英语能力产生了深深的怀疑,怀疑自己是不是理解错误了。
为了保险,小氯把邮件喂给了 AI,得到了一份翻译,与小氯的理解别无二致。
当时小氯的反应大概是和 GitHub Issue 上的第一条的标题一样:
Seriously?
然后小氯去了 Omnivore 的官方博客,看到了他们刚发布不久的文章,最终确认这是真的。
小氯小氯,你在这内心独白了半天,到底发生什么了?
简单来说,就是:
- Omnivore 的全体开发成员已经加入 ElevenLabs(一家 AI 初创公司),Omnivore 的开发和维护即将停止。
- Omnivore 的官方服务器
omnivore.app
(可能也是唯一的稳定服务器,因为 Omnivore 的自托管极其繁琐且没有完整的文档)将于 2024 年 11 月 15 日关停。
或者再说得直白(尽管不算很准确)点:
Omnivore Team 把自己的产品卖了。
issue 里面,大家的反应不一。有人嘲讽,有人指责,更多的是遗憾和祝福,抑或是非常实用地开始讨论和推荐替代品。
小氯是什么感觉?小氯算不上气愤,虽然说开发者这样似乎有些对社区不负责,同时这样的处理方式也并不是最好的。如果一定要说的话,小氯有点悲哀,
不是大哭大笑的悲哀,而是沉默的、无力的悲哀。如同看着陪伴了自己许久的猫咪在眼前被人生生扼死,或者是看着自己费尽心血建起的家在大火中发出噼啪的哀鸣。
一个三年之久、一万两千多个 star 的开源项目,说没就没了。 虽然源代码还在,既没有 Public Archive,也没有删库,或许日后也会有热心的社区用户接手这个项目继续维护、提供完善的自部署文档,甚至慷慨解囊,部署一个替代 omnivore.app
的主服务器,但是,Omnivore 已经走到了生命的尽头,这一点,毫无疑问。
上次亲眼看见这样的事情,还是 Trilium 的维护模式。但是 Trilium 的开发者只是表示,自己不再有精力对 Trilium 进行积极的开发了,希望逐渐将项目让渡给一位新的主理人。而且 TriliumNext 也迅速补上了这个空缺,所以 Trilium 的维护模式虽然也在社区造成了不小的动荡,但是总体而言,有惊无险。
但是 Omnivore 不一样。它的开发者成为了新锐 AI 公司的雇员,它的主服务器被彻底地关闭,虽然我们可以导出数据,但是账户删除的失败甚至开始让人怀疑它是不是在出售用户的数据(尽管没有任何事实性证据,且从情感上小氯完全不能相信这一点)。而自部署的缺位,已经将绝大部分的用户隔离于继续使用稳定版本之外。
Omnivore has gone. It will never come back.
后记
谁也不知道 Omnivore 接下来会怎么样,或许只是不再更新,或许是 Public Archive,或许直接删库。但是小氯觉得,第一种可能性更大些。即使是因为开源开发者的那点傲骨,Omnivore Team 也不会在邮件中向用户撒谎的(邮件中承诺 Omnivore 依然会保持开源)。为了以防万一,小氯紧急 Fork 了一份 Omnivore 的库。或许将来的某个时候,小氯会着手继续维护这个项目——尽管这几乎不可能。自己的技术能力几斤几两,小氯酱心里有数。
目前小氯已经请求了一次数据导出,并且删除了 Omnivore 账户(至今没有成功),Obsidian Omnivore 插件和手机端的 App 也已经被移除。除非有人能够接受 Omnivore 的开发并且给出一个完善的自托管方式(或者是提供一个免费的托管服务,尽管小氯喜欢前者),否则,小氯和 Omnivore 的缘分就到这里了。
或许小氯应该庆幸,Omnivore 在小氯的工作流中还不是一个完全不可或缺的角色,实际上小氯将 Omnivore 整合到 Obsidian 的行为也并不常用。这可能也是在之前那篇文章中提到的那个巨大的线程中,一位网友的一个观点:
对于无法用最确切的手段保证持续开发的开源项目要保持最低限度的信任,因为你不知道它们什么时候就会停止开发,而你大部分时候都无能为力。
那么小氯日后会用什么呢?或许是 Shiori,或许是 Wallabag,或许是 Hoarder,或许是 Linkwarden,或许是 Readeck,或许是 Obsidian Web Clipper,或许是别的什么优秀的开源项目。然而,这已经不是小氯当前要考虑的问题了。
我们当然可以就着各个话题写更多,再写写对开源的思考——但是,小氯已经有点累了。而且现在,小氯也没办法把自己纷乱的思绪组织成完整的文章。所以,Be easy on me, okay?
在口语课之后回来立即赶完了这篇文章,甚至在课上的 free share 中,小氯也在讲这件事。
说实话,小氯上面写的东西或许有点矫情的意思。如各位老友所见,小氯是一只情感有些迟钝的元素娘原子,因此实际的感觉可能远没有文章中暗示的那么强烈。
就这样吧,衷心希望这个标头不要有第二篇。
十觞亦不醉,感子故意长。
明日隔山岳,世事两茫茫。
Farewell to Omnivore。愿世间一直有你,愿世间不再有你。