伪原创 api(我删我自己的开源项目代码,需要经过别人允许吗?)
优采云 发布时间: 2022-02-25 14:17伪原创 api(我删我自己的开源项目代码,需要经过别人允许吗?)
“我是否需要他人的许可才能删除我自己的开源项目代码?”
日前,开源库“faker.js”和“colors.js”的用户打开电脑,发现自己的应用程序输出乱码数据。那一刻,他们都惊呆了。
更令人震惊的是,开发人员发现是“faker.js”和“colors.js”的作者Marak Squires造成了混乱。
一夜之间,Marak Squires 自愿删除了“faker.js”和“colors.js”项目存储库中的所有代码,导致数千名使用这两个开源项目的开发人员崩溃。
“faker.js”和“colors.js”
faker.js 在 npm 上的每周下载量接近 250 万,color.js 的每周下载量约为 2240 万。这次库删除的影响是极其严重的。使用这两个项目开发的工具包括 AWS CDK Wait。
如果在构建和测试应用程序时真实数据量不足,Faker 类工具将帮助开发人员生成虚假数据。faker.js 是一个 Node.js 库,可以为多个字段生成假数据,包括地址、企业、公司、日期、财务、图像、随机数、姓名等。
faker.js 支持中英文等多语言信息的生成,并收录丰富的 API。以前的版本通常每月迭代更新一次。faker.js 不仅可以在服务器端使用 JavaScript,还可以在浏览器端使用 JavaScript。
现在,faker.js 项目的所有提交信息都已更改为“endgame”,在 README 中,作者写了这句话:“Aaron Swartz 到底发生了什么?”
Swartz 是一位出色的开发人员,他帮助构建了 Creative Commons、RSS 和 Reddit。2011 年,Swartz 被指控从学术数据库 JSTOR 中窃取文件,目的是免费访问它们。Swartz 于 2013 年自杀,Squires 提到 Swartz 可能意味着对死亡的怀疑。
Marak Squires 向 colors.js 提交了恶意代码,添加了一个“新的美国国旗模块”,然后发布到 GitHub 和 npm。
然后他在 GitHub 和 npm 上发布了 faker.js 6.6.6,两者都触发了相同的破坏性事件。损坏的版本导致应用程序无限输出奇怪的字母和符号,以三行文本开头,写着“LIBERTY LIBERTY LIBERTY”,然后是一系列非 ASCII 字符:
目前,color.js 已更新为可用版本。faker.js项目还没有恢复,开发者只能通过降级到之前的5.5.3版本来解决问题。
为了解决这个问题,Squires 还在 GitHub 上发布了更新以解决“zalgo 问题”,该问题是指由损坏的文件产生的故障文本。
“我们注意到 v1.4.44-liberty-2 版本的颜色中有一个 zalgo 错误,”Squires 讽刺地写道。“我们现在正在努力,很快就会有解决方案。”
在将更新推送到 faker.js 两天后,Squires 在推特上表示,他拥有数百个项目的 GitHub 帐户已被暂停。Squires 于 1 月 4 日发布了 faker.js 的最新提交,于 1 月 6 日将其屏蔽,并于 1 月 7 日推送了 colors.js 的“自由”版本。然而,从 faker.js 和 colors.js 的更新日志来看,他的账户似乎已经被解除封锁。目前尚不清楚 Squires 的账户是否再次被暂停。
到目前为止,故事还没有结束。Squires 于 2020 年 11 月在 GitHub 上发布的一篇帖子被挖出,他在帖子中写道,他不再想做免费工作。“恕我直言,我不想再利用我的免费工作来支持财富 500 强(和其他小公司),以此为契机给我寄一份六位数的年度合同,或者分叉项目并让其他人参与进来。 "
Squires 的大胆举动引起了人们对开源开发人员的道德和财务困境的关注,这可能是 Marak Squires 行动的目标。许多网站、软件和应用程序都依赖开源开发人员来创建必要的工具和组件,所有这些都是免费的,而无偿开发人员经常不知疲倦地工作以解决其开源软件中的安全问题。
开发商怎么看
软件工程师 Sergio Gómez 说:“从 GitHub 删除你自己的代码违反了他们的服务条款?WTF?这是绑架。我们需要开始分散托管免费软件源代码。”
“不确定发生了什么,但我将所有项目都托管在 GitLab 私有实例上,并且从不信任任何 ISP。”
有网友认为faker.js团队的回应有些夸张,并表示:“没有人会用只生成一些假数据的包赚很多钱。faker.js确实为开发者节省了一些时间来生成假数据,但我们实习生也可以编写类似的程序来生成数据。这对业务来说并不重要。”
甚至有人认为马拉克的行为是冲动和非理性的,这与他之前的“卖房子买NFT”的谣言有关,认为马拉克需要学会控制自己的情绪:
这一说法很快偏离了部分网友的看法。一些人原本对开源项目是“白嫖”表示同情,但现在转而认为Marak是在恶意删除库,并指出:“停止维护他的项目或将其彻底删除的权利是他的,但故意提交有害代码是错误的。”
当然,也有人吐槽开源软件(FOSS)开发者的待遇:“希望有相关的基金会为FOSS开发者提供资金支持”,而软件的可靠性和稳定性也很关键
有人说,一些大公司不尊重开源项目的版权,FOSS开发者滥用开源项目是绝对不公平的。但是Marak 对faker.js 的做法不可取,不是正面的例子,Marak 有个人的负面原因。
你觉得这怎么样?
参考链接: