删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!(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并不这么认为。



相关文章
|
7月前
1001 害死人不偿命的(3n+1)猜想
1001 害死人不偿命的(3n+1)猜想
36 0
|
测试技术
害死人不偿命的(3n+1)猜想
害死人不偿命的(3n+1)猜想
|
SQL 存储 安全
又有程序员删库跑路?还好我早有准备
又有程序员删库跑路?还好我早有准备
90 0
|
安全 小程序 程序员
删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!(2)
删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!
110 0
删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!(2)
|
测试技术
PAT 1001 害死人不偿命的(3n+1)猜想
对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。
93 0
|
存储 机器学习/深度学习 监控
我是傻x,被迫看了 1 天源码,千万别学我!
大家好,我是零一,之前一直很忙,业余时间的输入和输出都 24k铝合金人眼可见 得下降,这不最近上海疫情严重么,算了一下居家办公也已经将近 1个月了,这才有些许时间学习,所以最近也是一直在鼓捣点新东西,不为别的,主要是想再多输入一些新的知识
181 0
我是傻x,被迫看了 1 天源码,千万别学我!
|
Java 中间件 程序员
最网最全bug定位套路,遇见bug再也不慌了
最网最全bug定位套路,遇见bug再也不慌了
344 0
|
网络协议 Linux
被鹅厂搞懵逼了(更正)
在 FIN_WAIT_2 状态下如何处理乱序的 FIN 报文
被鹅厂搞懵逼了(更正)
|
SQL 存储 关系型数据库
你也许连删库跑路都不会
这两年 IT 界隔三岔五的出现一次程序员删库的新闻,这种删库跑路的行为往往会给受害公司造成很大的损失,甚至会导致一个公司的破产。我们程序员看到这类新闻的时候很大一部分会把它当作一个闲聊的摊子,但是各位读者你是否想过这么一个问题:我知道怎么正确删库吗?看到这里估计有读者会感觉删库谁不会啊 Delete 以下呗。如果你这么想的话那就接着看这篇文章吧,在后面的内容中我将讲解数据库删除数据的方式以及原理。
你也许连删库跑路都不会
|
算法 Java 编译器
Java开发最常犯的10个错误,打死都不要犯!
阅读目录 Array转ArrayList 判断一个数组是否包含某个值 在循环内部删除List中的一个元素 HashTable与HashMap 使用集合原始类型(raw type) 访问级别 ArrayList和LinkedList 可变与不可变 父类和子类的构造方法 “”还是构造方法 未来工作
176 0
Java开发最常犯的10个错误,打死都不要犯!

相关实验场景

更多