在本月初,我们在博客上分享了 一个开发者破坏了他自己的开源项目的消息, “Marak Squires”,两个流行的开源库的作者, colors.js 和 faker.js,你故意破坏了这两个库。
这两个库的开发者 在 GitHub 上介绍了文件审查 在 colours.js 中添加了一个新的美国国旗模块,并实现了 faker.js 的 6.6.6 版本, 触发相同的事件销毁。
被破坏的版本导致应用程序不断产生字母和符号 陌生人,从三行文字开始,上面写着“LIBERTY LIBERTY LIBERTY”。
不得不说,图书馆腐败之后, 微软迅速暂停了你对 GitHub 的访问,并终止了 npm 上的项目。
GitHub 发言人对框架采取的行动发表了以下声明:
“GitHub 致力于 npm 注册表的健康和安全。 我们根据我们的开源条款中规定的关于恶意软件的 npm 可接受使用政策删除恶意程序包并暂停用户帐户。”
公司 还发布了以下安全公告:
“colors 是一个用于在 node.js 控制台中包含彩色文本的库。 7 年 9 月 2022 日至 1.4.1 日,发布了颜色版本 1.4.2、1.4.44 和 2-liberty-1.4.0,其中包含由于无限循环而导致拒绝服务的恶意代码。 依赖于这些版本的软件会遇到随机字符被打印到控制台和导致不相关的系统资源消耗的无限循环。 依赖这些特定构建的有色人种用户应该切换到 XNUMX。”
虽然这对某些人来说可能很明显 (开发人员用恶意代码推送了一个提交,GitHub 和 npm 做了 保护用户的正确做法),围绕开发人员执行此操作的权利(相对于他们可以拥有多少项目和依赖项)展开了辩论。
“由单个未经验证的开发人员通过 npm、cargo、pypi 或类似的包管理器安装的更常用的小型依赖项带来的风险很高。 但是,当这边出现问题时,每个人都会立即注意到,并且人们会迅速要求资金。 然而,真正支撑我们经济的并不是这些依赖。 许多这些成瘾已经成为基础,不是因为它们解决了一个难题,而是因为我们已经集体开始接受懒惰高于一切。 当我们将资金讨论集中在这些依赖项上时,我们隐含地分散了自己对真正重要的一揽子计划的注意力。”
考虑到这一点,任何暂停似乎都是不合理的 存储库中的代码 属于其创建者/维护者。 是的,从某种意义上说它是开源的,你可以分叉并为它做出贡献,但这是否意味着 GitHub 可以证明拒绝你修改甚至销毁你自己的代码的权利? 此类决定是否有“正当程序”?
这些事件引发的其他问题是如何适当地奖励人们在开源软件上所做的工作,这些软件支撑着其他更大的软件,使大型公司能够获得巨额利润。
在这种情况下,这些 JavaScript 库由作为 AWS 一部分的 Amazon 的 Cloud SDK 使用。
虽然 colors.js 和 faker.js 享受赞助 旨在确保开源社区从他们所做的工作中获得报酬,设计和实现流行包(如 colors.js 和 faker)的开发人员之间存在巨大的脱节。 Node.js 对免费重用其工作的公司的接收及其价值。
反正 Marak Squires 帐户再次被激活,他写道:
“我使用 colours.js v2.2.2 删除了 zalgo infinity 错误,并正在等待 Github 支持的回复,以恢复我的 NPM 发布权。
“致第69届医学社交媒体师的有德成员:
“感谢您的想法和祈祷。
“我可以向你保证,我的身心都很健康。 我随信附上一份里德精神病院出具的证明,证明我,马拉克·斯奎尔斯(Marak Squires),没有笨蛋的头脑。
“社交网络医生第69师的成员能提供证明他们没有驴脑的文件吗?” »
您好,我的名字是 Jaime del Valle,我在 EdTech 工作,我们正在组织一个免费活动来讨论这个主题: 自由软件:它应该在多大程度上是免费的?
我们想邀请您作为演讲者,暂定日期为 19 月 7 日星期二晚上 XNUMX 点,以数字格式进行,您愿意参加吗?