「如果有一天,开源项目的开发者、维护者出现了意外,遗留的项目该何去何从?」
虽然这并不是一个新出现的话题,但是对于主流的文本/代码编辑器 vim 而言,却是当下迫切需要解决的问题。
8 月 5 日,vim 之父 bram moolenaar 的家人发布讣告:“我们怀着沉重的心情通知您,bram moolenaar 于 2023 年 8 月 3 日离世”,享年 62 岁。
一直以来,bram moolenaar 被称为 vim 项目的 bdfl(benevolent dictator for life,终身仁慈独裁者),管理着 vim 项目的各个方面,他的去世让无数使用过 vim 的用户感到痛心,这也是整个 vim 开发社区一个沉重的损失。
他的离开给项目留下了巨大的空白。对于 vim 的下一步,该如何走?在 github 上的 vim 项目 discussions 页面中(https://github.com/vim/vim/discussions/12736),有网友讨论:
这里有人有存储库的提交访问权限吗?
现在谁还能体现 vim 的品质呢?
就在昨日,在 vim_dev 邮件列表上,传来了 vim 项目未来的最新消息。
核心开发者接手,但困难重重
事实上,vim 主仓库除了 bram moolenaar 外一直还有两位重要开发者参与其中,其中一位是参与维护 vim 近 18 年的 christian brabandt,他目前是 ataccama 的解决方案顾问;另一位是参与维护 vim 也有十几年的 ken takata。
当前,在 vim_dev 邮件列表上,由 christian brabandt 牵头,发起了一个关于“vim 项目未来”的讨论。
幸运的是,christian brabandt 透露,他和 ken 已经从 bram 家人那里获得了 vim 在 github 上的管理权,可以继续访问 github 项目组织。
同时,他也邀请过去曾为 vim 做过贡献的开发者加入 vim 组织,协助一起维护项目。
然而,彼时 bram 作为终身仁慈独裁者,在该项目社区出现争议时拥有最终的决定权。现如今,其接任的开发者没有。
而且,bram 对 vim 项目的未来,有着自己独特的见解与规划。如今的接任者,由于缺乏相关经验,在没有指导的过程中临危受命,必然困难重重。
在这一点上,christian brabandt 也在邮件中袒露心声。其表示,虽然当前已经开始合并 commits, 但是仅是尝试合并 bug 修复、安全补丁和文档更新等其他明显的改进。
其次,在接手过程中,christian brabandt 也承认遇到了诸如管理权限等问题。他表示:
bram 是所有邮件列表的所有者。我还不知道他是如何管理这些邮件列表的,以及如何申请访问 vim-announce 和 vim-mac(这两个邮件列表是否仍在使用?)
邮件列表 vim-dev 和 vim-use 目前由我、tony mechelynk、john beckett、ben schmidt 和 ben fritz 管理(我认为后两位至少不再活跃于 vim 项目,请通知他们是否仍有兴趣管理该列表)。
我还无法访问主 vim ftp 服务器。目前正在与 brams 家人核实他们是否知道相关凭证。
我正在联系所有运行时文件的维护者,以了解他们是否直接向 bram 发送了任何文件,否则这些文件可能会丢失。
“在我们知道如何正确处理所有这些问题之前,我们需要一些时间(当我们都同意采用更好的方法时,可能会有所改变)”,christian brabandt 在邮件中写道。
vim 项目的几点规划
除了以上,christian brabandt 还在邮件列表中列出了几项内部亟需解决也是外界颇为关注的问题。
其一,vim 9.1 是否会到来?
对于这个问题,答案是 vim 9.1 会大概率地出现。
christian brabandt 表示,在我们处理完当前的积压工作后,我希望能发布 vim 9.1 维护版本。
当然在此之前,其打算继续发布一些关于补丁的版本。
其二,vim 与 neovim 未来如何共处?
在未来 vim 9.1 版本发布之后,christian brabandt 表示,想改用更现代的方法,即类似于 neovim 的做法来开发 vim。
不过,他也表示,「但正如在其他地方讨论过的,这可能会对不同的子项目产生一些影响:vim-win32-installer、vim-appimage、macvim,所以不确定什么是最好的方法。」
此话一出,有不少开发者直接提议,“希望 vim 团队能够与 neovim 团队沟通一下,最好是社区能够融合”。
所谓 neovim,是一个社区驱动的开源项目,是 vim 文本编辑器的一个分叉版本,它的构建使 vim 更容易为核心开发人员维护,它是 vim 文本编辑器的一个增强的开箱即用版本。
那么是否有这种可能性?
其实早几天前,neovim 团队在官方博客上发布了一篇悼念 bram moolenaar 的文章时,就间接地告诉了外界:不太可能。
neovim 团队写道:
“neovim 一直被有意定位为 vim 的衍生产品,这意味着它既延续了 vim,又与 vim 有所不同。我深信,分叉可以创造能量,而不是破坏能量。因此,尽管我们无法在没有 bram 的情况下提供 vim,但我们可以延续一些重要的部分:
维护:实验是好事,这个世界需要创造性的破坏和有趣的失败。但 neovim 并不代表贪新(neomania)。
文档:vim 文档的习惯显而易见,这也是 nvim 在 vim 基础上获得的最大收获之一。
可扩展性:bram 自己的 agide 项目也希望实现与 neovim 类似的可扩展性:
agide 并不是一个单一的应用程序。可以插入不同的工具。因此,你不会被迫使用一种编辑器。... 每个工具都实现了部分插件接口。
嵌入:vim 的设计--在其生命的大部分时间里都在宣扬 neovim 的这一信条:
vim 不是 shell,也不是操作系统。......反之亦然:在 shell 或 ide 中将 vim 作为组件使用。
还有一点:bram 并没有把自己看得太重。他有自己的幽默感。
neovim 是 vim 和 bram 的纪念碑。我们应该务实,而不是教条;我们应该记住目标是什么,并将我们的行动与结果进行比较。”
另外,也有知乎网友评论道:
与此同时,hn 上的不少网友也抵触道,”如果 vim 没有新功能,我不会关心。如果 vim 不再维护但仍然可以从发行版中获得,我仍然会使用它。如果 vim 变得不可用(例如由于缺乏维护),我更有可能切换到 nvi 而不是 neovim。“
不过,很多人认为,neovim 在未来可能会比 vim 发展得更强劲。
其三,vim 项目主页迁移与开源?
在主页近期经常不稳定的情况下,christian brabandt 也提出了自己的解决方案和想法。
他表示,「在过去的几个月中,vim 主页在稳定性方面遇到了一些问题,尤其是与 mysql 服务器的连接问题(我目前也无法直接访问 vim 项目页面,因为 osdn.net/projects/vim 对我来说似乎是关闭的,但我怀疑这个页面是否真的有人在使用)。它目前由 osdn.net 运营,由 shuji sado(前首席执行官)自 2018 年起提供。」
不幸的是,osdn.net 现在显然归 oschina 所有,他们目前还没有得到 osdn.net 或 oschina 团队的任何支持。所以,他也在考虑将 vim 主页转移到另一家提供商。
另一方面,过去,christian brabandt 曾与 bram 讨论过将主页开源的问题,由此可以接受大家的贡献,保持主页的更新,使其看起来更现代化。但那时 bram 并不希望这样做,他担心会泄露一些敏感信息(或使任何潜在问题更容易被发现)。
”这当然是有道理的,所以还不知道如何处理“,christian brabandt 说道。
在邮件列表中,对于 vim 的主要源代码,christian brabandt 希望在合并任何内容之前得到其他项目成员的批准。而面对遗留的一些问题,其希望能够在团队中商量着来。
开源作者去世后,项目谁来继承?
经历此番事件,也引发了我们在文章伊始提出的”开源作者去世后,项目谁来继承“的思考。
其实,未雨绸缪的思想在任何场景下都需要。有用户表示,”数字遗产是现代人必须要思考的事情,未来会发生什么事没人知道。“
当开源开发者去世或者出现意外时,通常会有以下几种可能性继续维持项目的发展:
社区继续维护:如果该开源项目有一个活跃的社区,那么其他贡献者可能会继续负责维护和更新代码。社区成员可以自愿地承担领导角色,接管项目的管理和维护工作。
团队接管:有时,开源项目的作者可能会提前计划,选择一些核心成员或团队来接管项目的维护权。
分叉项目:如果没有人愿意或能够继续维护项目,其他开发者可能会选择创建一个分叉项目,将原始项目的代码复制一份,并在此基础上进行维护和改进。
捐赠基金或组织:有时,可能会成立一个捐赠基金或组织,用于维护和支持该开源项目。资金可以用来雇佣开发者、进行代码审查以及确保项目的持续运作。
项目被放置不变:如果没有任何人愿意或能够继续维护项目,那么项目可能会被放置不变,直到有人再次愿意接手或者社区重新组织。
所以,让 vim 社区非常庆幸的是,虽然未来还存在巨大的挑战,但是好在有 christian brabandt 等开发者可以继承 bram 的遗志,把他耗费多年心血打造的 vim 工具继续传播延续下去。
亚马逊与沃尔玛争抢印度最大电商网站Flipkart
共模输入电阻怎么求?计算方法解析
步进电机基础知识:PM vs VR vs Hybrid
苹果iPhone SE Plus或将代替iPhone SE
评论:解读郭台铭为何痛恨三星
Vim之父去世后,Vim项目谁来接管?
限制出口!中国稀土、传感器等技术管制再调整
大国要崛起!光纤激光器核心原材料国有化加剧
分布式光纤测温技术简介及其应用
打开糖果店大门的钥匙,高通5G基带可升级构架扩展未来市场空间
用户可通过特斯拉的哨兵模式来远程监视汽车
魅族pro7什么时候上市?魅族pro7最新消息:让小米6拜服!魅族Pro7杀到:外观拍照完美
绘制时序图的4个软件分享
杭州伟峰电子连任利兹线领域独家赞助商
晶振的频率容差定义 振荡器稳定性的重要性 影响频率稳定性的因素
MH182高灵敏双极霍尔效应传感器概述及特点
揭秘物联网的先驱开源系统Contiki
高通是哪个国家的公司_高通老板是中国人吗
Zynq UltraScale+ MPSoC的自动驾驶平台MAX介绍
RAPID可能带来的性能提升的重要性