这一组百分比的数据能够激发你什么样的想象?这么形容,你觉得是否合理:“几乎整个(移动)互联网以及支撑它的云计算和大数据,都是由Linux来负责掌控的。” 这样一个神奇的系统的开发方式是什么样的?已经经过了26年的发展,它是如何保持活力的?庞大的社区又是如何协作的?我们不妨来解读一下Linux基金会刚刚发布的Linux内核开发报告2017
我很荣幸能够在Linux社区和一些具有高水准的人打交道。 –Julia Lawall(来自 Inria 的高级研究员如是说)
本次的报告,所统计的数据是从内核的4.7算起,到4.13止,先看看Linux都增加了那些新的特性吧:
透明 Huge 页现在可以支持基于文件的页,以及可编程的数据的页,可以更加高效的利用内存。
内核的文档系统切换到了新的工具链,即 Sphinx:为了更好的组织和加强内核的文档。
内核的核心计时机制,被替代为新的更加高效。
网络栈中的“易捷版数据路径”机制的实现,可以处理用户 BPF 程序负载的高速网络包。
BBR 拥塞控制算法改善了多种设置中的网络性能。
……
以及更多的驱动、更安全、更多的测试。
当你的代码是运行在数十亿台设备上的时候,感觉真的不一般。 ——Jens Axboe(Software Engineer, Facebook)
自从进入 Git 时代(即2005年 2.6.11 发布之后),共有15,637名开发者为 Linux 内核的开发做了贡献,这些开发者至少是来自1,513家公司。
尽管那些独立的开发者看起来是很多,但其实是少部分人做了大量的工作,在几乎所有的开发周期中,大约有1/3的开发者,每人仅贡献一个补丁。自2.6.11版本之后,贡献最多的前十位工程师,他们加起来的贡献有45,338次改变,大概占了总数的7.1%,前30名加起来的贡献是16%。他们的名字是:H Hartley Sweeten、Al Viro、Takashi Iwai、Mauro Carvalho Chehab、David S. Miller、Johannes Berg、Mark Brown、Tejun Heo、Russell King、Greg Kroah-Hartman、Thomas Gleixner、Christoph Hellwig、Hans Verkuil、Ingo Molnár、Chris Wilson、Arnd Bergmann、Geert Uytterhoeven、Dan Carpenter、Eric Dumazet、Joe Perches、Alex Deucher、Daniel Vetter、Laurent Pinchart、Axel Lin、Trond Myklebust、Ben Skeggs、Arnaldo Carvalho de Melo、Bartlomiej Zolnierkiewicz、Kuninori Morimoto、Linus Walleij。
(没有看到任何汉语拼音的贡献者)
Linux 仍然是存在这个人英雄主义色彩的,是的如此庞大的系统,必须是群体智慧的产物。但是精英们、英雄们付出了他们智慧与努力,理应得到荣耀。
我一直以来都喜欢底层的软件打交道,因为他们靠近硬件的边界。 ——Kees Cook(Software Engineer, 来自Google)
没错,你能想到的IT公司基本都是Linux的贡献者,他们雇佣开发者专门来对内核进行开发,有芯片厂商如Intel、AMD、ARM、TI等,也有互联网巨头Google、Facebook,是谁并不重要。
正如有的评论家称,无论哪家公司,若是去说开源对于他们的发展相比于他们的贡献都是不成比例的,无论怎么反馈都是他们有利。商业公司考虑的因素更多,但是不能失去内核,内核的开发无论其处于何种目的。都是应该的。拿Intel来说吧,即使Intel在过去的一年贡献率达到13%,但相比于它的营收,这点都是微不足道的。
开源固然感激商业公司的赞助,但是反过来,商业公司更应该感激开源能够让他们有机会赞助,并赚取利润。
像很多的社区一样,或者更大范围的道理,很多人是浅尝辄止,从kernel的历史来看,在每个版本都会有新人提交那么一个或几个patch,然后绝大多数人都离开了,只有少部分人留下来。目前社区的贡献者人数是:4,319,而其中过去一年中的新人有:1,670位。另外,新人们所提交的patch均是设备驱动,按照数量排名依次是:网络驱动、文档、显卡驱动、USB驱动、和声音子系统。
这样我们可以有一个直观的推论,那就是能上手内核开发的,并没有传说中的那么难,更难的在于坚持下来一直去做。当然,这一点,有商业公司的支撑会好很多。
到现在你是不是还没有看到 Linus Torvalds 的名字?
Linux 作为最大的开源项目之一,不是随便的无章法的,每一个补丁并非是直接就能进入主干的,而是要经过很多个子系统的。而每个子系统都是有对应的维护人员的,这些维护人员要审核人们的提交。每个补丁经过这些维护者审核之后,都会加上“Signed-off-by”,这意味着这个补丁可以进入内核。分析内核代码时,关注“Signed-off-by”,你就能明白都有谁是内核的守护者。
没错,Linus Torvalds 现在就是其中之一,由他本人“Signed-off-by”的补丁在过去的一年中有207,占总共的0.3%。
很少有开发项目能够拥有这么久的历史,大多数的项目在经历了如此长的历史之后,都会有“稳定状态”这样感觉,会有日薄西山的感觉。但是 Linux 内核没有这样,26了,它依然保持活力和旺盛的生命力。是的,有很多的学术研究Linux社区的成功之处,但是在我们彻底的将它搞明白之前,我们先总结下我们的教训:
短的开发周期真的很重要。
流程的可扩展性需要一个分布式的、层级的开发模式
工具很关键
强烈的共识导向模式非常重要。要作为一般规则。
内核还有一个相关的因素是“无回归”规则。
企业的参与在过程中蛮重要。
项目内部不应有边界。
以上这7点,对于任何的大型开源都有重要的参考价值。26年,内核用实际行动告诉我们,持续、合作的努力能带来巨大的共享资源,这本身没有任何一家单独的公司可以做得到。
Linux 迎来了巨大的成功,所有人都直接或间接的受益于它。Linux现在成了几乎整个IT领域的基石,当下发展的多数技术如云计算、大数据、IoT、机器学习,默认都是以Linux为基础,向上构建。然而就是这样的技术,其背后26年尤其是前13年,走过的曲折道路,艰辛道路。让我们重温下1998年的开源人物合影:
但是从技术和工程、协作、治理的角度讲,Linux 内核是人类史上的奇迹。其背后蕴含的哲学、方法都是我们值得挖掘的宝库。
Linux基金会所做的报告,看起来都是非常成功的数据。但是要知道,微观上是那些开发者殚尽竭虑、夜以继日的工作、调试、试验、沟通的结果,4319人共同打造的艺术品。难道这本身不应该被铭记和尊敬?感谢你们!
原文来自: 开源之道
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
支持识别各类商场、超市及药店的购物小票,包括店名、单号、总金额、消费时间、明细商品名称、单价、数量、金额等信息,可用于商品售卖信息统计、购物中心用户积分兑换及企业内部报销等场景
涉农贷款地址识别,支持对私和对公两种方式。输入地址的行政区划越完整,识别准确度越高。
根据给定的手机号、姓名、身份证、人像图片核验是否一致
通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。
IP反查域名是通过IP查询相关联的域名信息的功能,它提供IP地址历史上绑定过的域名信息。