Linuxカーネルの開発者は実際何人いますか?


18

私がやっている研究のために、典型的なカーネルバージョンで実際に何人の開発者がコミットしているのか尋ねられました。

メインの開発者としてLinus Torvaldsがいて、それに続いて多くの2番目のメイン開発者がいることを知っています。そのいくつかは企業で働いています。しかし、ここに私の疑問があります:

  1. 会社からカーネルにコミットするということは、その会社の多くの開発者がそのコミットを可能にするために働いたのか、それともたった1人の男(コミットした人)だったのかを意味します。

  2. 企業や主要な開発者を支援するサードパーティグループはありますか?

  3. カーネルの特定のバージョンに関係する人の総数の推定値は何でしょうか。企業の総数だけでなく、カーネルに何らかの形で貢献した実際の人数。

回答:


20

Linuxのgitリポジトリを複製し、すぐにクエリするのは興味深いかもしれません。

リポジトリの複製

大きなファイルであることに注意してください!(〜1.5G)

git以下を(新しいディレクトリに)インストールして実行します。

git clone http://github.com/torvalds/linux.git

リポジトリのクエリ

クローンを作成したら、を使用してコミットのログを分析できますgit log。ログは非常に長いため、調査をより短い期間に制限することができます。

git log <since>..<to>

例えば

git log v3.4..v3.5

理論的には、使用できる情報がたくさんあります。たとえば、そのコマンドは、コミット数と電子メールアドレスとともに、最も多かった20人のコミッターを出力します。

$ git log v3.4..v3.5 | grep Author | cut -d ":" -f 2 | sort | uniq -c | sort -nr | head -n 20
417  Linus Torvalds <torvalds@linux-foundation.org>
257  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
196  Mark Brown <broonie@opensource.wolfsonmicro.com>
191  Axel Lin <axel.lin@gmail.com>
172  David S. Miller <davem@davemloft.net>
138  Daniel Vetter <daniel.vetter@ffwll.ch>
132  H Hartley Sweeten <hartleys@visionengravers.com>
128  Al Viro <viro@zeniv.linux.org.uk>
117  Stephen Warren <swarren@nvidia.com>
113  Tejun Heo <tj@kernel.org>
111  Paul Mundt <lethal@linux-sh.org>
104  Johannes Berg <johannes.berg@intel.com>
103  Shawn Guo <shawn.guo@linaro.org>
101  Arnd Bergmann <arnd@arndb.de>
100  Thomas Gleixner <tglx@linutronix.de>
 96  Eric Dumazet <edumazet@google.com>
 94  Hans Verkuil <hans.verkuil@cisco.com>
 86  Chris Wilson <chris@chris-wilson.co.uk>
 85  Sam Ravnborg <sam@ravnborg.org>
 85  Dan Carpenter <dan.carpenter@oracle.com>

電子メールアドレスは、開発者(google.com、cisco.com、oracle.com)の雇用主についてのアイデアを提供します。


1
github apiを使用してローカルでクローンを作成せずにコード履歴を照会することもできます。たとえば、貢献者のリストapi.github.com/repos/torvalds/linux/contributors(コミット数でソートされているように見えます)
mattウィルキー

よると、このリストのみ上記のコマンド現在のブランチと使用への1人のニーズgit log --all ...より包括的なリストについて
マットウィルキー

1
また、メインラインカーネルへの貢献者がリストされることに注意してください。Androidで使用されているカーネルなど、他の開発者からのパッチでビルドされた、分散されたカーネルのフォーク/ブランチがあります。
ピーターL. 14

おそらく、非マージコミットの数をカウントする必要があり、Linusがそれよりもはるかに少ない作業を実行していることがわかります。
アレクサンドル・ベローニ

14

LWN.netのカーネルカバレッジに移動し、「Releases」および「Contributor statistics」を検索してください。「Who」も検索してください。そのインデックスには、(最近)Who 3.5を書いたようなタイトルのさまざまな記事があります。

これらの記事はあなたの質問に直接答えないかもしれませんが、情報を直接収集しようとせずに、あなたがネットで見つける可能性が高いほど詳細な答えです。特に、3に対して少なくとも部分的な回答を提供する必要があります。

統計の収集はgitdmによって行われます(LWNの記事:gitdm v0.10 available)。これを指摘してくれたvonbrandに感謝します。リポジトリは現在(2015年1月)に取得できます

git clone git://git.lwn.net/gitdm.git

1と2については、あまり明確に定義されていません。1の場合、答えはほぼ間違いなくはい、時々あると思います。しかし、あなたが探しているもの-逸話的な証拠、またはいくつかの統計-は明確ではありません。統計の場合、どのような形で?2の場合、「サードパーティグループ」によって、あなたが何を意味し、どのようなヘルプを参照しているのかが明確ではありません。たとえば、IRCチャンネルのユーザーはサードパーティグループとしてカウントされますか?それとも、お金が変化するより正式な契約関係について話しているのですか?一時的なコンサルティングのために保持されている外部企業のように?いずれにせよ、そのような情報はカーネル開発者に直接話さずに入手するのは難しく、その場合でも逸話になるでしょう。その場合、Linuxカーネルのメーリングリストのようなフォーラムが可能になると思います。


ありがとうございました。3番目のケースでは、何らかの形でコミットを支援してくれる人を探しています。たとえば、会社の誰かを助けた人々のグループ。この会社の人は、最後にカーネルにコミットしたグループと協力しました。
ルイスアルバラード

統計情報の収集は、(LWNの記事announcigそれをgitdmによって行われlwn.net/Articles/290957は、最新のコミット2012 Arpilからである)
vonbrand
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.