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



相关文章
|
1月前
|
存储 Prometheus 监控
136_生产监控:Prometheus集成 - 设置警报与指标选择与LLM部署监控最佳实践
在大语言模型(LLM)部署的生产环境中,有效的监控系统是确保服务稳定性、可靠性和性能的关键。随着LLM模型规模的不断扩大和应用场景的日益复杂,传统的监控手段已难以满足需求。Prometheus作为当前最流行的开源监控系统之一,凭借其强大的时序数据收集、查询和告警能力,已成为LLM部署监控的首选工具。
|
2月前
|
人工智能 算法 数据库
给AI装上一个'超级大脑':信息检索如何改变RAG系统的游戏规则
从传统检索方法到现代向量检索,通过一个购物助手的故事,直观展示了不同检索技术的原理与应用。学会这些技巧,让你的AI不再是「记忆只有金鱼长度」的大模型!
189 24
|
3月前
|
负载均衡 Java Nacos
微服务架构中的服务注册与发现流程
本内容介绍了微服务架构中的服务注册与发现流程,包括服务注册中心(如Nacos)、服务提供者和调用者的角色分工。服务启动时自动注册信息至注册中心,调用者通过客户端负载均衡(如Spring Cloud Loadbalancer)选取服务实例进行远程调用。同时,内容还讲解了OpenFeign的工作原理,其作为HTTP客户端集成负载均衡,通过接口定义、代理生成、请求发送与结果解析,实现服务间的高效通信。
|
2月前
|
Unix Linux Shell
指定端口-SSH连接的目标(告别 22 端口暴力破解)
本文介绍了 SSH 命令 `ssh -p 44907 root@IP` 的含义与使用方法,包括命令结构拆解、完整示例及执行过程详解,帮助用户安全地远程登录服务器。
302 0
|
小程序 物联网 定位技术
阿里云+微信小程序+GPS定位
阿里云物联网板块是一个功能非常强大的板块,而且通俗易懂,非常容易上手,比华为的要稍微容易上手一些。本次,小编通过阿里云物联网平台,将SIM800M32的GPS经纬度坐标发送到阿里云平台,并通过规则引擎转发数据至微信小程序,然后在地图上显示位置。
5070 0
|
存储 API C++
dump系列(2)C++程序异常或内存错误,导致闪退的解决办法:分析dump文件
dump系列(2)C++程序异常或内存错误,导致闪退的解决办法:分析dump文件
2099 0
|
开发工具 git Shell
树莓派 之 更换国内源
(仅适用于连接不上官方源的用户,某些系统软件只能通过官方源安装或更新) sudo nano /etc/apt/sources.list 测试最佳软件源: 安装 netselect sudo apt-get install netselect git clone git clone https://github.
5547 0
|
存储 编译器
西门子S7-200 SMART数据块的使用
今天我们来学习在西门子S7-200 SMART中如何使用数据块。在讲解数据块的使用之前我们先来看一下什么是数据块:数据块用来对V存储区也叫变量存储区赋初始值;可以对字节、字或双字来分配数据值。
西门子S7-200 SMART数据块的使用
阿里云域名注册流程(新版教程)
阿里云域名注册官网入口及域名注册流程,包括阿里云账号注册、阿里云账号实名认证,域名信息模板实名认证、域名名称及后缀选择、域名优惠口令、域名代金券使用详细教程
6263 1
阿里云域名注册流程(新版教程)
|
架构师 Java 编译器
Java编程语言特性和优势
## 1 前言 Java是近 10 年来计算机软件发展过程中的传奇,其在众多开发者心中的地位可谓“爱不释手”,与其他一些计算机语言随着时间的流逝影响也逐渐减弱不同,Java 随着时间的推移反而变得更加强大。 从首次发布开始,Java 就跃到了 `Internet `编程的前沿。后续的每一个版本都进一步巩固了这一地位。如今,Java 依然是开发基于 Web 的应用程序的最佳选择。此外,Java 还是智能手机变革的推手,`Android`编程采用的就是 Java 语言。 ## 2 Java语言特性 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多
502 0
Java编程语言特性和优势