加入收藏 | 设为首页 | 会员中心 | 我要投稿 草根网 (https://www.0591zz.com/)- 运维、云管理、管理运维、图像技术、AI硬件!
当前位置: 首页 > 访谈 > 正文

Linus Torvalds:不写文档的开源技术布道者

发布时间:2026-10-12 11:09:34 所属栏目:访谈 来源:DaWei
导读:文章配图,仅供参考  Linus那套不写文档的玩法能活到现在,我原以为早该被淘汰了——结果上个月翻Git的提交记录,发现内核组那帮人还在用"看代码猜功能"的野路子,连注释都懒得写全。上周跟运维老王扯淡,他说现在新来的实习

文章配图,仅供参考

  Linus那套不写文档的玩法能活到现在,我原以为早该被淘汰了——结果上个月翻Git的提交记录,发现内核组那帮人还在用"看代码猜功能"的野路子,连注释都懒得写全。上周跟运维老王扯淡,他说现在新来的实习生连man page都懒得查,直接上GitHub搜issue,结果被骂得狗血淋头。可你猜怎么着?这帮人居然还能把5.19内核的TCP优化补丁给啃下来,你说气不气人?

  服务器风扇嗡嗡响了半宿,我盯着监控屏上的404曲线直挠头。上周改版把robots.txt改崩了,沙盒期直接延长到两周——这破事我敢打包票,绝对是因为测试环境没开爬虫模拟。老张在群里甩了张截图,说某大厂的文档库被爬到降权,结果发现是友链里混了个灰色站点。我回他"活该",键盘上掉了个键帽都没察觉,敲代码时总按错,气得我把机械轴拆了又装,装了又拆。

  可说回来,Linus那套"优胜劣汰"的逻辑还真有点道理。上个月帮客户搭私有Git,他们非要学内核组的玩法,连API文档都只写个大概。我原以为要翻车,结果那帮开发居然靠互相吐槽代码风格把功能跑通了——有个哥们在提交记录里写"这段逻辑像我家猫挠的",另一个回"那你家猫该学学数据结构了"。这要搁传统项目,早被PM骂到辞职了。

  外卖盒堆在桌角发了霉,显示器上贴的便签写着"别碰301重定向"。上周客户非要改URL结构,我劝了半小时说会掉收录,结果他甩来句"Linus都不写文档,我们怕什么"。改完第二天,流量掉了三分之一,他反而怪我没做好长尾词布局——我他妈连新旧URL的映射表都给他了,他自己没让前端加rel="canonical",这锅也能甩?

  路由器指示灯闪得人心烦,我翻出十年前的Linux内核书,发现2.6版本的注释比现在多三倍。可你猜怎么着?现在内核的提交频次是那时候的十倍不止。老李在群里说这是"逆向进化",我回他"放屁,明明是代码质量差到必须靠人肉调试"。他甩来张图,是某个驱动文件的修改记录——连续二十次提交都在改同一个变量名,注释栏里全是"fix typo"和"who wrote this shit"。

  窗外的雨下了一下午,我盯着GitLab的issue列表发呆。有个新人问"为什么内核模块的init函数要返回负数表示错误",底下有人回"因为Linus觉得正数不够酷"。这答案当然被折叠了,但点赞数比官方文档的链接还高。我突然想起十年前自己啃Linux驱动时的样子——那时候没现在这么多教程,全靠在mailing list里潜水看大佬吵架,居然也把网卡驱动搞出来了。

  服务器日志显示,最近爬虫对README.md的抓取频次比代码还高。我原以为是因为大家变懒了,结果发现是GitHub的搜索算法把README权重调高了——现在连"如何安装"这种基础问题,都有人直接在issue里问,而不是翻文档。这现象让我想起Linus那句名言:"好的代码就是最好的文档",可问题是,现在有多少人能写出"好代码"?

  跟测试组吵架时,我提到"内核组连单元测试都不写全",结果被反将一军:"可人家崩溃率比我们低两个数量级"。我查了下数据,发现还真是——5.19内核的panic次数比我们项目少90%,而我们的测试用例是他们的五倍。这他妈算什么?用代码质量弥补文档缺失?还是说,当代码足够健壮时,文档反而成了冗余?

  显示器右下角弹出提醒,说硬盘空间不足。我删了一堆旧文档,发现其中80%是"待完善"的草稿——有的连标题都没写完。这让我突然明白,为什么Linus能坚持不写文档——当项目迭代速度快到文档永远跟不上时,强行维护文档反而会成为负担。就像我们上周改的URL结构,如果当时花了三天写迁移文档,现在可能还在跟客户扯皮,而不是忙着恢复流量。

  但话说回来,这种玩法绝对不适合所有场景。上个月帮某传统企业搭OA系统,他们非要学"极简文档"风格,结果三个月后,新来的运维连数据库备份脚本都找不到——因为前任把注释写在提交记录里,而他们用的是SVN,没有GitHub的issue追踪。最后不得不花两周时间重构文档体系,这成本够写十套单元测试了。

  键盘上的键帽终于装回去了,我敲了段测试代码,发现编译错误居然比上周少了。老张在群里说这是"玄学",我回他"不,这是优胜劣汰——当所有人都不写文档时,能活下来的必然是代码写得足够好的"。他甩来个表情包,是只猫在敲键盘,配文"所以我家猫该去学C语言?"。

  现在的问题是,这种"无文档生存"模式能持续多久?当项目规模超过某个阈值时,人肉记忆是否还能替代文档?我查了下Linux内核的提交记录,发现最近三年,核心模块的注释量其实在缓慢增加——或许Linus也在妥协?或者,这只是新开发者在用自己的方式"写文档"?

  不管怎样,下周客户又要改版,我打算试试"半文档"策略:核心逻辑写注释,边缘功能靠代码自解释。如果翻车了,就甩锅给Linus;如果成了,就吹嘘这是"新一代开发范式"。反正服务器风扇还在响,外卖盒还在发霉,雨还在下——有些事,或许本来就没有标准答案。

(编辑:草根网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!