究竟是谁,能这么频繁的在Linux内核中贡献,又未曾在各类大会派对中看到TA?
(本文字数:3070,阅读时长大概:5分钟)
在发布的Linux内核报告中,长期可以看见一个贡献者——“YueHaiBing”,自2018年末以来,TA对每位版本就会贡献大量的补丁,帮助Linux内核不断迭代。为了找到这个来自华为的优秀贡献者,我开始找到同学圈的华为朋友linux设置默认网关,了解相关信息。每次谈到“YueHaibing”,你们都是神秘的一笑,就不再说话。
这让我愈发好奇,究竟是谁,能这么频繁的在Linux内核中贡献,又未曾在各类大会派对中看到TA?这让我形成了极大的好奇心。直至openEuler的问世,我们和openEuler社区的合作渐渐变多,总算晓得,原先YueHaiBing背后,居然是华为的手动内核缺陷发觉机器人HULKRobot!正是HULKRobot完成了这么高频且优质的内核代码贡献。没想到,我以为的高手,背后居然是一个机器人!
而为了才能了解到更多关于HULKRobot的信息,我专访了HULKRobot的构架师——魏勇军先生,和魏勇军先生聊了聊关于HULKRobot的故事。
魏勇军(左)接受老王(右)的采访
HULKRobot的来历
提到HULKRobot的诞生,魏勇军提及,虽然HULKRobot很早便早已在社区应用。在2017年的时侯,HULKRobot的前身早已步入到Linux内核社区当中,发挥自己的作用。
在当时,HULKRobot以“WeiYongjun”这个身分,在Linux内核社区中贡献代码,递交代码修补补丁。“WeiYongjun”提交代码的频度之高,质量之优,让Linux内核的核心维护者GregKroah-Hartman都为之咋舌。在2017年上海举行的首次LC3会议上,GregKroah-Hartman还专门谈到了“WeiYongjun”。
而来自社区的积极反馈,让魏勇军意识到,这个机器人对Linux内核社区是有价值的,可以帮助Linux内核越变越好。那为何不让这个事情更进一步呢?
于是,HULKRobot即将立项了。
但,说上去容易做上去难。HULKRobot想要给Linux内核贡献代码、提供补丁,却绝非易事。但魏勇军找到了思路。华为多年来似乎在做自己的服务器操作系统,但仍然坚持“上游优先”,积累了大量的Linux内核维护经验,HULKRobot可以通过整理过去的华为开发者的经验、测试用例,并将这种进行对比验证,确保那些更改是正确的、有价值的,再将其迁移至HULKRobot中,让机器人手动进行更多代码的扫描。
而随着华为对于Linux内核的不断进行代码贡献,总算,HULKRobot成为了一个拥有丰富的测试集和侦测能力的机器人。
HULKRobot怎么递交代码?
HULKRobot随着不断的发展,还能为社区贡献更多的代码,从Linux内核的统计报告来看好的linux社区,从Linux5.1开始,仍然到最新的5.10、5.12,HULKRobot的递交能力在逐步变强,为社区贡献的代码也越来越多,早已在内核社区历史Reported-By榜单排行TOP2。
魏勇军说,HULKRobot背后是一套十分复杂的分布式系统。其本质上是一个海量的测试集与一系列先进的手动化测试、问题测量的手段。HULKRobot和别的Linux内核测试机器人不同的是华为由于开发openEuler发行版,在内核的维护上付出了不少的时间和精力,拥有丰富的经验,也因而可以在其中贡献更多的代码。
对于魏勇军来说,HULKRobot现在的重点早已远不是打算更多的测试集,而是要进一步的优化整个内核测量的流程。目前每次版本变更HULKRobot都须要跑一次完整的测试集,费时吃力,他希望可以让HULKRobot可以愈发的智能,当代码修改过后,只检查涉入到相应功能的测试集,而不是测试庞大的全部测试集。据悉,加入更多的DevOps能力,让更多的人可以参与到HULKRobot的开发工作中,更好的为内核贡献代码。这种更改,都可以让HULKRobot可以更好的为整个社区提供贡献,愈发高效的贡献代码。
也正由于HULKRobot,让整个社区可以拥有一个愈发稳健和安全的操作系统,整个社区都因HULKRobot获益。
社区、开源、机器人
虽然仍然以来,机器人的应用在开源项目的维护当中是广泛应用的,但对于开源项目本身的维护,仍然以来机器人参与的都不多,我也以此机会与魏勇军交流了看法。
魏勇军表示,Linux内核的维护风格是十分社区化的,社区的维护者默认信任每一个递交贡献者都是为了社区的常年发展而贡献代码,因而,社区的维护者并不拒绝机器人参与到内核的维护中。假如对于整个社区的常年发展是有益的、做出了优质的贡献,社区支持更多的手动化机器人参与到贡献当中。
其实在未来,我们能看见HULKRobot会开源,让整个社区一起参与到贡献当中,更好的让Linux内核得到维护。
用技术赋能社区
仍然以来,Linux社区都由于资深维护者的流失而担心,害怕社区不再有年青的血液注入,最终丧失了活力。
而HULKRobot则为这个事情提供了一种新的思路:可以将资深维护者的经验弄成固化的代码,因而促使知识得以弘扬,而HULKRobot的手动化运行机制,又为社区提供了源源不断的贡献和补丁,让这个系统成为一个愈发好用和安全的系统。从某种角度来看,HULKRobot解放了Linux内核的贡献者,让贡献者们可以愈发专心的做更加重要的事情,把那些繁冗复杂的事情,交给机器人来完成,因而减少了对于社区新鲜血液的需求度。
HULKRobot不仅仅是为上游提供了新鲜的血液,也更是openEuler常年发展不可或缺的护道人,正是HULKRobot背后的默默无闻的工作,能够让openEuler可以愈加稳固的运行,为广大开发者提供一个简单、好用、实用的Linux发行版。
我们须要新鲜血液么?其实须要,但假如我们能把门槛增加好的linux社区,这不也是一件好事么?
2021年6月10日,openEuler社区将发起一场面向社区开发者的技术峰会openEulerDeveloperDay2021linux操作系统培训,会中将对多样性估算、云原生全栈、全场景协同等技术发展方向进行持续探求和创新;技术委员会、用户委员会、品牌委员会等20个SIG组同期举行开放工作大会;技术委员会主席将深入剖析openEuler21.03,发布下个社区版的技术定位并分享社区创新思路;顾客、伙伴、厂商、研究机构将在开源圆桌中共同阐述开源软件供应链的意义和风险,开源模式怎么推进以及独立演化操作系统的技术发展。
更多活动信息:/zh/interaction/summit-list/devday2021/