百科问答小站 logo
百科问答小站 font logo



如何看待faker.js 开源作者删除了所有的代码? 第2页

        

user avatar   liumiou 网友的相关建议: 
      

代码是删不掉的,删掉的是代码仓库。删库后的fork版本已上线,包含直到2021年10月19日的commit。开源的好处就是,有价值的东西缺了谁都能活。

怎么评价删库举动?开源界的心态崩了,报复社会。值得同情的是他的遭遇,而这并不能换来对他报复行为的理解。

作为一个热门项目的负责人,删库的行为是极其不负责任的。“作者自己的项目作者有权随意处置”?代码大部分是他写的,但是issue和PR可并不是他一个人的。这些信息是代码之外最重要的财富,一波带走,哪怕不对用户负责,有问问贡献者的意见吗?实在想抗争,不想维护,Archive成只读不行吗?

作者的名声是毁了,他也不在乎,但开源的事业是不会停下的。这件事唯二的好处是,1.让适合维护的人继续维护,2.让其他人在选择开源许可证时能更慎重一些,别人云亦云MIT,不光你没法集成更严格授权的项目,被白嫖了更是一点办法都没有。

顺便纠正很多人的一个误区:把源码给你看叫Source Available,不叫Open Source。Open Source要符合OSI的定义,第5条和第6条明确表示不能歧视个人/团体以及使用目的。也就是说,不能限制Google使用,或者谁用它来盈利。想限制,可以,别叫开源。


user avatar   97littleleaf11 网友的相关建议: 
      

这个问题的节奏被提问者带偏了,营造一股作者因火灾而无家可归、最后气不打一处删库跑路的氛围。这导致整个问题一开始充斥着各种同情怪和对开源大放厥词的回答。

一句话总结我的观点:必须要谴责这种删库行为、更要谴责往热门项目恶意引入bug的行为。

批评删库行为,不等于否认贡献,相关论述请看“反对高赞回答”部分;对线请拉到最后)

首先,有几点相关信息需要补充:

  1. Marak的房子是因为他自己玩爆炸物给搞炸的[1]。如果不是消防队到场及时,“整栋楼都可能被炸飞”[1]。同情他无家可归的可以省省了,你同情他,谁同情他的邻居啊?
  2. 早在前年爆炸事件之后,就有很多人给他捐款了,感谢他的开源贡献。
  3. 他清空源码后还在npm上更新了一个“empty version”。这是很不负责的行为。
  4. 现在原仓库就留下一句话“What really happened with Aaron Swartz?”。到底是真的因为“Aaron Swartz”事件还是行为艺术我暂且蒙在鼓里。
  5. 更新:他在另一个项目colors.js中主动增加了一个死循环,并在npm上更新了这个版本。成千上万依赖于此的项目收到了牵连。这就好比一群人各自做菜,互相分享,有人说我的鸡汤免费可以随便喝,大伙儿本来喝着好好的,你突然往碗里吐了口痰,这不是纯粹恶心人?
  6. reddit上有人扒了Marak的劣迹往事[2], "did this shit again".
It was like 10 years ago, when node was part of Joyent. He was one of maintainers (IIRC, i could be wrong), and was kicked out for not correct behavior. He maintained quite popular library called hook.io. So what he did? Right, removed hook.iofrom everywhere and rest users in void.

关于这个问题的回答

这个问题底下最有价值的回答应当是 @刘米藕

作为一个热门项目的负责人,删库的行为是极其不负责任的。“作者自己的项目作者有权随意处置”?代码大部分是他写的,但是issue和PR可并不是他一个人的。这些信息是代码之外最重要的财富,一波带走,哪怕不对用户负责,有问问贡献者的意见吗?实在想抗争,不想维护,Archive成只读不行吗?

没有人否认Marak的贡献,同样没有任何人逼他更新逼他维护,不想写不写就是了。Marak本人在20年声明自己不再做免费劳动之后,底下几百人给他捐款。除此之外,过去一年还有其他社区贡献者帮忙更新,他们有收钱吗?你说删就删了?其他人的付出就不是付出了?恶意引入bug,浪费了多少开发者debug的时间?其他人的时间就不是时间了?对大公司有恶意,何必开AOE坑普通人?当一个开源项目成为热门项目之后,就应当被视为人类共同的知识财富,而不能任由一人肆意妄为,哪怕他是原作者。

现在还有一帮义务劳动者在持续维护faker.js,顺便处理Marak删库留下的烂摊子[3]。赞助渠道一直在,有想法的可以主动一点。


反对高赞回答

部分反对 @以撒 的高赞回答中的观点,颇有自己画靶子自己打的行为:

想把话题转开,或者把矛头都指向删库的作者,无非就是担心影响了现在的“白嫖环境”。

批评删库行为,不等于否认贡献。这话有什么因果关系吗?难道批评他的人都是为了“白嫖”?他搞个大新闻,扰乱了秩序;远不至于影响到开源环境大趋势。无论如何,必须要对这种破坏共识的行为持负面态度。

关于白嫖下一章有具体描述。

更新:我最初只想对事不对人,在看到Marak这么多“青史留名”的“事迹”之后,我对他本人也逐渐持负面态度。在家做炸药、删库、对普通用户搞自杀式袭击,很难让人对他有好感。必须再强调一下,就算对他本人持负面态度,也不等于否认他曾经做过的开源贡献。

那些所谓的开源贡献者,将自己的成果开源后,你还真当人家一点不在意所有权了?早年魔兽RPG流行的时候,一张图改来改去,最早的原创者是谁可能都搞不清楚,但每一个参与修改的人,往往都会在自己的地图上打上“此为正版,其他都为盗版”,即使是把别人的东西修改后都要彰显所有权,更何况真正的原创?

从来没有人想要剥夺他的所有权,相反,绝大多数开源贡献者很尊重他的工作。哪怕是现在,faker-js主要维护者还坚持要保留他的名字和Funding声明[4]

世界上但凡有点知名度的开源项目,都是有算是官方意义上的所有人或者维护人的,作为主导,这都是潜规则,从来没有开源就是没有主人一说,没有主导人,谁来管?真靠所谓的“所有参与者”?

这道理谁都明白。当提到“需要考虑其他参与者和贡献者”时,并没有否认Marak是主导人,而是希望尊重所有人的工作。难道他作为项目最初创作者和主导人,删库、恶意引入bug的行为就不能批判了?

说直白点,你去和尤雨溪说,尤雨溪,VUE和你没关系,是我们大家的,你不要自作多情当自己是VUE的主人哦,你看对方想不想打你?而且实际上我印象里尤大佬曾经就表示过其他人对VUE指手画脚的反感。

faker.js本身是对应生态位的产物,Ruby有,Perl有,没有Marak写也有会其他什么人写。我们赞美他的贡献,但不代表他就是高高在上、不可替代的英雄了。不要拿尤大的Vue来做比较,Marak不配。

不要让乐于奉献者寒心

真正乐于奉献者,也会不齿这种行为。


为什么不需要反白嫖

说点题外话。有很多人基于朴素的价值观,认为白嫖别人的工作的是不对的,因此看到我批评Marak之后就潜意识地认为我是臭不要脸的白嫖者。我觉得必须要“纠正”这种认知。

让开源社区可持续发展有很多路子,改进协议、规范商业使用、扩大赞助等,而去抨击广大的“白嫖”用户并没有什么道理。理想情况下,人人各有奉献、各取所需以实现生产力的极大丰富。一个项目的贡献者和使用者不成比例,是再正常不过的事情了。为了提高效率,人人都有需要“白嫖”别人的时候,难道所有人都是白嫖者?

白嫖是参与的第一步。然后提出bug、甚至修改bug、乃至添加功能、创建新项目,成为整个社区的生产者。

绝大多数的源码并没有深奥到普通人难以理解,代价只是花费时间的多少。个人的时间是有限的,再厉害的程序员也只能集中精力于几个项目,无法做到事必躬亲。而在开源社区的加持下,只要付出个人的劳动时间,就能实现百人的生产力。

你或许会问,生产得远不如消费多,那还是白嫖者。这个理解是错误的。打个现实的比方,路不是你修的、车不是你自己动手造的、这背后涉及到无数前人的科学知识、工程实践和你有什么关系,不还是在“白嫖”吗?除了少数天才,几乎所有人的劳动价值,都抵不上实际的“消费”。在细节上抠付费,正如想精算每条路每个人的使用成本,是完全不切实际的。

如果有人觉得开源这个生态不健康,那应该去鼓励生产,让更多的人参与开源,而不是抑制消费。不要否认这个生态中任何一个人的作用。

"白嫖"是共识,而删库不是。尤其是当一个项目涉及到许多参与者和使用者之后,由不得个人肆意妄为。有很多热门项目的最初创建者已经不再维护代码,增加新功能了,他们没有选择删库。如果赞同个人对这种热门项目有自由处置权,那整个开源社区的共识都会瓦解,结果一定是更差的。

从这个角度思考,你或许也会批判Marak这种个人主义的、任性的行为。


对线专用:警惕反开源怪

很多人出于浅显的认知,常常会脱口而出保守的、封闭的、本质上反开源的观点。

人家自己的code爱怎么折腾怎么折腾
自己的项目还不能删,打钱了还是捐款了???

都是热门项目了,怎么能是“人家自己的code”?faker.js的贡献者至少二百多位(因Marak删库有些PR的commit记录被算在他的账号上了,所以实际贡献者可能不止);colors.js的贡献者44位,Marak本人的贡献[5]也就1/3,他搞自杀式袭击之前有问过其他贡献者吗?现在还不是DABH在帮他擦屁股[6]。上万个项目依赖于此,每周成千上万次下载,你觉得无所谓,那是房子没塌你头上。

想赚钱一开始就不要做开源项目。大家都是凭着信任和共享的精神,避免重复造轮子,才互相支持的。如果一开始就明说随时要删库跑路、还会往分发版本里面引入恶意代码,有谁敢用?

你不用不就不影响了
别人求着你用了?别人收你钱了?

开源项目影响之广、关系之深,不是你一句“不用”就能甩清关系的。faker.js和colos.js也要依赖其他开源项目啊,难道这是你想不用就能不用、想脱钩就能脱的?此外,绝大多数开发者在对待公众项目时,可能犯错误,但不会像Marak这样搞自杀式袭击。

他自己就是社区 其他人只是爬上面吸血的寄生虫而已。

“其他人只是爬上面吸血的寄生虫”,说这话的人是在用这个词形容自己吗?我可不敢这么评论用户。明明每个人都在享受开源带来的生产力效率提升(包括Marak自己),到你这成了“吸血”了。

所有人在使用开源的时候就应该考虑风险,不想要风险,大公司有本事直接买断不就好了?人不是逼急了,至于这样?

正常开发者出于朴素的情感,会考虑中间出bug的风险,可没考虑恶意使坏的风险,所以才有几百人来帮忙修bug、加feature。如果处处设防,这个社会的运行成本会极速增加。“人不是逼急了,至于这样?”人逼急了就可以乱来?

真荒唐啊,居然有人觉得破坏共识、扰乱秩序的行为批评不得,那其他不求回报、认真对待项目的开源贡献者会怎么想?

参考

  1. ^ a b https://nypost.com/2020/09/16/resident-of-nyc-home-with-suspected-bomb-making-materials-charged/
  2. ^ https://www.reddit.com/r/javascript/comments/rwdu3h/comment/hrbt58z/?utm_source=share&utm_medium=web2x&context=3
  3. ^ https://github.com/faker-js/faker
  4. ^ https://github.com/faker-js/faker/issues/43#issuecomment-1008438771
  5. ^ 仅仅按照commit次数计算。如果按照实际代码贡献,Marak也不会过半。
  6. ^ https://github.com/Marak/colors.js/issues/317

user avatar   qi-yue-chen-58 网友的相关建议: 
      

确实很难理解,faker.js 开源作者免费维护项目数十年,拥有上万star,上亿次下载使用。


而世界500强们却好意思白嫖,假设每家公司每年仅支出1/10的人力成本。相信faker.js也不至于删库。


而faker.js作者的行为本身,也带来非常严重的后果,比如前段时间log4j爆出严重bug,还好可以及时修复。但是如果作者删库了呢?社区将再次分裂,大量的代码将停留在删库前的阶段,部分项目可以依靠程序猿手动修复,但对企业而言,浪费人力成本却更大。


有人说,faker.js 删库的行为,对作者影响很大?但是,你想过没,假设redis,vue等知名的个人主导的开源项目,也删库跑路怎么办?每个厂商要维护一套自己的框架库?同时耗费大量的人力物力,却做着同样的事?


同样,企业维护的开源项目就靠谱了?java几度卖身,现在还能免费使用都得感谢资本手下留情。某一天甲骨文不在盈利,怕是又得几度颠沛流离。


有些人,也是有意思,开口闭口,谈开源精神。但是真的很抱歉,丰衣足食之后确实会享受开源带来的认同感,但一场大火也足以让人为了生存而呐喊。


user avatar   zhi-ye-zi-xun-shi-jacky 网友的相关建议: 
      

上万次star,上亿次下载,不知道这个成果比起在自媒体领域积累100万粉丝哪个更难。感觉做顶尖程序员也比不上一般的网红赚的多。技术大神来源自己的产出,网红UP主免费发布自己的作品。同样是将劳动成果免费分享,网红吸引足够多的粉丝还能通过接广告变现,而程序员则缺乏获得相应物质回报的激励。还有,企业可以白嫖开源技术,但是要是未经允许侵权网红的作品那就麻烦大了。尽管程序软件和文化艺术作品都具备克服时间空间的限制,0成本复制,一次产出就能服务无数用户的特性。但是后者更容易变现更容易赚钱。


user avatar   yu-hua-xia-65 网友的相关建议: 
      

wait...這個地方不是割讓給蘇聯了嗎?現在屬於俄羅斯啊。

說話確實硬氣,一般來說俄羅斯也不會去打芬蘭,但是上趕著當小醜這不好吧...

還有,蘇芬戰爭主力不是烏克蘭人?

不會忘了和蘇聯簽的協議內容了吧?主動撕毀協議,美國也不會當你是正常人啊...要是俄羅斯先背刺也就算了,主動搞事情是瘋了?就不能悶聲發大財?

當領導人不用學歷史和地理?


user avatar   zhi-mai-li-zhu-ln 网友的相关建议: 
      

当地居民就偷着乐去吧!


user avatar   morgancheng 网友的相关建议: 
      

当地居民就偷着乐去吧!


user avatar   tao-yun-93 网友的相关建议: 
      

当地居民就偷着乐去吧!


user avatar   mao-tou-ying-84-48 网友的相关建议: 
      

我努力工作,年收入突破百万。我楼下小卖部老板眼红了。

他说他每天7点开店,晚上10点关店,工作时间比我长,收入却比我低,这不公平。为此,他甚至发展出了一套小卖部老板人权理论,要求将卖给我的可乐从一瓶2块钱涨到100块钱。

他说之前他受太多委屈了,等他觉得委屈弥补回来了,他会把价钱降到一瓶4块钱的。但想像原来一样2块钱一瓶那是永远不可能的。

我默默想了一下,走多一百米,用2块钱在另一家店买了一瓶可乐。

这件事被小卖部老板知道了,他生气了,他跑去骂另一家小卖部老板,骂他不尊重小卖部老板人权理论,并且在我家楼下贴大字报隐晦地骂我。

你说我为啥讨厌他?

我不只讨厌他,我甚至想报警呢。可惜警察说这事他们管不了。

……

这件事还有后续。

后来,小卖部老板人权组织找到了我,跟我说我楼下的小卖部老板的小卖部老板人权理论不是正宗的,他们才是正宗的。

我说,那你们的是怎么样的?

他们说,我们卖3块。


user avatar   ysaraz74 网友的相关建议: 
      

我记得那是高中时一次午饭,我和我兄弟胖哥在校门外一家餐馆吃炒饭,就在我们快要吃完的时候。

从里间传来一个黄毛的声音,好像是在骂面里有死蟑螂,嚷嚷着要赔钱。餐馆老板看起来已经五十多岁了,走路都有些跛,一边说不好意思一边希望黄毛小声点别打扰到其他客人。

但是黄毛越劝越得劲儿,嚷嚷着不赔个两万块就要打电话叫人来砸店,一家小面馆儿哪来这么多钱,老板看劝不动就坐在一边苦着脸抽烟。

没过一会儿,黄毛还真叫了一车人过来,手里拿着家伙。其他客人一看不对劲儿赶忙就跑了。

我一瞅胖哥,他一边吃着面一边打量着来人,看他吃得这么安心,我也跟着心安理得继续吃。

当时真特么心大!

带头的人经过胖哥时愣了一下(胖哥老爸是道上大佬级别那种,估计被认出来了。)但带头的人也没留下来寒暄,径直朝黄毛走去。

黄毛跟带头的耳语了几句后,带头的就提着钢管向背对着他们坐的老板走去。

当老板转身的一刹那,就听到钢管落地的声音,以及一声 爸?

老子和胖哥差点没把面吐出来

后来才知道,餐馆老板是那个带头人的爸,带头人离家出走到了我们这个城市,他爸得到消息就来找他,结果找了很久都没找到,就索性在我们这儿开了个面馆,说是 见不到儿子,在儿子在的城市也好。


每每回想起这事,我都不禁夹着烟,望着浑浊的灯光,泪流满面,或许这就是亲情吧。




        

相关话题

  在asp.net mvc的视图文件(.cshtml)中引用外部文件? 
  如何看待杭州女程序员发文称遭裁员后被「栽赃」工作失职,公司提起仲裁要求赔偿百万元? 
  维护一个大型开源项目是怎样的体验? 
  刷完算法导论和leetcode,能找到什么水平的工作? 
  为什么 Java 总被黑? 
  程序员做到什么程度才不会被算作 API caller? 
  这个号称「微软的面试题」,该如何解答? 
  如何用一段简单的代码讲述一个悲伤的故事? 
  软件外包价格如何计算? 
  linux 在终端打开程序后关闭终端,程序也跟着关闭了怎么办? 

前一个讨论
95 后夫妻因马桶存在缺陷卫生间中毒死亡,家属向房东索赔约 99 万,如何用法律解读?装修应注意什么?
下一个讨论
有哪些你只能匿名说出来的秘密?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利