关注科技圈的差友,前段时间应该听过这么一个事情。
开源项目faker.js 和 color.js的开发者Marak,一夜之间清空了所有项目,并塞进一些恶意代码。C114讯北京时间1月4日下午消息台湾大哥大(TaiwanMobile)与台湾之星(TaiwanStarTelecom)同意合并业务,这将创造出台湾最大的电信运营商,拥有980万用户和100MHz的5GHz频谱。
虽说 Marak 名声不大,但这两项目可是在开源界极其火爆。
Faker.js 可以帮开发者生成伪数据,Color.js 可以帮助网页着色它俩在 NPM上每周下载量加一起近乎 2700 万
所以 Marak 这通操作,让很多用户突然无法工作,引起了不小的混乱。用户应用输出乱码▼
当然,Marak 这么做可不是因为中午多喝了 2 杯。
而是作品一直被各大公司白嫖的同时,经济上还遇到了困难,心里不平衡引发的。
这故事里细节还挺多的,差评君简单给大家讲讲。
2020 年 10 月,Marak 发推特说它的公寓失火,家当都烧没了希望大家走过路过,多少意思一下
但看这寥寥无几的转发和点赞数,我估摸他是没收到多少钱。
接着,他又从小道消息得知,不少大公司都在大量使用他的项目。
换做是谁,可能心里都有点不爽。
于是 Marak 就发了一个通告说,不想搞免费了。
你们这些白嫖怪要么给个 6 位数的合同,要么 Fork一份代码自己研究去。
可是,理他的人并不多。
后来为了生存,他基于 Faker.js 做了一个网页版的应用 Faker Cloud。
但没多久他发现别的公司也开发了一款类似的,服务正是基于 Faker.js,于是他向那个公司发邮件,问要不收购 Faker Cloud 算了。
但是对方只是敷衍了一下,没有再回应。
最后,这个拥有顶级开源项目的老哥,由于一穷,二赚不到钱,三总被白嫖,选择了删库
关于这件事,网友观点也不太一致。
有人说他不守规则:你都开源了,别人再怎么白嫖你,也是按规矩来的。
但也有很多的人认为 为众人抱薪者,不可使其冻毙于风雪 。
意思就是这些开发者是为大家提供便利,在他们遇到困难时,那些白嫖他们成果的公司,理应提供点支持。
不知道各位差友怎么看,差评君先就事论事:老哥删库可以,但他想法不对,推送恶意代码更不对另外那些公司白嫖 Faker.js 在法律上没啥毛病
看到这可能有的差友急了,你这是公开支持白嫖怪当然不是,看看文章结尾的点赞和在看,你就知道差评君向来不鼓励大家白嫖
在解释观点之前,大伙儿不妨先认识一下开源这个玩意。
为了更好的理解,我们把代码比喻成菜谱。
你擅长做一个菜,并为此写下一份菜谱。
开源呢,就是你把这份菜谱公开出来,用的原材料和配方,别人都能看到,也能复制一份。
当然,别人也可以根据自己口味,在你的菜谱上做点改动。
这就是开源。
但通常来讲,为了维护开源社区,代码不被滥用,大家开源时还会加一份开源协议。
大大小小的开源协议有上百个,非常复杂目前主流的有:MIT,GPL,BSD,Apache
它们主要区别就是,别人修改代码后是否可以闭源,是否要遵循同样的开源协议。。
图源阮一峰博客▼
比如你选了 GPL 协议,那别人改动你的菜谱之后,他也要公开出来,不能藏着掖着。
但如果你选了宽松点的 MIT 协议,别人改动菜谱后就无需公开,还能把它作为 秘方 ,开个排档赚点钱啥的删库这件事中的老哥 Marak,选的是 MIT 协议
这个协议里可没规定别的公司不能用 Faker.js 赚钱,也没规定使用 Faker.js 后要付钱给 Marak。
所以人家白嫖,在法律上,确实是没啥毛病那为什么说 Marak 想法不对呢
首先啊,一个项目开源了,相当于给别人提供了自己的结晶,方便了大家。
第二,项目开源后,参与的人自然变多了那大家一起改善优化,技术也会进步得快
所以,开源本质是给大家提供便利,促进技术发展。
但 Marak 呢他选择了 MIT 协议,就理应做好会被别人 白嫖 的准备却因别人用他项目赚钱,自己没赚到钱,一怒之下删库甚至放入恶意代码
这,恐怕有点违背了开源精神吧如果每个开源维护者都像 Marak 这样,不全乱套了么Marak真想赚钱,其实办法挺多的
就凭这 2 个火爆的开源项目,我想他不难找到一份好工作吧。
或者,他也可以像 Redhat一样,提供免费版产品,当用户遇到技术问题,再提供付费支持。
要实在不行,就想躺平,也可以和之前一样,每个平台都放上赞助码只不过人家帮你是情分,不帮是本分
当然了,差评君写这篇文章并不是要背刺一下 Marak,而是因为这件事映射出了开源界的现状:
绝大多数开发者们和 Marak 一样,在开源项目上几乎就没啥回报美国有一家公司叫 Tidelift,他们的产品可以帮别人管理开源项目,所以平时会和大量优秀的开发者打交道
去年,他们做了一份《 开源维护者现状调查 》报告,有 400 人参与了调查调查发现,46% 的开源维护者在开源项目里赚不到 1 分钱
我们假设 1 万美元可以供一个人吃住行 1 年,那只有13%的开发者能达标。
也就是说,10 个开发者中,仅有 1 个人能靠开源生活真实情况可能更惨
差评君写文章时采访了一个 7 年程序员同学,他说开源是好的,利于互联网发展但当我问到他,开源就是用爱发电吗,如何赚钱呢他说:我不太懂其中的商业模式
事实上,大部分开发者和他一样他们没有商业思维,开源时就没太考虑要怎么赚钱关于开源带给自己的物质利益,他们能想到的,除了是把它作为个人简历,好找一份得当的工作,最多也就是放上一个收款码赚点零花钱
他们想法都很纯粹,就是要促进技术发展当然,大家都是普通人,谁会不爱钱呢如果开源能多赚点钱,那肯定开心
但,赚不到钱,他们也不会怎么样当初选择开源,就已经决定用爱发电了,该更新的还会更新,该修补的漏洞还会去修补
前段时间 log4J2 漏洞事件大家都知道吧出事之后,有人追责甩锅,有人担心漏洞影响,却很少有人关心 log4J2 的维护者
说出来你不信,Log4J2 这么大一个开源项目,只有 3,4 个程序员在业余时间来管理和维护曝出漏洞后,他们第一时间就在努力修复,他们有问别人要过回报么
虽然吃力不讨好,但他们依然坚持着这样的事情,这样的开源维护者,还有很多很多我知道,我们没有赞助他们的义务,但差评君还是希望,大家可以在力所能及的地方,多给给这些人一些关注和支持
他们把工具和知识分享出来,为别人带来便利,也加快了技术进步他们为互联网发展带来了很大的贡献,他们在做一件非常有意义的事
如果真要问,是什么让他们选择开源,是什么让他们坚持下来也许 Tidelift 上的投票会给你答案
71% 的开发者选择了 Making a positive impact on the worldmdash,mdash,为世界创造积极的影响
。