前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从知名开源框架Facker.js作者怒删代码谈起,个人该以什么心态做开源?

从知名开源框架Facker.js作者怒删代码谈起,个人该以什么心态做开源?

作者头像
御剑
发布2022-03-09 14:02:15
7600
发布2022-03-09 14:02:15
举报
文章被收录于专栏:微言码道

杂谈:谈一些个人的并且非常不成熟的想法

今天看到一个非常有意思的事,Node.js中一个流行的Mock数据开源框架Facker.js的开发者自己清空了自己在Github上的代码。

Facker.js非常流行,下载量也非常高,但这个没能帮助开发者摆脱经济上的困境。并且一个叫Retools的公司,使用了这个开源框架并开发了云产品,也就是白嫖了。

最终作者发现自己无法以个人之力同一个公司抗衡,一怒之下清空了自己的代码。

所以,我就在想一个事情:

个人开发者在维护着一个开源的东西时,应该具备什么样的心态呢?

一)

要知道开源并不赚钱

这其实是显而易见的。没太听说过什么开源东西直接和赚钱挂上钩的。

不要说Facker.js这种个人级别的。类似MySQL这样众所周知,基本上所有公司都在用的,应用这么广的开源产品,最终的宿命是被Oracle收购,而不是依靠它赚到钱了。

对吧,如果MySQL自己能赚到钱,那也不至于沦落到被Oracle收购的地步。

所以,如果你想做一个开源,好好问自己,你的目标是什么,是兴趣爱好好玩,还是它只是个方式,你是想通过开源的方式赚取到钱,如果你想通过开源的方式赚钱,这个就有点脱离实际了。

虽然开源不赚钱,但它也许能在另外的层面能给你带来价值,比如你的知名度,影响力等,这些也是有价值的回报了。当然,这并不是一定的,只是有这种可能。

二)

学会享受孤独,可能不会得到有价值的回报

不管你的东西多好,多么棒,多么节省成本。那些使用的个人,团队或公司,大多数情况下,除了心情好可能给你一个赞以外,并不会有任何其它回报给你的。

不要期望有谁会每月资助你多少钱,甚至你能依靠它不用工作了。

所以,摆正心态与期望。某种程度上说,你得学会享受孤独。

还有一个重要的点是,不要过度做无谓的支持。

什么叫过度无谓的支持,就是我们都知道,如果别人用你的东西,肯定会有不明白的,不清楚的,想寻求你的帮助。

那我建议走正规途径,什么叫正规途径,就是在github上提ISSUE,这叫正规途径。

有些做开源的,非常担心别人不认可自己的东西,对别人的寻求帮助有求必应,有问必答,无微不致。

认为这种完全没有必要。非常浪费自己的时间。

你有见Spring开发团队的开发者成天在和使用者在沟通交流,帮助使用者解决实际的Spring遇到的问题么?开源不是这么搞的,这么搞,会累死自己的。

所以,优质的文档是开源作者必不可少的能力之一。

当然,别人在issue上提的问题,你就需要用心对待。如果是BUG,你就得修改。

三)

选择正确的开源协议

开源协议有挺多种,如果你觉得你写的东西是很NB的,未来可能有商业价值,那你就不要使用宽松的开源协议,类似Apache和MIT这两个都是宽松的开源协议,也就是别人可以无偿的复用你的代码,在这个基础上发布商业的产品。

考虑使用AGPL类似这种有严格限制的开源协议,这样能较好的保障你的利益。

Facker.js就是基于MIT协议开源的,那Retool公司就能无偿使用你的代码并在法律上是合法的。如果当初他使用的是AGPL,就没有被公司白嫖的事发生了。

我个人建议,如果是类库或基础框架一类的,就不要介意别人白嫖了。如果本身已经具备某种产品形态的东西,那就不要使用宽松的开源协议。使用AGPL这种更合适。

比如我的myddd这样的,属于基础框架一类,爱嫖不嫖,考虑到技术人员也有文人相轻的一些特点,我想大多数情况下,别人还不愿意嫖你这玩意。所以妥妥的MIT不用担心。

四)

不要为开源而开源,为它找到价值

开源很流行,这可能会使你蠢蠢欲动。

但我不建议为了开源而开源,而是为你想做的东西找到它有的价值先。在满足了它该有的价值的前提下,再想着借用开源的方式,让更多的人受益。

比如我自己整理的myddd开源基础框架(https://myddd.org),它本身是我自己这么多年编码的一个整理,这个玩意最重要的是我自用。是我自己的项目或团队会去用这个框架。

在这个基础价值之上,我才开源出来。还给它搞了个官网,整理了一些文档。以期望帮助更多的人。

但它只是个顺带的事,不管别人用或不用,觉得好或不好,最基础的,它对我自己有价值。

所以,当你想做一个开源的东西时,先看下不开源的情况下,它的价值在哪。如果不开源就没价值,那就不要为开源而开源。

五)

兴趣+有限的时间投入是持续的前提

这个世界上的事情分为两种回报类型,一种是短期的能见到回报的类型,一种是可能很长时间都可能无法有回报的类型。

开源更多的就是属于后一种。

前一种还好办,即时的回报能刺激你不断的去做。后一种就有点麻烦,所以,对于后一种,我认为有两点是至关重要的。

1.它是你喜欢做的,想做的,是爱好2.只花费极其有限的时间去做这件事

一旦做到这二点,你才有可能长时间的坚持下去。而只有长时间的坚持下去,未来才有可能有所收获。

举例说来,我做微言码道就是这样,第一这是我想做的,第二我每周只写一篇文章而已,平均花费1小时左右。这样就很容易坚持下来。

说实话,相比每周4-5次晨跑,这个压根不算个事。

END

于我而已,只要还在做技术,就会坚持不放弃的做微言码道与myddd,孤独并没有什么可怕的,如果你学会享受它,甚至你会喜欢上它。

做有价值的事,才能令人生无憾!

向每一个认真坚持做开源的个人开发者致敬。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微言码道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一)
  • 二)
  • 三)
  • 四)
  • 五)
  • END
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档