影视聚合站 科技 文章内容

暴力拒绝白嫖,著名开源项目作者删库跑路,数千个应用程序无限输出乱码

发布时间:2022-01-10 14:44:10来源:机器之心

机器之心报道

编辑:蛋酱、小舟

「我删我自己的开源项目代码,需要经过别人允许吗?」

几天前,开源库「faker.js」和「colors.js」的用户打开电脑,发现自己的应用程序正在输出乱码数据,那一刻,他们惊呆了。

更令人震惊的是,开发者们发现,造成这一混乱局面的就是「faker.js」和「colors.js」的作者MarakSquires本人。

一夜之间,MarakSquires主动删除了「faker.js」和「colors.js」项目仓库的所有代码,让正在使用这两个开源项目的数千位开发者直接崩溃。

「faker.js」和「colors.js」

faker.js在npm上的每周下载量接近250万,color.js每周的下载量约为2240万,本次删库的影响是极其严重的,使用这两个项目开发的工具包括AWSCDK等。

如果在构建和测试应用时,真实的数据量远远不够,那么Faker类工具将帮助开发者生成伪数据。faker.js就是可为多个领域生成伪数据的Node.js库,包括地址、商业、公司、日期、财务、图像、随机数、名称等。

faker.js支持生成英文、中文等多语种信息,包含丰富的API,此前版本通常一个月迭代更新一次。faker.js不仅可以使用在服务器端的JavaScript,还可以应用在浏览器端的JavaScript。

现在,faker.js项目的所有commit信息都被改为「endgame」,在README中,作者写下这样一句话:「WhatreallyhappenedwithAaronSwartz?」

Swartz是一位杰出的开发人员,帮助建立了CreativeCommons、RSS和Reddit。2011年,Swartz被指控从学术数据库JSTOR中窃取文件,目的是免费访问这些文件。Swartz在2013年自杀,Squires提到Swartz可能意指围绕这一死亡疑云。

MarakSquires向colors.js提交了恶意代码,添加了一个「anewAmericanflagmodule」,然后将其发布到了GitHub和npm。

随后他在GitHub和npm发布了faker.js6.6.6,这两个动作引发了同样的破坏性事件。破坏后的版本导致应用程序无限输出奇怪的字母和符号,从三行写着「LIBERTYLIBERTYLIBERTY」的文本开始,后面跟着一系列非ASCII字符:

目前,color.js已经更新了一个可以使用的版本。faker.js项目尚未恢复,开发者只能通过降级到此前的5.5.3版本来解决问题。

为了解决问题,Squires在GitHub上还发布了更新以解决「zalgo问题」,该问题是指损坏文件产生的故障文本。

「我们注意到在v1.4.44-liberty-2版本的colors中有一个zalgo错误,」Squires以一种讽刺的语气写道。「我们现在正在努力解决这个问题,很快就会有解决方案。」

在将更新推送到faker.js两天后,Squires发了一条推文,表示自己存储了数百个项目的GitHub账户已经被封。Squires在1月4日发布了faker.js的最新commit,在1月6日被封,直到1月7日推送了colors.js的「liberty」版本。然而,从faker.js和colors.js的更新日志来看,他的账户似乎被解封过。目前尚不清楚Squires的帐户是否再次被封。

至此,故事并没有就此结束。Squires2020年11月发在GitHub上的一篇帖子被挖出来,在帖子中他写道自己不再想做免费的工作了。「恕我直言,我不想再用我的免费工作来支持财富500强(和其他小型公司),以此为契机,向我发送一份六位数的年度合同,或者fork项目并让其他人参与其中。」

Squires的大胆举动引起了人们对开源开发者的道德和财务困境的关注,这可能是MarakSquires行动的目标。大量网站、软件和应用程序依赖开源开发人员来创建基本工具和组件,而所有这些都是免费的,无偿开发人员经常不知疲倦地工作,努力修复其开源软件中的安全问题。

开发者们怎么看

软件工程师SergioGómez表示:「从GitHub删除自己的代码违反了他们的服务条款?WTF?这是绑架。我们需要开始分散托管免费软件源代码。」

「不知道发生了什么,但我将我所有的项目都托管在GitLab私有instance上,永远不要相信任何互联网服务提供商。」

有网友认为faker.js团队的反应有些夸张了,并说道:「没有人会用一个只生成一些虚假数据的包赚大钱。faker.js的确为开发者生成伪数据节省了一些时间,但我们也可以让实习生编写类似程序来生成数据。这对企业来说并没有那么重要。」

甚至有人认为Marak这么做是一种冲动行为,不够理性,并和他之前「卖掉房子购买NFT」的传闻联系起来,认为Marak需要学会控制自己的情绪:

这种说法很快带偏部分网友的看法,有人原本同情开源项目被「白嫖」,但现在已转向认为Marak是恶意删库,并指出:「停止维护他的项目或完全删除都是他的权利,但故意提交有害代码是不对的。」

当然,也有人为开源软件(FOSS)开发者的待遇鸣不平:「希望有相关的基金会位FOSS开发人员提供资金支持」,而软件的可靠性和稳定性也是至关重要的

有人表示:一些大公司确实不尊重开源项目的版权,滥用开源项目对于FOSS开发者来说是绝对不公平的。但Marak对faker.js的做法并不可取,不是正面例子,存在Marak的个人负面原因。

对此,你有什么看法?

参考链接:

https://www.kancloud.cn/apachecn/zetcode-zh/1950573

https://zhuanlan.zhihu.com/p/326301266

https://www.reddit.com/r/programming/comments/rz5rul/marak_creator_of_fakerjs_who_recently_deleted_the/

使用NVIDIARiva快速构建企业级TTS语音合成助手

NVIDIARiva是一个使用GPU加速,能用于快速部署高性能会话式AI服务的SDK,可用于快速开发语音AI的应用程序。Riva的设计旨在帮助您轻松、快速地访问会话AI功能,开箱即用,通过一些简单的命令和API操作就可以快速构建高级别的TTS语音合成服务。

2022年1月12日19:30-21:00,本次线上分享主要介绍:

语音合成简介

NVIDIARiva特性介绍

启动NVIDIARiva客户端快速实现文字转语音功能

使用Python快速搭建基于Riva的TTS语音合成服务应用

点击阅读原文,报名直播吧。

©THEEND

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

© 2016-2022 ysjhz.com Inc.

站点统计| 举报| Archiver| 手机版| 小黑屋| 影视聚合站 ( 皖ICP备16004362号-1 )