LWN: 5.13 开发周期的一些统计数据!
共 4261字,需浏览 9分钟
·
2021-07-12 14:20
关注了就能看到更多这么棒的文章哦~
Some 5.13 development statistics
By Jonathan Corbet
June 28, 2021
DeepL assisted translation
https://lwn.net/Articles/860989/
5.13 开发周期非常繁忙,这是之前就预料到的。在 9 周的开发周期内 mainline 已经合入了 16,030 个 non-merge changeset。5.13 在 6 月 27 日正式发布了,这意味着我们又该看一下这次合入的代码的出处了。
就 changeset 的数量而言,5.13 并不是有史以来最繁忙的开发周期,这个记录仍然属于 5.8,其中包含了 16306 个改动,其实 5.10 也是非常繁忙的(16174)个改动。但是 5.13 确实创造了一个记录:有 2062 名开发者作出了贡献,这是第一个超过 2000 名开发者参与的发布周期了。其中有 329 位是第一次为内核贡献 patch,这个数字同之前 4.12 版本创造的记录正好相等。
这次最活跃的开发者是:
Most active 5.13 developers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Lee Jones 再一次贡献了超出其他人数量的 changeset,他仍然是致力于清理代码以及消除 warning。Fabio Aiuto 和 Marco Cesati (以及其他一些人) 看起来在共同协作将 rtl8723bs 无线网卡驱动程序从 staging 目录移出来,在 5.13 版本中有超过 26 位开发者对这个驱动提交了 450 个 patch。Sean Christopherson 继续对 KVM subsystem 进行了许多 rework 工作, 而 Pierre-Louis Bossart 则对 sound subsystem 进行了许多清理工作。
Hawking Zhang 为 kernel 添加了 125,000 行代码,他仍然是在增加许多 amdgpu 头文件,现在在 drivers/gpu/drm/amd/include 目录下已经有将近 240 万行代码了。Greg Kroah-Hartman 删除了 staging 目录中的一个没人关注的驱动,并且由于之前的 UMN patch review 事件而 revert 了许多 patch。Jiri Slaby 则删除了一些古老的 TTY 驱动,Dmitry Baryshkov 对一些 clock 和 DRM 驱动进行了重构。
5.13 的开发工作得到了至少 232 个公司和组织(employers)的支持,其中最活跃的是:
Most active 5.13 employers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
跟往常一样,基本没有什么意外。
当然,公司本身并不会写 patch,只有开发人员会做这件事。许多公司投入了许多精力来雇佣社区里的开发者,不过,这些开发者最开始是在哪里开始这个开发工作的呢?可以通过统计各位开发者第一次提出 kernel patch 的时候受雇于哪家公司来大致了解一下。人们可能会以为这些开发者最开始是以志愿者的身份进来的,是先证明有能力从事内核工作之后才开始得到相应的薪资报酬的,确实许多内核开发者是这么开始的。但是其他人在第一次提交 patch 的时候都已经有雇主了。
在 5.13 中,这 329 位首次贡献者中有 150 位是已经有正式工作的了。下面这些公司或组织雇佣了至少两位首次贡献 kernel patch 的开发者:
Employers of first-time contributors | |
---|---|
Company | Developers |
Huawei Technologies | 30 |
AMD | 16 |
Intel | 12 |
11 | |
Samsung | 6 |
MediaTek | 5 |
Code Aurora Forum | 4 |
IBM | 4 |
Microchip Technology Inc. | 3 |
Microsoft | 3 |
Cirrus Logic | 2 |
Red Hat | 2 |
Habana Labs | 2 |
2 | |
NXP Semiconductors | 2 |
NVIDIA | 2 |
ZTE Corporation | 2 |
还有其他 179 首次贡献者,其中两位是 Outreachy 实习生,还有两位大家都知道他们是自由工作者(working on their own time)。就算其他大多数人也是志愿投入工作的话,我们也可以得到一个可靠结论:首次贡献者中至少有一半是在正式工作中完成这些工作的。这表明至少有一些公司是在致力于将新的开发者引入内核社区的。
至于这些首次贡献者具体进行了哪些修改,可以从下面的信息看出来,即首次贡献者最经常提供 patch 的目录:
Directory | Patches |
---|---|
drivers/staging | 49 |
drivers/net | 27 |
Documentation | 21 |
drivers/gpu | 21 |
net | 17 |
include | 16 |
sound | 15 |
tools | 13 |
arch/arm | 11 |
drivers/hid | 10 |
不出所料,staging 目录是第一次提 patch 时最常修改的地方。而 networking core 或者 GPU 驱动则有点出乎意料,通常想不到它们会是新开发者开始的地方,所以很可能修改这些地方的首次贡献者们是从工作中学习,然后开始贡献的。
总结一下,内核社区继续以令人印象深刻的速度来合并 patch 并发布新版本。尽管新加入的开发者需要克服不少困难,但是我们的社区仍然得到了比以往更多的新开发者们的加入。看起来情况并不算糟糕。截至目前 linux-next 中有将近 12,500 个 patch 在等待合入,好多 patch 啊,不过比起 5.13 当时排队的 patch 数量还是少了 1,000 个。因此,5.14 版本的开发周期可能比起 5.13 来说改动会少一点——只少一点点而已。
全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。
长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~