分类
评论型文章

回答知乎问题:如何看待faker.js 开源作者删除了所有的代码?

本文为知乎问题回答,原文:
如何看待faker.js 开源作者删除了所有的代码? – zahet的回答 – 知乎 https://www.zhihu.com/question/510180628/answer/2449158085

作为一个在开源社区混迹了多年的开源项目owner,即时是非常理性的我也非常能够理解faker.js开源作者的感受,也能够体会到他的心境。已有的一些答案普遍是从faker.js作者和第三方舆论的角度进行分析。我想从我的视角谈谈当前国内外开源贡献者面临的问题及其可能的根源,以及当前我们做开源的真正目的是什么。

1. ASRT语音识别开源项目情况如何?

我主要的开源项目是ASRT语音识别系统,GitHub上仓库地址是:https://github.com/nl8590687/ASRT_SpeechRecognition ,截至当前本文发布的时间点,已经有5.3k的Star量和1.6k的Fork量。

ASRT语音识别项目GitHub仓库Star趋势图

可能有些人会问,这么多star给我能带来多少经济收益?答案是几乎可以忽略不计。

我在文档处提供了打赏页面,虽然不时也会有一些打赏,不过时间上非常随机且基本都是小额打赏。当然这也实属正常,既不可能要求大家都打赏也不可能要求有很多大额打赏,更不可能要求付费订阅一般地定期打赏。开源的出现不是为了让人们通过这种模式收获经济利益的,不然它跟其他商业模式有什么区别。

同样,我写技术博客文章,写微信公众号也是如此,对于绝大多数人来说,如果不是知名大V、写出爆款文章或接商业广告,纯粹依靠打赏收入生活,那会饿死。所以这一类工作只能作为自己主业以外在闲暇时的兴趣爱好,想活命就得靠能让自己吃上饭的主业,也就是一份正式的工作。

2. 统计数据分析开源用户群体行为

可以给大家看以下几个统计数据(全部为匿名收集,不精确到个人):

2.1 访客来源分析

国家和地区访客量百分比
中国大陆58%
美国10.2%
中国台湾9.6%
中国香港6.8%
日本4.3%

首先这组统计数据可以说明我的访客来源群体的多样性,涵盖了多个国家和地区,能够较好地代表国内外用户的一些普遍特征。

2.2 项目官网页面浏览分析

这是统计到的关于开源的ASRT语音识别项目的相关网站页面访问情况。大家甚至都不愿意点一下“打赏页面”,百分比都几乎是0了,好像点一下页面就会被扣费似的。这也说明几乎所有使用开源项目的人几乎就没有为其付费的准备。

大部分人的行为路径基本上就是,找到了开源项目,试一试 Demo,看一眼文档,然后就去下载用了,很多人甚至连如何安装配置的教程都一字不看,打赏就更别提了。

2.3 访客活跃时间分析

这组统计数据可以以一周作为周期看出访客活动时间的普遍分布规律。从对访客的访问时间分析来看,较多的人遵守着严格的朝9晚5且双休的工作制,这是非常典型的企业型作息时间,而大学的学生(本科、硕士和博士)很多是接近007型的科研作息时间,或者不固定时间的科研作息时间。因此相当多的人属于企业级白嫖党,而学生级的白嫖党是可以理解的,毕竟这个群体普遍没钱,研究生导师发的钱可能还不够吃饭,甚至有的导师都不发钱。

可以看出来的是,即使是有足够的经济能力打赏一下(哪怕打赏一分钱)的群体,也普遍不会去实施打赏行为。一种原因分析是,这也许是因为普遍报有“打工”心态,可能是认为“工作是给老板、给公司做的,不是给自己做的“,因此一分钱也不打算从自己的腰包里掏。另外,也有“强盗逻辑”和“资本追求最大化利益”的因素作祟,即“只要存在能以最低经济成本获利的途径,绝不花费更多的成本去做”,“自己研发不如买,自己买不如抄,自己抄不如白嫖”。举个例子就是,即使是B站上的“投币”、“一键三连”这种毫无经济成本的行为,也不是所有人都会去点吧。这既是人性的恶,也是资本逐利的恶。

3. 开源的真正目的是什么

开源社区虽然兴起于国外,但是在国内也不应当落下,因此国内也先后涌现出了不少知名的活跃开源项目和作者。开源社区是一个理想的国度,是一个乌托邦,但人们是生活在现实的,这个理想地必然会受现实社会的影响,这是不可避免的。虽然开源的终极奥义“人人为我,我为人人”是一个崇高的理想,即“人人都可以免费获取自己想要的开源软件产品,人人都可以为开源软件产品做贡献”,但它在当前的现实社会中,仍然有其接地气的存在,有不少软件有需要开源的现实因素。

3.1 通过开源自证清白

众所周知,在我们的计算机上安装一款软件时,我们很多人心里都会有一个疑问:这款软件安全吗?例如远程桌面控制软件,VPN软件,以及黑客工具和安全工具等。这类软件的特点是用户对于使用他们是否安全存在疑问,我们会担心远程桌面软件随意控制我们的计算机,担心VPN软件恶意路由和监听我们的网络流量,担心黑客工具反过来黑了我们自己或植入了后门,担心加密解密软件从数学和算法原理上存在可以被利用的漏洞和后门而我们却不知道……

因此,这类软件可以充分利用开源平台自证清白,开放源代码供大家审阅,通过这种方式来消除大家心中的疑问。

3.2 通过开源展示能力和积累声望

在我们开源一个项目后,他人可以通过源代码评判出作者的技术能力,这种能力可以为自己或团体带来声望。不论是个人开发者,还是企业团队,大量的开源贡献可以展示实例,为自己积累声望,营造社会影响力。

近年来,在开源社区中有大量来自国内外大厂的代码贡献,例如谷歌、微软、华为、阿里和腾讯等。尤其是提到技术人人必先提到的谷歌,是企业开源榜单的第一名,有着大量我们众所周知的重大开源软件,例如Android操作系统、Chromium浏览器内核、TensorFlow深度学习框架、gRPC网络框架、Go语言、Kubernetes容器编排服务、ProtoBuf协议、Gson包等。这样的企业,能不赫赫有名吗?

当然,做开源不仅仅只是自己做一个开源项目,也可以是给已有的优秀开源项目贡献代码,而给已有项目贡献代码甚至是比自己开源一个项目更为重要的。

3.3 通过开源保护知识产权

一方面,对于企业来讲,开源项目不会因为核心人员离开某个公司而消失,导致知识断层,产生该项目的知识产权在法律上的归属问题。另外,离职人员仍然可以继续以开源开发者身份继续贡献项目,他的贡献也是有目共睹的,也可以避免他的代码贡献被抹杀以致产生知识产权法律归属问题。这一切全都是公平、公开和透明的。

3.4 通过开源建立软件生态

不用说,Android系统以及更久远的Linux系统生于开源,也得利于开源,占领了大量操作系统市场份额。通过大量的市场份额占有,基于他们的操作系统的软件生态也变得十分丰富,形成正向反馈、良性循环,赢者通吃。这就是华为的鸿蒙系统为什么要开源的一个重要因素。

TensorFlow和PyTorch等深度学习框架也是如此,先来先得,让后来的李沐开源的MxNet框架难以占领市场发扬光大,国内的百度PaddlePaddle和华为的MindSpore框架也面临这类的问题。

与之异曲同工是Windows系统,虽然它是闭源的,但由于官方对免费盗版系统泛滥的置之不理,也起到了为自己建立软件生态,打击竞争对手的作用。其实这一套相当多的企业都玩的很好,前期利用免费或优惠霸占市场份额,后期一家独大后再肆意收割。

3.5 通过开源达成某种商业模式

这一类目的从本质上来说不符合开源精神,因为他们是有限度的开源,部分开源,而且往往做的非常巧妙。相当多的国内外企业的软件存在社区版、专业版、企业版等不同的版本,即使他们号称“开源”。

例如某开源产品,开源版可以免费使用,但功能有限,并存在若干使用限制,如果需要使用更多功能,需要购买付费版本。甚至如果是企业在使用,不论如何都必须购买企业版的付费版本。当大量的用户习惯了使用社区版免费产品后,当打算使用更多功能,或进入到企业中,就不得不购买付费版本了。

另外,通过发布免费的开源版本可以杀死潜在的竞争对手。如果一旦有竞品入局,它首先必须做的比当前开源版本还要好才行,而一旦竞品开始需要付费,就可以被免费开源版杀死,导致竞争对手难以盈利,从而使得自己一家独大,形成不是垄断的垄断。

3.6 通过开源打破技术封锁和制裁

众所周知,科学无国界,技术无国界,但技术人员有自己的祖国。近若干年来的一系列世界热点新闻,咱们多多少少都会了解到一些。且不论政治立场和谁对谁错,开源可以最大限度绕开政治因素的影响,即使某个开源代码平台都开始参与制裁了,那至少还可以换用另一家开源代码平台不是吗?而且免费开放共享的代码,无论如何封锁和制裁,都是有足够的方法可以获得一份代码副本的。即使不参与贡献提交代码,至少也可以获取到已有代码。基于这一点,开源可以打破技术封锁和制裁。

从另一个方面来说,如果某些企业拥有高科技,垄断技术,独享源代码,那么开源也是打破技术垄断和壁垒的一个重要方式。俗话说,三个臭皮匠顶个诸葛亮,每个人贡献一点开源代码,通过组织开源做出来的替代产品,往往也不会比原版产品差的太多,至少可以用,如果运气好甚至可以超过原版产品。操作系统中的Linux和Unix,科学计算中的Octave和MatLab等就是例子。

4. 如何正确看待这一件事?

faker.js作者这样做虽然看起来有些极端,但是也无可厚非,开源软件也是自由的,原作者想删就删嘛,当然代价就是损失了他的声望,只要他愿意就行。这件事本质上是该开源项目作者想要通过开源项目工作获利的需求,同大众普遍想免费白嫖他的工作而不付出经济成本的观念与习惯之间的矛盾。

该作者可能一开始就没想好他自己做开源的目的,同样很多人其实也是,可能稀里糊涂的就开源了,然后稀里糊涂的这个项目就火了,最后被几乎所有人白嫖。不论是开源作者,还是我们普通大众,首先要摆正心态,秉持一个正确的价值观来看待这些事情。开源是作者的权力,不是他的义务。白嫖是使用者的行为,不是他们的权利。

作为一个做了一些开源项目的作者,想给大家提个醒,对于即将打算做开源的人,建议先想好为什么要做开源,对于正在使用某个开源项目的人来说,请尊重开源作者和工作成果,遵守开源协议。如果有打赏通道,在你觉得项目有帮助的情况下,有能力的话多多少少支持一下,这对你我都好。如果在使用某个开源项目过程中有改进的建议或需求,可以尝试主动去参与贡献一些代码,而不是仅仅在Issues里面“提需求”或“提缺陷”。大家一起来让项目变得更好用,而不是用最后一颗稻草压死骆驼。

最让开源作者心寒的不是单纯的没有经济收益,而是大家不但都免费拿走源代码去用,改改更好用了拿去赚钱,却既不打赏,让作者得到经济收益,又不把修改后的代码反哺给原开源项目,让项目能够得到长期的发展,有新的需求或软件出现缺陷了才想到联系开源作者提供支持(还不一定付费),找工作时又不能够确保自己简历筛选和面试包过或者拿到高薪(参考推特上某作者发文说被一道谷歌面试题刷掉),又不像视频主播网红那样还能拥有上千万狂热粉丝,开源作者因此不再维护并删了代码库还可能要成为众矢之的(虽然删库跑路有些不道德,但是问题根源不在此)。

版权声明
本博客的文章除特别说明外均为原创,本人版权所有。欢迎转载,转载请注明作者及来源链接,谢谢。
本文地址: https://blog.ailemon.net/2022/04/20/reply-zhihu-question-fakerjs-author-delete-code-incident/
All articles are under Attribution-NonCommercial-ShareAlike 4.0

关注“AI柠檬博客”微信公众号,及时获取你最需要的干货。


“回答知乎问题:如何看待faker.js 开源作者删除了所有的代码?”上的4条回复

开源要从更高维度看, 如果为了商业, 那开源不一定是最好的选择.

我觉得开源成把软件行业的重用性和开发效率推到了其它行业难以达到的水平。程序员自学成才的资源和条件也是其它行业难以相比的。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

3 − 1 =

如果您是第一次在本站发布评论,内容将在博主审核后显示,请耐心等待