前言
先附上 rubick
相关生态:
不知道各位小伙伴有没有用过 utools
,这是一款桌面端效率工具,不过是商业化的。rubick
则是一个纯正的社区开源的基于 electron
的桌面端工具箱。不得不说,rubick
的交互形式是由很多地方参考了 utools
的设计,但是技术实现原理和方案却是完全不一样的。
这里简单聊聊维护开源项目的心得和感悟吧。
rubick 的相关数据
rubick
从社区开源到现在已经有 2 年多了,从 v1.x
开始到现在的 v 3.x
,大大小小迭代了快 100
个版本,提交了 500+
的 commit,解决了 110+
的 issue
。目前有 14
位Contributors
在持续维护。
rubick
仓库每天平均有 700+ pv / 100+ uv
另外,除了主仓库的访问,一些自媒体也会有一些主动推文:
太牛了,开源免费的效率神器,又是一款付费软件代替品!(1.5w+ 阅读)
快卸载付费软件吧,这款开源免费,贼好用!(2.8w+ 阅读)
开发历程
其实做 Rubick 1.x
的初衷就是解决自己的问题的:特别需要一款支持自定义插件的桌面端应用来简化使用者安装庞大桌面端应用的臃肿。而且涉及到数据安全的问题,插件只能在公司内网贡献,无法对外公开。然后我就在社区上寻找符合我诉求的开源产品,但是一直没找到,所以就萌发了自己去做一款开源的工具箱的想法。
刚开始开源的时候,我自己买了服务器和 oss 服务器来做 rubick 的数据管理和插件存储。但是服务器这个东西还是太费钱,所以在 Rubick 2.0
的阶段,重新设计了一套基于 npm
的插件管理体系,把所有插件托管到 npm 上,这样就不需要 oss 服务器了。另外,rubick 所需要的插件列表数据等等都托管在 gitcode
上做 raw
方式请求。
所以 rubick
可以算的上是无服务器的纯客户端工具,另外代码完全开源,使用者可以放心大胆的用,用户的所有数据 rubick
都不会存储到云端,因为没钱~
关于开源
其实做开源这件事完全是靠自己的兴趣和爱好,从 21 年 5 月开始开源到现在,中间我放弃了快 1 年没有更新 rubick
了。主要是投入开源比较费时间,每天打开 issue
都会看到一堆需要解决的问题,想想就头大。期间我相关招募一些社区开源爱好者一起来维护 rubick
这样在我 "大姨夫" 期间可以让 rubick
持续迭代,但是还是比较难的。
记得有一次我发了条朋友圈:
有意愿的也就 3-4 个,但正真贡献代码的是 0 个,还是没有成功...
最后
开源这个事情,本身就不是以盈利为目的的,开源给我带来了很多东西,认识了很多志同道合的小伙伴,也服务了很多开发者。金钱之外,带来最多的就是作为程序员的成就感了,因为我也可以说我是一个拥有 5K+ star 项目的作者,这是一份无法用钱衡量的成就感。
如果你也对 rubick
感兴趣,真心希望可以加入我们一起为开源做贡献(继续画饼~)