删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!(1)

简介: 删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!
【新智元导读】在开源程序界惹出「删库跑路」大新闻的开发者Marak Squires,最近发声:「人无完人,编程错误而已,GitHub你就不用再封我号了嘛!」


2022年的开源社区,全是瓜!

 

1月初,开发者Marak Squires给大伙儿表演了一个删库跑路,而且针对的还是自己的两个项目。

 

躺枪的码农们一觉醒来发现,自己程序跑出来的全都是「乱码」。

 

 

虽然Marak表示自己「已经在努力修复了」,但群众的眼睛是雪亮的。

 

很快他们就发现:这根本不是什么bug,而是Marak本人在搞事情!

 

于是,作为项目的托管平台,GitHub让Marak见识到了什么是开源社区的铁拳——封号。

 

 

时间过去了10天,这位始作俑者似乎有点「后悔」了:

GitHub你怎么回事?封号十天了,既不让我修复项目的bug,也不回我的邮件。每个人都会时不时地犯编程错误。没有人是完美的。

 

 

嗯?「编程错误」?

 

 

对于Marak的控诉以及希望能回到GitHub的想法,网友们普遍表示:「大可不必」。

 

老兄,这不是一个「编程错误」,你知道的。这是在破坏公共资源。没有人强迫你做出贡献,而现在希望你做出贡献的人更少了。

 

 

你真的认为有人会让你再次为一个广泛使用的开源项目作出贡献吗?在你耍了这套把戏之后?

 

 

这二位网友在封号这件事上也是针锋相对:

 

「他的代码属于他自己。他可以在代码上做任何他想做的事。」

 

「GitHub的平台也属于他们自己。他们可以在平台上做他们想做的事。」

 

 

删自己的库,「断」自己的路

作为两个非常受欢迎的开源库,「colors」在npm上每周的下载量就超过2000万次,并且有将近19000个项目正在使用,「faker」在npm上每周的下载量超过280万次,有超过2500个项目使用。

 

甚至连亚马逊的云计算开发工具包(aws-cdk)也用上了。

 

 

1月5日,Marak发布了「faker」的6.6.6版本。

 

 

1月8日,Marak又在「colors」加入了v1.4.44-liberty-2。

 

 

在新版中,Marak引入了一个无限循环的bug,会让所有使用「colors」的程序在控制台无休止地打印各种非ASCII字符序列,从而让数以千计的的项目直接崩溃。

 

新美国国旗模块

 

这些信息包括文本「LIBERTY LIBERTY LIBERTY」,以及在后面跟着的一大串非ASCII字符。

 

 

对于「faker」,Marak除了炸了自己程序之外,还修改了GitHub repo的README页面。

 

这次,Marak直接摊牌了:endgame。

 

 

1月7日,Marak发了一段自述视频,不过现在已经看不到了。

 

同日,GitHub将他账号封禁。

 

随后的几天里,事件在不断地发酵,而他的推文也收到了1800个转发和3700个点赞。

 

 

然而,当网友对这位删库跑路的「大神」越发地了解之后,支持他的人也越来越少。

 

也不知是不是想挽回点名声,Marak在1月15日的时候发文表示自己已经在3天前就修好了程序的「bug」,但因为自己被封了所以没办法上传至NPM。

 

不过,这个时候已经没有人在关心这个项目了。

 

 

而对于Marak撂挑子的「Faker.js」,很快就有8位开发者接手,并且表示会把项目做得得更好。

 

https://fakerjs.dev/update.html

 

话说回来,虽然都是开源项目,但是协议分了很多种,GPL、MIT、Apache等等。

 

 

比如GPL就要求,但凡你的程序用到了这个协议下的项目,你就需要公开出来。

 

而MIT就相对宽松得多,你可以随便修改和使用,只需要在软件和软件的所有副本中包含著作权声明和许可声明即可。

 

而Marak采用的正是MIT协议。

 

所以,公司拿着他的项目去赚钱这个看似「白嫖」的行为,在法律上并没有什么问题。


Marak:打女友、造炸弹,但我是个写码好男孩


当然了, Marak并不这么认为。



相关文章
|
3月前
|
人工智能 算法 数据库
给AI装上一个'超级大脑':信息检索如何改变RAG系统的游戏规则
从传统检索方法到现代向量检索,通过一个购物助手的故事,直观展示了不同检索技术的原理与应用。学会这些技巧,让你的AI不再是「记忆只有金鱼长度」的大模型!
222 24
|
3月前
|
Unix Linux Shell
指定端口-SSH连接的目标(告别 22 端口暴力破解)
本文介绍了 SSH 命令 `ssh -p 44907 root@IP` 的含义与使用方法,包括命令结构拆解、完整示例及执行过程详解,帮助用户安全地远程登录服务器。
382 0
|
小程序 物联网 定位技术
阿里云+微信小程序+GPS定位
阿里云物联网板块是一个功能非常强大的板块,而且通俗易懂,非常容易上手,比华为的要稍微容易上手一些。本次,小编通过阿里云物联网平台,将SIM800M32的GPS经纬度坐标发送到阿里云平台,并通过规则引擎转发数据至微信小程序,然后在地图上显示位置。
5109 0
|
存储 API C++
dump系列(2)C++程序异常或内存错误,导致闪退的解决办法:分析dump文件
dump系列(2)C++程序异常或内存错误,导致闪退的解决办法:分析dump文件
2134 0
|
开发工具 git Shell
树莓派 之 更换国内源
(仅适用于连接不上官方源的用户,某些系统软件只能通过官方源安装或更新) sudo nano /etc/apt/sources.list 测试最佳软件源: 安装 netselect sudo apt-get install netselect git clone git clone https://github.
5565 0
|
数据挖掘
数据分析面试手册《统计篇》
数据分析面试中常见统计类问题。
数据分析面试手册《统计篇》
|
存储 编译器
西门子S7-200 SMART数据块的使用
今天我们来学习在西门子S7-200 SMART中如何使用数据块。在讲解数据块的使用之前我们先来看一下什么是数据块:数据块用来对V存储区也叫变量存储区赋初始值;可以对字节、字或双字来分配数据值。
西门子S7-200 SMART数据块的使用
阿里云域名注册流程(新版教程)
阿里云域名注册官网入口及域名注册流程,包括阿里云账号注册、阿里云账号实名认证,域名信息模板实名认证、域名名称及后缀选择、域名优惠口令、域名代金券使用详细教程
6314 1
阿里云域名注册流程(新版教程)
|
存储 计算机视觉
MMAction2 | 基于人体姿态的动作识别新范式 PoseC3D
PoseC3D 是一种基于 3D-CNN 的骨骼行为识别框架,同时具备良好的识别精度与效率,在包含 FineGYM, NTURGB+D, Kinetics-skeleton 等多个骨骼行为数据集上达到了 SOTA。
2699 0
MMAction2 | 基于人体姿态的动作识别新范式 PoseC3D
|
存储 缓存 JSON
swc与Turbopack
本文适合对新主流技术感兴趣的小伙伴阅读