关于 BaseWeb 宣布停更给我带来的思考

一个有影响力的开源项目停更了,我想了很多。

2023-12-23

50 次浏览

引子

今天按照惯例,准备更新一下 Ktap 项目的库依赖至最新版本,同时顺便上官网去看看我心心念念的 BaseWeb 有没有更新,毕竟它已经半年没有更新了,上次更新也是经历了大半年。

本来,我没有抱多大的希望,但是上去一看,居然更新了,我有点迫不及待,然后顺便看了一下他们最新的 Blog。坏消息,他们不想更新这个项目了。并且,我更新了他们提供的最新版本,并编译之后,发现居然有了更多的 warn,而这些 warn 提示我他们采用了更多古老过时的组件,再加上他们关闭了 Issues 通道。看来,他们是要开始摆烂了。

BaseWeb是什么

BaseWeb 是一个基于 ReactJS 的 UI 组件库,是由 Uber 公司开发并开源的。其他类似的组件有很多,例如 AntDesign ,还有 MUI 等等。这些组件极大的方便了我们构建基于 ReactJS 的应用,以及基于这些组件构建自己的个性需求和组件。

那么有什么影响

关注我的朋友们也都知道,我的 KTap 项目的前端部分是基于 BaseWeb 构建的。当初选择 BaseWeb 有两个原因,第一是黑白风格就是我想要的风格,第二组件看起来更加社区风一些,贴近 KTap 的主题。为此我放弃了几个非常不错的候选,例如 MUIChakra UI

到今天为止,我的 KTap 持续更新了差不多快 1 年了,所以也完成了丰富的自制组件和界面,全部基于 BaseWeb ,甚至是它采用的 CSS-in-JS 方案 Styletron,我本来想选择更出名的 emotion

所以,简单来说,我的前端被 BaseWeb 深度绑定了,但是伴随着它的停更,如果我想继续做 KTap ,我需要更换我整个前端的方案,例如将 UI 切换为 NextUI,或者是我现在正在开发的 KForum 中使用的 TailwindCSS 并加上 shadcn 的方案。

那么,来看看当前的 BaseWeb 都有哪些数据,版本是 v14.0.0,也就是经过了 14 个大的迭代。 8.5K 的 Stars,也就是说很多人在使用它,以及 200+ 的贡献者,真的很多人在开发,按照 NextUI 只有 102 的贡献者就有 20K+的项目使用来说,BaseWeb 再差也至少有上千的项目在使用。 而它的停更,也意味着很多项目都面临着更换 UI 基座。

这可不是一个简单的工作。所幸,我这个项目是个开源项目,并且也还没有什么人在使用。并且我也很乐意去尝试一些新东西。但是,对于已经商业的项目来说,可能替换新的 UI 也意味着增加了额外的成本。

一些感触

这让我陷入了一些思考,毕竟,它已经不是一个小开源项目了,不是一个人或者几个人在玩的东西了。它已经有了社会属性,是一个社会组织了。穷则独善其身,达则兼济天下,一个有影响力的项目无形中,也是事实上已经担负了很多的责任。但是,它又于我们的直观思维相悖,我都免费让你们用了,为什么我还要为你们负责。

作为一个正在贡献开源项目的个人来说,这有点让我的烧脑。但,不管怎样,开源是能够给社会带来进步的,因为知识共享,所以更多的人得到了成长。它是好的,那么积极拥抱它的人就应该得到激励,所以,对于每个热衷开源贡献的人来说,都应该或者说不得不去思考商业化的问题。

我在做 KForum 的时候,受到了几个开源 NextJS 项目的 Inspire ,例如 umamical以及Formbricks等等,他们全部都开源了,但是也提供商业服务。这非常棒,因为持续的盈利必然会激励开源贡献者去贡献更多的内容。

因此,我不得不重新思考 KTap、KForum 以及未来的各种 K* 项目,应该有一个怎样的激励机制和商业模式,既可以解决项目本身的可持续发展的问题,也可以解决项目的良性发展问题。

最后

不管如何,感谢 BaseWeb ,我选择的第一个 ReactJS UI 库,给了我很多启发,让我学到了很多。最后,虽然停更了,但也因此带给了我关于开源更多的思考。再见,🫡 BaseWeb。