在Linux内核社区当开发者是种什么感觉?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今年 5 月,经过 Linux Kernel 社区成员的共同努力,Linux Kernel 5.10 维护周期最终确定从 2 年延长至 6 年。作为 Linux 社区的主要贡献者之一,华为公开承诺投入资源,协助进行 Linux Kernel 测试和补丁回合。基于 Linux 内核的 openEuler 操作系统于 2019 年正式开源,至今已经发布三个版本,按照版本计划,openEuler 22.03 将于明年发布,并将基于 Linux Kernel 5.10 构建。openEuler 的快速发展离不开 Linux 内核的稳定开发,更离不开内核开发者的辛勤付出。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"几千名内核开发者维护着有近 3000 万行代码的 Linux 内核,保证了无数设备、机器和系统的正常运转。正因为这些开发者参与社区,贡献社区,Linux 才能从一个个人项目发展成世界级的开源项目。内核开发者怎样参与社区?如何为 Linux 内核社区做贡献?它们在社区都有哪些收获?……带着这些问题,InfoQ 与三位 Linux 内核开发者兼 openEuler SIG 组成员聊了聊。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"俞玉芬:90 后的女性内核开发者"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"俞玉芬参与 Linux 内核社区已有三年时间,累计为社区贡献了 60+ 个补丁。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/de\/de94e7252330cc419b89366c374c988f.webp","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"俞玉芬"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2017 年从中国科学技术大学硕士毕业后,俞玉芬进入了华为,在内核存储项目组工作。她所在的项目组主要关注 Linux 存储领域,她具体参与的是 Linux 存储 IO 栈相关工作。对她来说,“以前没有接触过 Linux 社区,只是研究方向与内核有关”。在内核存储项目组,团队氛围非常开放,奉行“"},{"type":"text","marks":[{"type":"strong"}],"text":"来源社区,回馈社区"},{"type":"text","text":"”的理念,鼓励大家多给 Linux 社区做贡献,于是俞玉芬开始接触 Linux 社区。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不过,想成为 Linux 社区开发者并不容易,她虽然订阅了很多与存储相关的社区邮件,“但基本看不懂邮件里讨论的内容。同时,看内核代码时,我觉得代码非常好,没什么 bug。并且,我也没有什么新想法,完全没信心可以参与进来”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"俞玉芬向 InfoQ 坦言,“整体感觉内核社区的门槛特别高,好难!”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,社区文化给了她信心,“感觉社区的技术氛围很好。这是一个非常好的学习平台。如果能静下心来慢慢看代码,可以学到很多新东西,从而激发自己的兴趣”。Linux 内核很复杂,涉及领域非常多,她逐渐意识到要先从理论上了解这个功能或特性,再去看代码。只有不断地学习,才能慢慢深入,这是一个循序渐进和不断积累的过程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"入门后,她尝试为社区做贡献,2018 年向社区提交了第一个补丁,这个补丁是关于 F2FS 的小特性,让 F2FS 支持 cgroup writeback。为什么提交这个补丁?她说:“看代码时,我发现其他文件系统都支持这个特性,但是 F2FS 是不支持的。在跟内部的技术专家讨论后,我们觉得可以做。然后进行开发,本地验证。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由于经验不足,她写出来的补丁存在一些问题,内部的技术专家就帮她 Review 代码,最后补丁修改了好几遍才提交到社区。而维护者认为这个补丁挺有价值,就接受了它。在她看来,为社区做贡献需要坚持,不能轻言放弃。这个感悟源自她的亲身经历:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2020 年,产品在 ARM64 平台上使用 RAID5 时,我发现 RAID5 在 PAGE_SZIE 为 64KB 的情况下存在写放大问题,进而影响上层应用。并且,这个问题也存在于社区主线代码。经过跟社区讨论后,我认为修复这个问题很有价值。之后,与技术专家一起讨论方案。在确定方案后,我首次向社区提交了一组特性补丁集。刚开始,并没有信心补丁集能被接受,经过反复讨论,补充测试数据,针对社区提出的反馈一遍一遍的修改,一直到第八个版本才被接受,最终合并到 Linux 5.10 版本。从开始投入到最终合并补丁,前后花费半年时间。这个过程需要韧性,需要坚持。如果你不坚持,那这件事最终就没了。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"据 InfoQ 获悉,"},{"type":"text","marks":[{"type":"strong"}],"text":"从 2018 年到现在,俞玉芬累计为社区贡献了 60+ 个补丁"},{"type":"text","text":"。看到自己提交的补丁被接受,得到别人认可,“觉得自己的工作挺不错,有价值”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"她说:“我能从 Linux 社区日志里找到属于自己签名的代码,它们在全世界被使用,跑在无数的机器上。我觉得挺有成就感。“"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"从个人角度来说,参与社区,贡献社区,也给俞玉芬的成长带来了极大帮助。在她看来,一是通过参与社区,提升了自己的沟通表达能力。因为内核社区的日常沟通主要通过邮件,“刚参与社区时,写邮件经常‘词不达意’”,而现在则学会了用邮件进行高效沟通。二是通过贡献社区,学习优秀开发者的诸多经验。这不仅让她对其他领域有更多的了解,而且大大提高了思考深度。“社区对我提交的补丁反馈了很多宝贵的意见,比如补丁是否会引入其他问题、有没有更好的修复方法等。这些方面的积累都能帮助到自己,并提高个人的开发能力”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不论性别男女,还是年纪大小,你都可以参与 Linux 内核社区。这已经被俞玉芬证明了。通过不断学习,沉淀知识,积累经验,她从一名小白顺利成长为初级 Linux 内核开发者。更重要的是,在这个过程中,她不仅增长了见识,自身能力得到极大的提升,而且让自己的代码在全世界被使用,获得很大的成就感。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"吴峰光:Linux 就是我的游戏"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吴峰光,接触 Linux 超过 20 年,曾因社区贡献获得 Linux 之父 Linus Torvalds 的好评。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/c9\/c909bd8797f2b76ff5fb8c9ad96d092b.webp","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"吴峰光"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吴峰光在 1998 年开始学习 Linux,此时,他还在中国科学技术大学读书。最初,他和大家一样学习 Windows,但后来无意中接触到 Linux。同学给他取了个不食人间烟火的绰号——“"},{"type":"text","marks":[{"type":"strong"}],"text":"老神仙"},{"type":"text","text":"”,但他却逐渐迷上 Linux,“发现它真的好,非常开放,一旦学会后终身受益。并且,一旦过了 Linux 门槛,它的效率就很高。此外,它是开源开放的,对技术人员非常友好,可以从中学到很多东西“。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吴峰光说:“我平时没有打游戏的爱好,Linux 就是我的游戏。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前,吴峰光已经为社区做了 "},{"type":"text","marks":[{"type":"strong"}],"text":"16 年贡献"},{"type":"text","text":",而第一次为社区做贡献是在 2005 年。那时,他首次向社区提交补丁。但是,补丁提交上去后没有任何响应。为此,他感到很纳闷,因为一般而言,开发者向社区提交补丁后,社区会有开发者反馈,即挑毛病。即使没有反馈,他也在改进补丁,继续向社区提交,“几个月后,收到社区的一个回复,真的很激动,但是那个补丁仍然不被接受”。在花了两年时间,累计写了十几个版本后,这个补丁才真正被接受。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2012 年由于为 Linux 社区提供自动化测试服务的 0day\/LKP 系统,他不仅受到广大 Linux 内核开发者的赞誉,而且获得 Linux 之父 Linus Torvalds 本人的好评。因为这个系统极大降低了新内核发布的编译与启动错误、性能 regression 等问题。为什么会开发这个系统?据吴峰光回忆:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"那时,我的工作最初是做预读和回写优化,本质是对 Linux 内核的一些算法进行优化。由于 Linux 内核的使用场景非常广泛,因此需要大量测试证明改进是有用的。每做一个新测试就会发现一些问题,然后进行修改,测试量大概占了整个工作的一半时间。其次,大家在参加 Kernel Summit 时谈到对 Linux 的担忧——它的复杂性不断增长。复杂性不仅会导致这个项目超出大家的维护能力,而且会让它失去对新人的吸引力,因为新人只有先理解一个系统,才能去修改它。此外,复杂性还会让系统失去演进能力,导致开发者很难修改系统,因为牵一发而动全身。如果任由内核继续膨胀,最终它会压垮自己。另一个重要因素是所在的内核组正考虑弄一个构建测试,后来把目标扩大,不仅仅只考虑自己所在的内核组,而是为整个社区提供服务。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"为了做这个测试系统,吴峰光另辟蹊径。传统上,“先跑一些测试用例,跑完后把所有问题放在一个 Web 界面,让开发者们看”。他直言,“这个效果不好。因为 Linux 社区很大,有几千个开发者,把一堆测出来的问题放在 Web 界面,里面有噪音,可能只有几个问题与自己有关,大部分都是别人子系统的问题。这就导致测试系统与开发者之间是割裂的,它没有一个好的指向性”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"吴峰光抓住一些关键点进行改进,按照自己的思路设计,定义出关键要素,可以精准识别开发者的痛点。同时,好钢用在刀刃上,聚焦关键点"},{"type":"text","text":"。刚开始,这件事的挑战不小,只有吴峰光一个人,一台机器,最初的测试系统甚至连 Web 界面都没有,测试很慢,”我后来在实验室用各种途径搜刮可用资源,慢慢才积累起更多的测试资源。在成功后,更多人才加入进来“。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他说:“我每个开发都要实实在在的,做那种能落在开发者心坎上的功能。”最终,这个测试系统获得很大成功。那段时间,每天都有人发邮件感谢吴峰光。甚至参加 Kernel Summit 时,开发者们集体给吴峰光鼓掌,“那是我参加 Kernel Summit 后从未遇到的事,以前也没有这样的事”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"十几年参与 Linux 社区的过程中,他对核心开发者的邮件印象深刻。“我特意把 Linux 邮件列表的一部分人用语法加亮,因为他们写的邮件很值得阅读,比如 Linus Torvalds”。这些核心开发者很善于在邮件里表达观点,邮件内容可以写的非常生动和活泼,“感觉就像本人在那里讲话一样”。在他眼中,内核社区的所有核心开发者,邮件的表达能力都非常强。在邮件里就某一话题进行讨论或辩论时,提出鲜明观点,摆事实,讲道理。同时,其逻辑性非常强。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以 Linux 为游戏的吴峰光,为社区做了 16 年贡献,早已是资深 Linux 内核开发者。想成为资深 Linux 开发者,不是靠权力、财富或地位,而是看你对社区的贡献。更大的社区贡献意味着你能赢得更广泛的赞誉,即我为社区做贡献,我因社区更精彩。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Mauro Chehab:从一名终端用户到 Linux 社区核心贡献者"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/92\/922ddf2f50fb175eab82abe1c3c11df5.webp","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"Mauro Chehab"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Mauro Chehab 是华为 Linux 内核专家,自 2005 年以来一直担任 Linux 内核 Media 子系统维护者。据他介绍,Media 子系统涵盖了对各种设备的支持,还支持 HDMI 接口功能。作为维护者,其主要职责是审查向 Media 子系统提交的代码,检查代码质量是否过关,是否可以添加到内核中,并向开发者对打回的修改提供反馈建议。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"据悉,他最早是 Linux 的终端用户。为了将本地网络的数据包路由到互联网,他安装了 Linux。上大学时,他对信号处理领域产生了兴趣,还写了这方面的本科和硕士论文。当打算再进修时,他买了一张支持 Linux 的电视采集卡,用来开发一些编码视频的工作。然而,在测试卡时,“我注意到驱动程序上有一个错误,导致它无法与巴西的电视编码系统一起工作。所以,我开始修复它的代码”。修复方法很简单:虽然巴西电视标准使用的颜色信号频率与美国的非常接近,但两者间的差异足以让敏感的主板滤波器拒绝信号。虽然这个修复很微小,但是他花了两周时间理解代码,阅读芯片文档,才确定错误的位置。在修复结束后,他添加了两行额外的代码让驱动程序感知这种差异。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在写出补丁后,Mauro Chehab 便向社区提交。他说:“一位热情的内核开发人员指导我修改补丁,并且介绍了 Linux 编码风格。根据 Linux 编码风格,我又重新修改了几次。“"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"成功提交第一个补丁后,他在 Linux 内核社区非常活跃,开始修复驱动程序其他几个错误。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"这引起了开发人员的注意,他们也请求 Mauro Chehab 帮他们提交代码。事实上,当时 Media 维护者转移到另一个子系统,正好缺人,这样 Mauro Chehab 成为了这个子系统的维护者。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“在工作几个月后,以前的维护者看到我的工作,在交谈后,我们发了一个补丁,宣布从那时起,我正式担任 Media 维护者。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"对 Mauro Chehab 来说,Linux 社区每个版本聚合了 2000 多个来自不同文化习惯和时区的贡献者,“持有不同见解的贡献者,我相信这是 Linux 内核维护工作中最具挑战性的部分”。这种巨大的多样性让 Linux 成为一个如此庞大而重要的系统。但这也带来了相当大的挑战,即如何融合和使用这些想法与观点,让整个系统顺利运行,并带来全面的改进,帮助来自全球所有国家的人们。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"作为维护者,他工作的大部分时间主要审查提交的补丁,并作出反馈。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他表示,“我们一直欢迎新的社区贡献者加入,成为开发人员的唯一基本要求就是对它感兴趣。不要害怕交谈或提问,我们向来欢迎并且乐意帮助每个人。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Mauro Chehab 不仅是 Linux 内核 Media 子系统维护者,而且是 Linux 社区核心贡献者和维护者,并在 Fedora 社区和 KDE 社区维护多个核心包。他在 Linux 5.8 版本补丁数和修改代码行数均排名第一,提交代码 549 次,占比 3.4%,修改代码行数占到所有人修改的 1\/4。并且,他在 Linux 5.10 的版本贡献排名第二。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"究竟是什么支持他 16 年来不断为 Linux 社区做贡献?他回答:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我之所以持续为 Linux 社区做贡献,是因为我有机会协助开发一个在全球范围内使用的现代操作系统,它可以在大量设备和计算机上使用,为许多不同的硬件提供支持,其功能每 2.5 个月更新一次。我有机会在变化最多的领域工作。最近用于从火星表面视频制作的机智号直升机使用的就是 Linux。所以,现在我们的代码已经冲出地球,到达了另一个星球!我很自豪能够为这样的成就做出某种贡献。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在 Mauro Chehab 看来,Linux 社区的主要价值观念是开源。这样,任何人都可以访问 Linux 的源代码,将其用于任何目的并将改进它。这意味着人们可以从代码中学习,任何人都可以随时随地对它做出改进。它有一个非常包容的环境,所以吸引和招募了来自不同国家和文化的开发者。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"十几年 Linux 内核维护工作让他遇到过很多伟大的开发人员,并在采访中重点提到了以下五位:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Linus Torvalds 作为 Linux 创始人,他是一个非凡的开发人员和维护者,能够从一开始就协调内核开发。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Greg Kroah-Hartman 是一位非常有才华的开发人员和维护人员。他管理 staging tree,这对初学者来说是一个有趣的地方,因为它包含的驱动程序不完全遵循编码风格,需要进一步的审查和编码。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Jonathan Corbet 撰写了一些 Linux 著作,他为 Linux 内核开发人员维护了一个非常有价值的网站,专注于开源和 Linux。他也是文档子系统的维护者,并开发了几个 Linux 驱动程序。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Randy Dunlap 让我最难忘。当我开发内核的第一个补丁时,他帮了我很多忙。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Andrew Morton 的工作也很出色,他除了维护内存子系统,还主动去维护那些无人维护的子系统,合入补丁。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在采访最后,他说:“为 Linux 工作是令人高兴愉快的,我觉得做自己真正喜欢的事情,并能够在世界和社会中带来影响,真的很有成就感。作为华为团队的一员,我们专注致力于帮助 Linux 内核改进,为其添砖加瓦。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以开源为核心,Linux 社区的包容、开放氛围似乎具有一种魔力,源源不断地吸引着来自全世界的优秀开发者。这或许才是 Linux 社区的生命力。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"写在最后:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"无论是俞玉芬,还是吴峰光,或 Mauro Chehab,他们不仅是 Linux 内核开发者的代表,而且是 openEuler 社区的内核 SIG 组一员。正是因为有他们的贡献,Linux 内核才能越来越好,而这也为 openEuler 社区的蓬勃发展奠定了坚实的基础。openEuler 社区从成立到现在,已经拥有 5200+ 社区开发者,社区版本下载量超 15 万。社区迅速发展壮大,版本如期稳定发布。这一切都离不开开发者的辛勤付出,向每一位开发者致敬!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今年也是由华为来主办中国内核届最有影响力的峰会 --“中国 Linux 内核开发者大会”(简称 CLK)。CLK 以“自由,协作,创新”为理念,以开源技术的推广和普及为使命,旨在促进 Linux 内核开发爱好者相互交流、共同进步。由英特尔、华为,阿里巴巴、富士通南大软件、清华大学,今日头条、麒麟软件,统信软件等企业组织,每届线下参会人数近 500 人,举办至今已是第十六届。openEuler 社区也会积极参与到 CLK 大会中。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章