linus怒批github:制造了毫无用处的垃圾合并信息!(代码片段)

xhmj12 xhmj12     2023-01-11     270

关键词:


 

来自新智元
【导读】Linux 之父 Linus 最近在邮件列表中又炮轰 GitHub,直指 GitHub 的合并机制,直言只能产生绝对无用的「垃圾」信息,并告诫后来人:永远不要使用 GitHub 界面来 merge 任何东西!

嘴炮大师,Linux 之父 Linus Torvalds 最近又喷人了!

「So, GitHub, fxxk you!」

GitHub 是基于 git 进行版本管理和代码开源的网站,并且 Linus 也是 git 之父,所以 Linus 可以说是 GitHub 之父之父(误)。

这次事件的起因是 Paragon 软件为 Linux 内核开发了一个 NTFS 文件系统的读 / 写驱动程序代码,在 commit 时写了一个错误的 message,导致 Linus 火气飙升。

八月初时,Torvalds 就向 Paragon 软件公司提出了一个建议,要求应该提交一个 pull request 把代码合并到内核源代码中,以便将其读 / 写 NTFS 驱动程序包含在即将发布的 5.15 版本内核中。

NTFS 是 Windows 原生的文件系统,Paragon 的文件系统实现能够提高 Linux 和 Windows 文件的互操作性,而现有驱动程序的写支持能力不足。

事发仓库来自 Paragon-Software-Group /linux-ntfs3。

可以看到在 Fork 后作者在 GitHub 初始化 pull 中写了一句 Merge branch 'torvalds:master' into master,Linus 在邮件中直接说这种 message 完全是不可接受的,commit message 应当是有信息量的,可以从 fork 前的消息看到 Linux 仓库中 Torvalds Linus 一直在遵守约定。

邮件中还对 GitHub 明褒暗贬,「GitHub 哪都好,就是 merge 不行」。

并表示 GitHub 的 merge 只会「创造完全无用的垃圾合并」。

Linus 强调说明,Linux 内核的合并需要在符合规则的情况下进行,这就意味着所提交的消息应包含:

1、正在合并的内容以及为什么合并这些内容

2、还需要确切的作者身份和提交者信息等

但 GitHub 把这些都给省略掉了,在 Linux 的 kernel.org 中,可以看到这些信息一目了然。

最后 Linus 表示,希望不要再犯这种低级错误了,在 ksmbd 的 pull request 中已经说过一遍了,并且我的回应还是和以前一样:GitHub 的 inital pull 通常有点大病,这次我会接受,但希望你以后开发代码时能够以「合适」的方式。

Linus 的这种「直」性格能够极大的提升工作效率,一封邮件就把以后 Linux 相关的 merge 问题解决了,而他的金句也有很多。

「Talk is cheap, show me the code.」

2000 年 8 月 25 日,在讨论关于内核线程优化的问题时,一个人提出了一个他认为非常高效的方案,但 Linus 并不认同,觉得这个人有点喜欢打嘴炮,也不想辩论了,直接看代码解决好了!这句话也深受广大程序员的认可,广为流传。

除了金句之外,Linus 还喜欢炮轰各种各样看着不爽的东西。

2007 年时,有位名为 Dmitry Kakurin 的开发者在查看了 Git 源代码并发现其使用的是纯 C 而非 C++ 后,他表示不可理喻,于是发帖喷道(太年轻了,敢和 Linus 喷):「完全没有什么可移植性,代码就是一坨屎。」BS 的意思就是 bullshit。

Linus 直接回复「YOU are full of bullshit.」

Linus 称,C++ 标准太复杂导致不合格使用者太多,容易误用和滥用语言特性。C++ 语言想解决的问题都不对路,都是一些皮毛问题,而没有涉及真正深层次的问题。C++ 的对象、模板和函数重载都基本上纯粹是 C 的语法扩展,是语法糖,总体上把 C 的语法和类型系统都弄得更糟。他建议,在系统编程里直接用 C 就可以,非系统编程里,应该选择一种有垃圾收集的语言,C++ 语言的特性基本无用,只会捣乱。

因此,什么时候 C++ 都不可能是正确的选择。C++ 是狗屎,根本没啥设计,只是在 C 上面加了些渣滓而已。面向对象解决的都是一些小问题。

除了 C++ 外,还有万恶之源英伟达,

2012 年开始很多笔记本配备了采用 optimus 技术的双显卡设计,即同时具有 Intel 核心显卡和 Nvidia 独立显卡。

这种设计没有考虑到 Linux 系统,导致用户安装 Linux 系统后遇到无法解决的显卡驱动问题,而且更麻烦的是 Nvidia 又卖大量芯片给 Android 用,就导致了那句经典名言。

Linus 上文说的是「NVIDIA 一直是我们与硬件制造商之间遇到的最严重的问题之一。」

Nvidia 的驱动、CUDA 核心运算、DLSS 等技术始终闭源,与拥抱开源的 Linus 注定不合拍,不过我还是想说,

老黄,卖点显卡给玩家吧!

参考资料:

https://lore.kernel.org/lkml/CAHk-=wjbtip559HcMG9VQLGPmkurh5Kc50y5BceL8Q8=aL0H3Q@mail.gmail.com/



 
PS:如果觉得我的分享不错,欢迎大家随手点赞、转发、在看。

PS:欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。

linux之父又双叒开炮了:github的合并就是毫无用处的垃圾!(代码片段)

????????关注后回复 “进群” ,拉你进程序员交流群????????开源最前线(ID:OpenSourceTop)猿妹整编综合自:https://lore.kernel.org/lkml/CAHk-=wjbtip559HcMG9VQLGPmkurh5Kc50y5BceL8Q8=aL0H3Q@mail 查看详情

linus:“我删除了linux,因为它就是个垃圾!”(代码片段)

文 |罗奇奇出品|OSC开源社区(ID:oschina2013)1月25日,LinusTorvalds在Linux的GitHub仓库中提交了一个恶作剧README页面:https://github.com/torvalds/linux/tree/8bcab0346d4fcf21b97046eb44db8cf37ddd6da0&# 查看详情

“放弃github,时机已到”,软件自由保护协会怒批!(代码片段)

整理|彭慧中    责编|屠敏出品|CSDN(ID:CSDNnews)诞生14年来,凭借完整协议支持、Git格式的版本库托管等优势,GitHub成为了最受开发者欢迎的代码托管平台。不过,近几年来, 随着GitHub的一些转变&#... 查看详情

“我只警告一次,下次我会直接忽略你发的垃圾,懂?”linus精彩炮轰语录集锦

...中指的行为简直是“一战成名”。本月, Linus又炮轰GitHub,称“看看你们的merge机制,只会产生垃圾”!(详情链接ÿ 查看详情

linux之父:连你自己都懒得解释,那这就是一堆垃圾!

...什么存在一个合并,那这个合并从本质上来说就是错误的垃圾,这是每个开发者都应牢记于心的规则。我重复一遍:如果你不能解释清楚这个合并请求,那就不要做,就是这么简单。——LinusTorvalds让Linus如此生气的代码注释,到... 查看详情

linus再发飙:这就是一堆垃圾!(代码片段)

...存在这个合并请求,那么根据定义,这就是一堆垃圾!”▲缺少注释的合并请求让LinusTorvalds很生气Linus认为,如果你不能解释清楚一个合并请求,那么就不要提交,这是很简单的道理。如果不解释提交合并... 查看详情

git与github入门基础(代码片段)

Git的诞生  很多人都知道,Linus在1991年创建了开源的Linux。从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码... 查看详情

这些人如何避免制造任何垃圾?

】这些人如何避免制造任何垃圾?【英文标题】:Howdothesepeopleavoidcreatinganygarbage?【发布时间】:2011-03-2617:05:52【问题描述】:这是我在网上找到的一个有趣的article。它讨论了这家公司如何能够在托管环境中解析大量财务数据,... 查看详情

linux之父:连你自己都懒得解释,那这就是一堆垃圾!(代码片段)

...存在一个合并,那这个合并从本质上来说就是错误的垃圾,这是每个开发者都应牢记于心的规则。我重复一遍:如果你不能解释清楚这个合并请求,那就不要做,就是这么简单。——LinusTorvalds让Linus如此生气... 查看详情

git代码管理(代码片段)

...置3、创建版本库4、版本创建与回退5、分支管理6、使用github7、工作使用git一、git简介1、历史git是目前世界上最先进的分布式版本控制系统。Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统... 查看详情

linux之父再开炮:“github创建了完全没用的垃圾合并!”

Linux之父LinusTorvalds的火爆脾气想必大家都有所耳闻,尤其是他在2015年曾对NVIDIA爆粗口、竖中指的行为简直是“一战成名”:除了“Linux之父”这个身份,许多人提起LinusTorvalds,首先想起的就是那张他瞪视着镜头竖... 查看详情

Mongo突然忽略大集合中的索引

...,因此accordingtothisdocumentation我们的查询计划一直无效并毫无问题地重建。一周前,我向这个集合添加了一个新索引(在后台)并对其执行了 查看详情

10分钟带你入门git到github(代码片段)

????????关注后回复 “进群” ,拉你进程序员交流群????????作者丨java金融来源丨java金融git的产生背景很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了... 查看详情

python垃圾箱-垃圾回收

...占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,那什么样的变量值是没有用的呢?由于变量名是访问到变量值的唯一方式,所以当一个变量值不再关联任何变量名时,我们就无法... 查看详情

浅谈github

一.我的github首先附上github的官网地址:https://github.com/以及我的hello-world程序地址:https://github.com/123wangdong123/Hello-world 二.github的相关介绍:Git是目前世界上最先进的分布式版本控制系统(没有之一)。很多人都知道,Linus在19... 查看详情

“我只警告一次,下次直接忽略你发的垃圾,懂?”

...中指的行为简直是“一战成名”。本月, Linus又炮轰GitHub,称“看看你们的mer 查看详情

git常用命令集合

...目,又不想部署一台用于版本控制的服务器,所以想到用github,研究了大半天,终于搭好了。现在分享流程如下:1.去github官网注册一个账号;2.创建代码库工程(createaNewRepository),根据提示走就ok;3.创建完以后就会有一个工程首... 查看详情

git简介

一、git的诞生1991年,Linus开创了开源语言Linux,Linux也成为了最大的服务器系统软件,但是其成功归功于世界各地拥护Linux的壮士,他们把他们的代码通过diff方式传给了Linus,Linus通过手工的方式将它们合成管理,但是直到2002年,... 查看详情