Top
首页 > 正文

解密红帽开发的秘诀:开源为何并不简单

开源社区诞生几十年来,软件开发发生了巨大变化。
发布时间:2022-09-09 11:05        来源:赛迪网        作者:徐培炎

【赛迪网讯】开源社区是开源数字技术交流、开源产品发布推广的重要平台。在这个共建的平台上,技术人员不断摸索,形成合理的利益分配和风险分担的机制,鼓励联合创新,降低了企业开发数字产品的风险和成本,是在互联网共享生态、文化形成的优秀成果,对数字技术迭代更新有不可估量的推动作用。

但是,近年来,保守主义正在慢慢兴起,对全球开发共享的观念、机制产生了不小冲击、挑战。具体到开源社区来说,一些开源公司宣布停更开源系统,让人们对开源生态产生了忧虑和思考。比如,今年1月31日,红帽宣布对CentOS Linux8的支持结束,引发不小议论。

1662095058756

在《“十四五”软件和信息技术服务业发展规划》当中,国家也把“到2025年建设2-3具有国际影响力的开源社区”列为当前的发展目标。华为云、阿里云、腾讯云三大云计算服务厂商都纷纷加入战局,宣布打造打造的Linux 开源社区的计划。2022年9月1日,红帽召开了一个“红帽企业开源讲堂”,红帽首席架构师张家驹、红帽Kernel开发经理杨瑞瑞、红帽战略产品推广经理佟一舟在线与观众就如何开发开源软件、如何在远程办公中管理员工等问题进行了深入交流。

开源并不简单

开源社区诞生几十年来,软件开发发生了巨大变化。根据IDC的统计显示,2020年,世界上软件开发代码总共编写高达100万行,其中40%的研发成果是复用第三方代码实现,而第三方代码绝大多数就是开源社区的代码。按照一般的发展趋势,每年全球产生软件的数量都是前一年的1.5倍,因此毋庸置疑,开源社区的代码需求量只会越来越大,研发成果中复用第三方和开源代码实现的比例会越来越高。IDC同时也作了另一项预测,在分析了近十年的数据后得出结论,到2024年,大约有80%的软件研发成果都是复用第三方代码实现。

表面上看,运用开源社区的代码编写软件如同站在巨人的肩上攀登高峰,但这个探索的过程也仍非易事。红帽战略产品推广经理佟一舟对此做了简要的概括。

首先,开发者面临的第一个挑战是如何在海量的开源组件和代码中发现和甄选合适的组件与代码。开源的组件、代码有可能来也匆匆去也匆匆,因为某一时期贡献良多受到热捧,随后又逐渐消失于人们的视野。要做到精准的甄选需要开发者对企业和开源组件、代码有非常深入的了解和预判。

其次,开源社区的软件迭代非常快,开发者要想办法吸收这份活的代码,以让社区的代码不断更新,不断进行新技术的演进和bug的修复。尤其是自己编写的代码和借鉴的部分代码都在演进,这两方的演进应如何整合,如何形成统一的企业级软件,是开发者长期要思考关注的问题。

最后,是对软件漏洞的不断修复,这是任何软件开发都必须要长期做的事情。

红帽研发第一准则

作为拥有30年开源经验的专业企业,红帽研发的第一准则总结起来就是9个字:百分百开源、上游优先。

“红帽一定是一直是开源的,不会有闭源的可能性。”佟一舟肯定地强调。其原因有二。

首先, Linux内核是在GPL开源许可下研发的,红帽必须使用GPL协议之下的代码,所以开发的产品也必须是开源。作为一家非常遵守国际规则和开源准则的公司,红帽的Linux一定是开源的。

其次,红帽运用社区的开源软件进行加固、测试、修复漏洞,最后集成为非常坚固、先进、可靠的企业级开源软件。企业购买使用开源软件,让开源软件的生态变得丰富,最后许多企业也会变成开源软件贡献者。从长线来看,开源社区维护得越好,红帽未来的生意才会更好,所以红帽的生意形成了一个正向的闭环。故而红帽从企业经营的角度,也不会放弃开源的模式,“百分百开源”是红帽始终坚持的研发第一准则。

所谓“上游优先”,上游就是指红帽Linux所维护的那个分支,Linux内核的分支。红帽的内核不是基于stable这样一个kernel,而是基于某个固定的版本,然后从上游来移植很多的代码,同时要加入自身基于测试和改进的工程性内容。红帽的测试团队会对大量测试案例进行测试,不仅仅是针对某一功能的测试,而是一个全面的测试。每一个小团队负责一个小模块子系统,使得红帽对这些内核的迭代更加敏捷

信任为重,好奇为先

众所周知,作为开源软件的老牌企业,红帽的员工来自世界的五湖四海,早在疫情让远程办公模式在许多企业普及以前,远程办公就早已是红帽工作的一种常态。对于很多企业来说,远程办公意味着效率的降低,但这似乎从来不曾困扰红帽。

“我觉得最大的秘诀在于什么呢?在于一个信任。”红帽Kernel开发经理杨瑞瑞道开了成功的秘诀。当然红帽在远程办公中保证效率不仅仅源自员工自身的自觉,也和其特殊的行业激励有关。

在开源社区当中,当看到自己的名字在 Git log里面的Signed-off-by出现时,每一个程序员都会油然而生一种成就感,尤其是自己的第一个补丁得到应用以后。同样,在这个开源共享的世界中,每个人的错误也会被广泛传播,这种耻辱感也迫使每一位员工认真对待自己敲下的代码。正是这种开放共享的环境激励了每一个人自觉自励,高效完成手中的工作。同样,在这样的共享环境中,也逐渐培养出了一小撮人,他们长年坚持,精益求精,极具匠人精神。

同样,要想加入这样开源的工作环境,好奇心是最重要的考核标准。“我最看重的就是比如说一个工程师他要有好奇心。”杨瑞瑞表示,这是红帽文化的一个突出特征,红帽的工程师都是自主性比较强。只有在好奇心的驱使下,红帽才能不断在开源的世界拥抱开放,创造奇迹。(文/徐培炎)

每日必读

专题访谈

合作站点