前几天,我在 GitHub 上宣布了我的第一个真正意义上的开源项目暂停维护。项目的名称是 vscode-markdown-mindmap-preview
,是一个将 Markdown 转换为思维导图的 Visual Studio Code 插件。为什么说是暂停呢,或许有一天,当我浏览 GitHub 的仓库列表时,能想起这个项目,并有足够的时间、精力和能力接续维护她吧。
下面的内容也全文载于 GitHub 上。
说实话,这是我第一个真正意义上的开源项目。第一次完整的编写双语文档,第一次写一个完整的 Issue 模板,第一次有人给我提 PR,第一次在 V2EX 上做宣传,第一次有超过 50 个 Star …… 截至本文成文时,本项目已经获得了 2 个 fork 和 1455 个下载。这些都或多或少给我一些鼓舞,至少在大家给我提 Issue 的时候,我知道,大家正在使用我创造的东西。
不过显然,我已经低估了一个维护开源项目的成本。
即使不进行宣传、也没有资金支持,你需要去解决一些也许根本意想不到的问题、应对用户提出的新的要求,需要去编写文档和 ChangeLog,需要制定社区规范、统一代码风格,需要去 Review 别人的 Pull Request…… 这一切的一切,都是我在“写一个勉强够用的程序,然后把代码上传 GitHub 不管”的时候难以预期的。
更何况这个项目本身,不过是源于我的小小需求。在我编写这个项目的时候,我学习 VSCode 插件开发不过一天——确切的说,是三个小时。我甚至不曾将整个 VSCode 插件开发文档通读一遍。这也给我现在对这个项目的维护带来了一些麻烦。因为顺手,我直接引用了 markmap-lib 的第三方 JS 库来进行思维导图的渲染,这也使得在本插件上实现更多自定义的功能十分棘手。
不过说到底,这毕竟是我心中的第一个自己的开源项目啊。说停就停,多少有些不舍不甘。
前几日在重新搭建 Linux 服务器上的 VSCode 服务器,当我将熟悉的插件列表翻出来的时候,倏而发现许多插件都许久未有更新了。有的宣布停止了维护,也有的已有一载未有新代码的提交。当我看着这张列表时,不禁悲从中来,仿佛翻开一本旧相册,却发现许多老朋友都已物是人非了。我忽然意识到,诺大的开源世界,似乎仅有几个明星闪耀;尽管大教堂边的集市熙熙攘攘、车水马龙,有着数以万计的项目,但那些芸芸众生犹如过眼云烟,朝花夕逝。
并不是为我的不负责任开脱,只是一些感慨而已。不知是谁说过,“开源实际上一种慈善”。当我们还在为生计奔波时,依然能拿出一些东西,去贡献给整个人类社会,已经是一种奢侈了吧。当这种慈善成为一种负担的时候,或许有人想要离开,希望我们在那时仍能互相体谅。