Linus又炮轰GitHub!

762f1f4cb85d9ff33d89e52e31a78aec.png

【导读】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。

e5507897b4de671a4ee13b9aa5987b2f.png

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

f89f9fdeb3b61e1c96d307f4d66c5269.png

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

6f795d9718e1f8db83f4b4d98dd0782f.png

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

1ab74110937e2ffb420bc14ffa325677.png

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

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

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

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

f69fa082925f2718b3a4aca12556ffef.png

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

d201e8605e912de2a1a2b3d9ed732fb9.png

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

「Talk is cheap, show me the code.」

0d74317b3a556dd53513ddb91097e3b1.png

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

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

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

bfa8adde679d9dab9f304395fbf64802.png

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用,就导致了那句经典名言。

f37de612af2f501f23b5af9e143b86e9.png

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

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

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

参考资料:

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

ea919ceb6a7c6af210577ffccddf4772.png

1.25万研究所和40万996大厂去哪个?

2.单片机串口最底层的本质!

3.在MCU开发中如何充分利用各种类型的断点?(上)

4.在MCU开发中如何充分利用各种类型的断点?(下)

5.MCU在线调试功能正常而离线工作异常原因探究~

6.到底什么是“无源物联网”?

5f907793fc6d9b1a7bd4cc9e1a2a0096.gif

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值