Nodejs faker.js 作者删除了所有的代码

发布于 1周前 作者 yibo5220 来自 nodejs/Nestjs

Nodejs faker.js 作者删除了所有的代码

作为一个著名的 nodejs 工具库,faker.js 的作者删除了所有的代码。仓库地址: https://github.com/Marak/faker.js

101 回复

npm 上的旧版本没删

好家伙,隐藏然后改名了原来的 repo 然后创建了一个新的同名的,这样连找 fork 都不好找了

colors.js 也是他创建的

在抗议 Aaron Swartz 的死因?克林顿警告 XD

So what really happened with Aaron Swartz?

好家伙, 周下载 100 万, 真跑路了, 最新版本 6.6.6, 属实是 666 了

之前还抗议过大公司用他的库,但不付出报酬

我觉得作者 License 选错了。对于大公司免费使用开源项目这件事,从道德层面上谴责是行不通的,只能在 License 上用法律进行约束。

好像 2020 年 10 月一场大火烧了他的全部家当吧。

让那些白嫖的大型商业公司头疼一阵也没什么不好的

Aaron Swartz 的死有什么新说法吗?

开源实际上就是放弃一些权利,要求别人遵循 License 使用,自己也得遵循 License ,这是开源社区的基本规则。

很多人兴冲冲开源自己的项目都是 MIT 一把梭,真的问题很大。GNU 的律师肝出那么长的条款不是没有道理的。

多好的一个项目 哎

选择开源和 MIT 授权,就要做好被白嫖的准备,这点不管从道德还是法律都没毛病。选择 MIT ,然后大公司用了又心里不平衡,这种心态才是有问题的。人家赞助那是自觉,不赞助也没有错

有没有带捐助义务的代码许可 不管叫不叫开源

也不能谴责作者 ,作者公寓失火。一无所有 。后台创建的 faker cloud 被大公司无脑抄袭 。心态崩了

mit 许可证大公司白嫖没有人任何道德或者法律问题。作者心态自己崩了。。

支持他的行动,他值得这么做。
但对他的心态和信息技术上的遭遇只能表示同情,结果也是他自己造成的。

软件工程从来就不是技术主导的,没有先来后到一说,你先来不意味着你能吃最多的蛋糕。
开源许可的逻辑回路很明确,作者通过放弃一些作为作者的权益来获得相对更高的关注度,并要求使用者也要遵守。

使用相对宽松的许可,那就要承担起被白嫖的心理波动和嫉妒心。

同情。
有没有好的开源协议科普文章。

但是为什么他不改协议呢,改了的话也许就可以防止大公司使用了

保留的早期协议的版本的还是可以用的

让我想起来一句台词
"好人就该被用枪指着? "

说得现实一些:这些项目之所以能火起来,很大一个原因就是免费和 License ;如果要付费,那大公司大概率不会选择这个项目,这个项目火热的程度和关注度也不会有现在这么高。做开源项目的各位最开始就要做好心理预期,不然会越做越难受。

很同情他的遭遇。

MIT 在法律上的容忍度很大,但是作者的容忍度没那么。选错了 license ,无法通过法律制约其他人。

说这个没有法律问题是对的,至于说这个没有道德问题的,大概道德标准和普通人不一样。在我看来,为众人抱薪者,不可使其冻毙于风雪,这应该是一个道德底线。从各种相关新闻来看,这也不是我一个人的道德标准

MIT 协议的,是可以切换其它协议的。话说,我开源也是默认 MIT 协议的。。。

用他的代码就算了,抄袭 faker cloud 就过分了

抄就抄吧,连 CDN 都用 faker cloud 的就更过分。

所谓开源,其实就是新时代的免费智力众包,只是所有开源工作者(包括我自己)都不愿意承认这个残酷的事实

至于开源的心态,要么佛系躺平纯粹为了人类进步用爱发电,要么就闭源自娱自乐

Linus Torvalds: 你们不要让我不开心,否则…

同情,但是大公司和用他的库的人也没有什么好谴责的。

这些东西,本来就是因为开源 license 才能有那么多用户,既然选择 MIT ,用户就按 MIT 行事就行了。毕竟这种非产品核心库属于“我也可以写,但是我现在不想花时间写”,你还要道德绑架我?一怒之下证明自己,自己搞一个了。

Torvalds 大叔才不怕呢,人家 GPLv2 ,任谁都得乖乖共享补丁。Faker.js 要是直接 AGPL 了,Retool 才不敢直接抄呢。(当然了,倘若 Faker.js 当初就是 AGPL ,会不会有现在的流行度又是另一回事了。)

看到知乎回答里有人说将 MIT 换成 apache 2.0 会好些?
我不理解…

更残酷的事实是:如果你一开始就把自己的项目以 GPL 协议开源,那可能很多人根本就不会去用。

如果不想让商业公司闭源使用那建议以后项目都 AGPL

s/很多人 /闭源商业公司 /

越发感觉开源也挺难的

#28 搞反了因果。他是因为使用了宽松的开源许可,所以才成为了“为众人抱薪者”。他当初决定使用宽松的许可,必然有利益方面的考量。这是利益的趋势,不是高尚的品德。

自己扔的废品( MIT 许可只要求著作权声明和衍生品的 MIT 许可),就别看别人捡废品换钱眼红。想法可以理解,但也是自作自受。

虽然帖子里面大家都在说 GPL ,但是 GPL 对于 Retool 这样的提供云服务提供方来说一样没有约束力。GPL 是云服务时代之前的授权许可,只规定了代码分发时候需要开源,但是云服务是给客户提供服务的,并不存在代码分发

开源是个算不清的账

开源一个作品前谁知道会被这么广泛运用?还不能删?还要接受一群不相识的人的冷嘲热讽?这才是大病

开源商业化有点难,在中国的话有几个开发者尊重开源项目的吗?

他的能力,按理说是衣食无忧的

开源项目,除非加入一些 hosted 的增值项目,不然活得是真的不咋地。caddy 的作者也要到处找赞助商。苹果还让用户直接联系 curl 的开源作者。

#44
1 、你在虚空打靶,我什么时候说他不能删了?请看我#21 的回复。

2 、这不是冷嘲热讽,这是现实。我同情他的遭遇,我也能理解他的想法,但一切的始作俑者都是他自己。他自己选择宽松的许可来扩大化他代码的受众和影响力,那就要接受使用者对他代码的榨取。我还是要强调,这是他出于利益的决策。

3 、“开源一个作品前谁知道会被这么广泛运用?”这完全就是个伪命题。这也体现出来你,包括作者,压根就对“开源”和“开源社区”没有基本的概念,也不尊重开源社区的运行法则,更不懂得其中的利弊和重要性。感觉好像“开源”是趋势,很酷,所以我就做了。那你就必然为你的轻蔑付出代价。

我更还没说,他直接删掉代码,那些之前帮助 debug 和热心提供和并请求的人的功劳怎么算?你是作者,但整个“开源社区”也是作者。

endgame

“就别看别人捡废品换钱眼红。想法可以理解,但也是自作自受。” 拉倒吧你。开源项目有多少是始于兴趣,慢慢做大了,发现丢也不合适,继续全身心投入收入又少得可怜。 玩透开源项目的只有那些白嫖的大公司吧,不明白就搜 ”苹果还让用户直接联系 curl 的开源作者。“

自作自受还不叫冷嘲热讽。 你似乎对作者和参与者搞不明白。自然会有人搞一个新的 repo,或者直接在他的作品上直接改。但这不妨碍作为 repo 所有者清空 repo. 你这叫白嫖又要道德绑架。 你知道认清别人有删的权力, 后面那些你对他怎么怎么样的推理可以省去。

人是有承受底线的,理中客请拾起道德

#51 作者当然可以删,他有删的权利,我也有评价他做法的权利。这并不冲突。
至于说你第一自然段陈述的“开源项目有多少是始于兴趣”,这不就是典型的轻蔑看待开源社区么?压根就对开源社区不尊重。
既然知道“开源”是大公司的套路,为何还要投身于“开源”,还用最宽松的许可?这不就是典型的既要又要么?最后导致心理不平衡而掀桌。

#51 而且你如果阅读了楼上的这个信息:“隐藏然后改名了原来的 repo 然后创建了一个新的同名的,这样连找 fork 都不好找了”,就会发现他是在有意的破坏开源社区的秩序(阻止你搜索 fork ),并不光是“删除仓库”那么简单。

你可以搜一个词,叫诛心。你这样诛心别人,别人是不是也可以诛心你,你这么评论,是不是必然有利益方面的考量?

#55
1 、到底什么是诛心。当你做了一个确实有利益的事儿的时候,别人说你会获利这叫诛心?
2 、我当然有利益方面的考量,我在 v 站发帖就是在输出我的想法和内容,我喜欢讨论和思考,这使我快乐。v 站不能删贴。我可以为我所有在 v 站发地帖付法律责任。我也不会隐藏任何我的主题和回复。

你哪来的权力去评价别人删除自己作品的做法? 因为你白嫖了别人的作品,然后就成为了 stakeholder ,然后就获得说三道四的权力? 你这种一会“我懂他的眼红”, 一会又“既然开源就要明白开源的后果”,一会又“ 最后导致心理不平衡而掀桌”, 谁给你的道德高地?你为什么不去问问作者生活是否遇到了什么苦难?

即使他因为狗狗拉了粑粑在地毯上而干了这事,也轮不到你在这里 jjyy ,大谈你对开源社区的理解吧?!你只是个键盘侠,是一个连谷歌 faker.js replacement 都嫌麻烦的键盘侠

不然你以为名声是怎么挣来的?

#57 ok ,没理了之后开始打人性牌+扣帽子了。

1 、我尊重开源社区。
2 、v 站账号是我注册的,我有密码,所以我怎么评论是我的权利。
3 、我在#21 楼的回复刻意强调了“信息技术”这个领域。就是因为我知道他的遭遇。但这并不代表他就有不被谴责破坏开源社区规则的特权。

一部分人总是不懂得就事论事。

在商业公司面前,开源作者就像 19 世纪的英国工人,自由出卖自己的劳动力,自由到一无所有。

#57 请问哪里可以考或者申请:网络评论资格认证?
是 2022 年开始,说话都需要先被批准了么?这是哪里的新规这么高级,我孤陋寡闻了。
“哪来的权力”,“屁民,谁给你的权力”,这种说话语气,只在报道贪官的文章中见过,不过后来他们都被抓进去了。

拜托了。 “开源社区”是一群像作者这种人贡献自己作品而搭出来的,你我最多算是受惠者。但是你拿着”开源社区“精神和“开源社区规则”,道德绑架,是真的 low.






你这类行为本身就是开源社区的原罪之一, 叫“作者啊, 你可别停止奉献了,我还在用呢”

从你的描述就能看出你根本看不懂开源社区的基石,也就是契约精神。

正是因为开源社区的主题是贡献,是无私,所以才凸显契约精神的重要性。

许可不光限制的是别人,限制的也是自己。
当契约精神在开源社区中被摧毁,那么开源社区也将不复存在。


至于你的第二段,就是在简单的试图扣帽子和污名化。

1 、停止贡献不等于删库+给搜索 fork 增加阻碍。这是典型的避重就轻式偷换概念。
2 、正是因为我是开源社区的受惠者,他的行为会给开源社区带来不利影响,我才会如此评价。
3 、签署 mit 许可的不是别人,是作者。没人逼他分享。

哈哈,语言专家来了。也不对。是语言砖家

说白了。还是还是妨碍到你免费和畅快地用别人的成果了。

责任和收益要对等,要求别人贡献和无私就是大病。 别回了。浪费这时间,你可以自己无私地贡献点什么,别要求别人无私地贡献。


纪念一下 faker.js
===========================================
js<br>for (let i = 0; i &lt; rootNodesNumber; i++) {<br> let node = {}<br> const id = faker.datatype.uuid()<br> //ensure there is at least one folder in root<br> if (i === indexToBeFolder) {<br> node['children'] = genChildren(0, id, id)<br> node['name'] = faker.random.alpha(3)<br> node['type'] = 'folder'<br> } else if (Math.random() &gt;= isFolderRate) {<br> node['name'] = faker.random.alpha(3) + '.' + faker.random.alpha(3)<br> node['type'] = 'file'<br> } else {<br> node['children'] = genChildren(0, id, id)<br> node['name'] = faker.random.alpha(3)<br> node['type'] = 'folder'<br> }<br> node['id'] = id<br> node['parent'] = id<br> node['intermediate'] = 'root'<br> node['level'] = 0<br> tree.push(node)<br> }<br>
============================================

捡柴的都是冻死之后才会重视


1 、没人逼作者免费。
2 、我没有“要求”作者无私,而是作者靠无私聚拢人气然后后悔。

讨论问题不能因果颠倒。

靠颠倒因果,混淆视听,贴标签污名化,甚至单方面宣布胜利来试图说服对方,着实不是很高明。

不可否认这确实是一种辩论技巧,但手法太过拙劣未免适得其反,自取其辱。

大公司当然可以实用他的代码, 没毛病, 他也有权利删库跑路, 也没毛病.

比如设计一种开源税?因为好的开源软件几乎每个人都直接间接使用,那么应该是一种公共事务?可是这个方法只能在清明的政府实施。
等等,这个可能政府也是一个很大的问题,效率上,还有很多其他问题。
而且如果开源项目普遍有资金的支持,是不是对起步状态的项目的个人作者的打击?或者门槛更高了?
如果获得资金有一种标准,那么会不会有人开始作弊?或者项目为了生存,去迎合那个标准?
或者说有外力的强力支援,也意味外力的强力介入,这个对于项目是不是有利,又是一个问题。

等等,或者开源的收入小本身不是问题,例如直接的金钱对于穷人不足以解决问题,还有可能带来依赖。

至于协议,它有增加收入吗?它只是限制他人的使用。

或者说这种个人项目不稳定?不过个人本来就是这样的,个人生活是可能遭到巨变,哪怕你是一个好人,你做了一个开源项目,你依旧可能遭到盗窃,火灾,那么这是开源的问题吗?开源作者是不是不应该受到这些遭遇?

好吧,问题变成了,一个好人是不是应该免于不幸?
问题更复杂了,如何定义一个好人?开源项目有多少 star 吗?利用政府的力量?这不是和收税差不多吗?
这是神都做不到的事吧?或者好人不再不幸的世界,一定是一个扭曲的世界。

也许同情和感谢才更实际一些。

<iframe src="https://www.youtube.com/embed/d15DP5zqnYE" class="embedded_video" allowfullscreen="" type="text/html" id="ytplayer" frameborder="0"></iframe>

原来有的开源写着许可“免费和畅快地用别人的成果”,其实“别要求别人无私地贡献”。
这真 open 啊

衷心地祝愿 Marak 老哥早日走出阴霾。

协议是改不了的,除非他从不接受别人的 PR ,所有代码都是自己的。 否则上哪联系所有贡献代码的人并且说服全部人同意该协议。

等他恢复公开的时候,星标也都会清零了

换 License 不就行了?为什么不做呢?

有技术直接写个虚拟币相关的项目 如果有机构能看上 到时发币直接自由

选的 License 不对而已

现在评论要看风向,如果反风向,要先预测各种杠,然后写一大堆防杠声明,不然别人把水搅浑很容易,你要把浑水恢复成清水就很累了。

很难不相信 kop1989 没有利益相关… 赞同 楼上老哥这句话 “大公司当然可以实用他的代码, 没毛病, 他也有权利删库跑路, 也没毛病.”

开源还有相关的代码贡献者的利益和权限问题应该有个虚拟币 DAO 来管理一下就好啦。

#79
确实比较辛苦,而且一般这种情况对方的干货也不多,逻辑也不强。更多的是恶意解读和诡辩技巧。

但是我还挺喜欢讨论的过程,自己单方面的表达毕竟是有限的,通过碰撞更能够清楚的阐述自己的内容和观点。也能借机锻炼自己的逻辑能力。

毕竟理越变越明,谁先观点站不住脚从而心理破防口不择言,我觉得有耐心和理解能力的人是能分辨清楚的。


#80 我当然利益相关。
1 、讨论和输出内容让我快乐。
2 、我是开源生态的受益者,我不能容忍有人来试图靠绑架人性与道德的方式摧毁它。

kop1989 这个人在很多帖子下见过很多次了,别跟他吵,他就喜欢站在道德制高点上宏大叙事

#83

开始转扒坟了。
真是“搞不定问题,就搞定提出问题的人”。

1 、v 站不能删贴,我可以为我在 v 站的所有言论负法律责任。
2 、有的人说我不道德,你又说我在“道德制高点”,要不你们先打一架?
3 、你不想发表观点是你的自由,但把别人发表的观点的热情曲解和污名化,就是你的问题了。
4 、知识面相对广也是原罪?

白嫖党横行的日子

超多一定时间 一定下载次数 npm 不允许强制删除

#84
你被我标红了,所以你的回复都特别显眼,看看每次讨论有多少人反对你可以反思下自己的思路是否合适。
结合楼上的发言,你的意思是开源作者被商业恶心到了,删库跑路不玩了,这一行径是在破坏开源社区?对其他贡献者的不负责?
一方面用契约精神绑架开源项目所有者,但作恶的明明却是商业公司,结果你还要说这样删库对开源社区建设有害,有害的到底是开源作者还是商业公司?

你这心态不错,大多数人只讲立场。理越辨越明是没错,但他的适用范围是两个有相似背景(或者说相似价值观)的人。两个人背景相差太大,一个人总可能会被另一个人气死。所以我不愿意去跟一个跟自己价值观太大的人争辩,这不仅浪费时间毫无意义,而且改变不了任何东西,更不会让这个世界变得更美好。

你说的这些谁不知道?删自己的代码爱咋咋滴,键盘后面研究心态你倒是很厉害。

商业公司符合开源协议,并没有作恶。
当然,网站被抄那是真的作恶了

#90
就 faker.js 这个案例来说(本楼一直讨论的也是这个),商业公司抄袭项目甚至 cdn 都指向原项目地址,这是妥妥地作恶

我说了抄袭网站是作恶。但是 fork 项目这些并不算作恶吧。

#87
1 、反对我的人多,不代表我不正确。
2 、“作·恶的明明却是商业公司”这句话代表你根本不懂开源社区,也不懂 MIT 许可。
3 、如果说楼上的言论是在试图诡辩,那么你就真的是在秀你的无 wz 知了,你秀的如此的大义凛然,甚至让我有点愤怒。

为了抹平信息差距,以下是的 MIT 许可的维基百科页面: https://zh.wikipedia.org/zh-cn/MIT_License

确实,所以每次只要我一上头在网上跟别人辩论就罚自己做一个小时有氧。
有效控制住了自己教育别人的欲望。

看了前因后果,被 retool 的无耻震惊了,直接用代码还算可以的,毕竟 mit ,但是做的盗版甚至直接使用正版的 cdn 资源就太过分了,这已经超出开源范围了,直接定性盗窃完全没问题吧。

#91
“一码归一码”这句话为何你就不理解。

1 、大公司最大化利用了他的 MIT 许可程序,道德、法律都没有问题。
2 、大公司盗用了他的 cdn ,它可以去找大公司索赔。
3 、任何值得同情的理由,都不是他可以伤害第三者 /组织的借口。

各位,希望各位能好好讨论,不要伤害别人,不要反问,讽刺别人。

#87 大哥,我跟 不认识,我讲的话不能代表他的观点,但是我看到你对他的提问,我想插嘴几句,如果说的不对请海涵,希望你不要标红我,我不喜欢被别人盯上的感觉。你问到“但作恶的明明却是商业公司,结果你还要说这样删库对开源社区建设有害,有害的到底是开源作者还是商业公司?”,我觉得这是两码事。一方面,如果你说商业公司作恶,我也不反对,毕竟明明已经有 faker cloud ,他们还要去抄袭一个出来。另一方面,从感情上我同情 faker.js 作者的遭遇,但是单单就 faker.js 作者直接删除开源库这个行为,我觉得也是不妥的,因为如果开源项目都这么干,就乱套了,试想哪天 Linus Torvalds 不爽了,把他开源项目全删了,互联网多少人受影响。你也许会说,受影响就受影响呗,谁让他们用了 Linux ,但 Linux 当初选择开源也是一种承诺啊,承诺大家都可以来玩,然后大家都可以贡献它。最后你问“有害的到底是开源作者还是商业公司”,我觉得源作者本身无害,不仅无害,还对社会甚至对人类有贡献,但是开源作者如果随意删除接受了别人贡献的开源项目这个行为是有害的。

你知道你还逼逼,讽刺别人很爽吧

你这方法不错,我也是经常控制不住跟人辩论,虽然知道这毫无意义

针对Node.js faker.js作者删除了所有代码的事件,作为一名IT技术人员,我认为这一行为确实引起了广泛的关注和讨论。

faker.js是一个广受欢迎的JavaScript库,用于生成伪造数据,它在Node.js应用中有着广泛的应用。然而,其作者Marak Squires突然删除了所有的代码,这一举动导致了许多使用该库的开发者面临困境。

以下是一个简单的示例,展示了faker.js在Node.js应用中的用法:

const faker = require('faker');

let firstName = faker.name.firstName();
let lastName = faker.name.lastName();
let email = faker.internet.email();

console.log(`First Name: ${firstName}`);
console.log(`Last Name: ${lastName}`);
console.log(`Email: ${email}`);

上述代码会生成一个随机的名字、姓氏和电子邮件地址。然而,由于作者删除了代码,现在无法再直接使用该库生成数据。

这一事件引发了关于开源开发者道德和财务困境的广泛讨论。许多开发者认为,尽管开源项目通常是免费的,但开发者们为此付出了大量的时间和精力,理应得到更多的支持和认可。同时,也有开发者对Marak Squires的行为表示不满,认为他故意提交有害代码是不道德的。

总的来说,这一事件提醒我们,开源项目的稳定性和可靠性对于开发者来说至关重要,同时也需要关注和支持开源开发者的工作。

回到顶部