程序员删库跑路,开源开发者的出路在哪里

自己写的开源代码,有没有权利删除呢?

缘起faker.js

这几天,开源界又发生了一件大事,著名的faker.js被作者恶意注入了代码,如果使用新版的faker.js,会导致屏幕先输出三行“LIBERTY”,再无限输出奇怪的字母。

在这里插入图片描述

LIBERTY的意思是“自由”。

要理解faker.js的影响力,先要了解下这到底是个什么东西,为什么那么多大公司和个人开发者都在使用。

以往的前端开发时,往往需要依赖后端提供的数据,后端通过给一个接口和一堆数据,供前端调用。

这种方式就有个缺点,前端必须依赖后端。因此,faker.js出现了。

在这里插入图片描述

faker.js的用处就是制造大量的假数据,并且能够模拟一个restful接口,来供前端调用。

这些数据的类型五花八门,比如你可以一次性生成几万条个人信息,包括出生日期、家庭住址、电话,甚至照片等。

这就为前端的测试提供了非常便利的方法,众多公司都在使用faker.js。

但是意外终究还是发生了。

要么给钱,要么自己整吧!

这个在github上获得了32.3k标星的repo,完全由Marak一人完成,耗时十余年。

在2020年11月9日的时候,marak就发现包括Google在内的许多大公司都在使用faker.js,但是没有任何一家公司为他的工作付费。

于是,marak就在自己的代码库发了一条声明。

No more free work from Marak - Pay Me or Fork This。

(要么付钱,要么自己整吧。)

正文大意是我不想再被500强企业白嫖了,跟我签一个六位数的合同,或者自己维护。

在这里插入图片描述

然而,marak发现,他不光没收到酬劳。其中一家融资超过7500万美元的公司Retool,反而直接开发出和他功能相同的工具,而且完全免费对外开放。

自己单枪匹马,如何对抗Retool的整个开发团队呢,于是他给Retool的CEO写了封邮件,希望对方可以收购自己的Faker.js和相关服务。

笑话,已经有了免费的,怎么可能还要多花钱。

对方礼貌地回复“会慎重考虑”之后,就再也没有下文了。

哥删号不玩了!

marak发现自己接受不了这些大公司的白嫖,开始往自己的代码库里塞恶意代码,“你不让我好过,你也别想好过”。于是,就出现了上面说的乱码。

现在,marak已经把自己整个代码库给删掉了,并在最后一次代码提交时写上了“ENDGAME(游戏结束)”。这件事似乎也就以marak放弃维护faker.js为结束。

在这里插入图片描述

面对这件事,一部分人同情marak被白嫖,辛苦开发毫无收入,另一部分人觉得既然选择了开源就自然要接受被白嫖,而且无论如何往里面注入恶意代码绝对是不对的。

开源利于开发,但获利多数归于大公司

实际上,尽管开源促进了整个开发界的繁荣,但是真正获利众多的还是大公司。

以marak为例,如果他最开始不选择开源,那么很明显,不会有这么多公司和个人愿意付费使用他的服务,因为这本来就是一个能花时间重新造的轮子,只是marak完成了这个轮子,其他人也就没必要重新造了。

而marak选择的开源协议是MIT,这几乎是对商用最友好的协议了:

公司可以免费复制、修改、分发marak的代码。

公司可以选择不开源,而且商用。理论上,可以改都不改直接拿别人代码出去卖。

公司可以在宣传产品时可以利用marak的名气,比如可以说我这个是升级版的faker.js。

那么假设marak不选择MIT协议,选择强制开源的GPL协议呢?

GPL协议具有“开源传染性”,简单来说就是如果你使用了GPL协议的代码,那么你必须也把自己的代码改成GPL协议并且开源出去。

最有意思的是,理论上,尽管你的代码是对外公开的,你仍然可以卖你的软件。

使用GPL协议依然会造成上面说的问题,许多公司不敢用了,用了你的代码,我还咋卖我的软件?

不过,即使大公司用了他的代码,仍然可以用很多方法来避开这个风险,比如:拖着。

在这里插入图片描述

2015年,小米公司被指出违反了GPL协议,其使用了GPL协议的代码,但拒绝公开自己的代码,后来遭发现后,宣布未来会公开,但这个未来就一直没来。

逻辑就是“我肯定会开源,你等着吧。”

除了拖着,大公司还可以选择延迟版本。

比如我用了你的代码做开发,我们内部的版本已经开发到了3.0,但我只放出去1.0的代码,这也是没问题的。

总之,很多情况下,大公司都能从开源协议中挖到对他们更有利的规则。

基本上,个人是很难跟公司抗衡的,大不了到最后,我就不用你的代码了,我直接自己开发,反正你的代码都是公开的,我找几个人抄一抄、改一改就是了。

开源开发者的出路在哪里

但是我个人认为,作为开源开发者,marak的做法确实是有些过了。

我们在看待问题的时候总是要站在弱者的角度,似乎大公司就是恶龙。

在这里插入图片描述

在一定程度上确实是恶龙,因此我们才要保护好自己的权益。

但是既然一开始选择了开源,除了接受开源带来的名气提升、技术提升等好处,也必须接受被白嫖的事实。

这件事的逻辑就是,你选择了免费开源你的代码,那你就不可能再从你的代码中获得直接利益。
一件事,总不能好处都占了,坏处都丢了。

最重要的是,作为单枪匹马的个人,究竟该如何利用开源,为自己带来实在的收益呢?

与其盼着大公司发善心给捐款,不如想想如何利用自己的技术能力或者名气来为自己谋得一份高薪工作,或者写书卖书办讲座等等,想办法获取间接利益。

这可以参考vue.js的作者,活的很滋润。当然,这也得益于我们中国人的危机意识。

赌气没有用,那对自己完全没有任何好处,大公司也不会多看你一眼。

无论如何,理智选择,才是真正的为自己考虑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值