日本のでかいIT企業のLinuxカーネルパッチ数の推移

日本のでかいIT企業がupstreamのLinuxカーネルにどれだけパッチを取り込んできたかを、ふと気になったので調べました。調査期間はv2.6.13から本記事執筆時点の最新バージョンであるv5.5までです。対象とした企業は、筆者がLinuxカーネルを主な仕事をしていたころ(v4.xあたりまで)に目立っていた企業です。「あれからどうなったんだっけ」とふと気になったというのが調査の動機です。

パッチ数は次のスクリプトで数えました。

#!/bin/bash

for company in fujitsu hitachi nec ntt sony toshiba ; do
  echo "=== $company ==="
  for i in $(seq 12 38) ; do
    git log --oneline --format="%ae" v2.6.${i}..v2.6.$((i+1)) | grep $company | wc -l
  done
  git log --oneline --format="%ae" v2.6.39..v3.0 | grep $company | wc -l
  for i in $(seq 0 18) ; do
    git log --oneline --format="%ae" v3.${i}..v3.$((i+1)) | grep $company | wc -l
  done
  git log --oneline --format="%ae" v3.19..v4.0 | grep $company | wc -l
  for i in $(seq 0 18) ; do
    git log --oneline --format="%ae" v4.${i}..v4.$((i+1)) | grep $company | wc -l
  done
  git log --oneline --format="%ae" v4.19..v5.0 | grep $company | wc -l
  for i in $(seq 0 4) ; do
    git log --oneline --format="%ae" v5.${i}..v5.$((i+1)) | grep $company | wc -l
  done
done

あまり難しい数え方はしていなくて、パッチ著者のメールアドレスに企業名が入っているものを当該企業から出たパッチとしました。実際には企業アドレス以外から出したりというややこしいケースがあるのですが、それについては無視しました。

では結果です。

f:id:satoru_takeuchi:20200310213659p:plain
# of linux kernel patches

各社ともLinuxにガンガンメジャーな新機能が入っていたころにはパッチ数が多く、最近は比較的落ち着いてきているようです。全体的に富士通が多いですね(古巣age)。ここしばらくパッチ数がゼロの企業もあります。

今はどの企業にも属していないので、各社パッチ数が減ってきている理由は知らないです。

なにもかもがなつかしい。

2020/22:31追記

一番多かった富士通だけ残して海外の巨大IT企業を足してみました。

f:id:satoru_takeuchi:20200310223245j:plain

いずれもすごいですが、IntelとかRed Hatはさらに頭一つ抜けてますね。なお、海外企業の開発者は会社の名前がついていないメールアドレスでパッチを投げることが多いので、これらの企業に所属する開発者による実際のパッチ数はもっと増えます。

最後に。それぞれの企業にそれぞれの事情があるので、日本企業のパッチが海外企業に比べて少なかったり最近減ってたりするからけしからんとか日本のITがどうのこうのとか言うつもりはないです。