Сколько реальных разработчиков работает над ядром Linux?

18

Для исследования, которое я делаю, меня спросили, сколько реальных разработчиков делают коммит на типичной версии ядра.

Я знаю, что основным разработчиком является Линус Торвальдс, за которым следуют многие вторые главные разработчики. Некоторые из которых работают в компаниях. Но тут возникают мои сомнения:

  1. Означает ли коммит в ядро ​​из компании, что многие разработчики из этой компании работали над тем, чтобы сделать коммит возможным, или это был только один человек (тот, кто сделал коммит).

  2. Существуют ли сторонние группы, которые помогают компаниям или основным разработчикам?

  3. Какой может быть оценка общего числа людей, вовлеченных в конкретную версию ядра. Не только общее количество компаний, но и фактическое количество людей, которые так или иначе внесли свой вклад в ядро.

Луис Альварадо
источник

Ответы:

20

Может быть интересно клонировать git-репозиторий linux и немедленно запросить его.

Клонирование репо

Осторожно, это большой файл! (~ 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).

rahmu
источник
1
Также можно запросить историю кода без необходимости локального ее клонирования через github api , например, вот список участников api.github.com/repos/torvalds/linux/contributors (похоже, сортируется по количеству коммитов )
matt wilkie
в соответствии с этим команда, приведенная выше, перечисляет только текущую ветвь, и ее необходимо использовать git log --all ...для более полного списка
matt wilkie
1
Также обратите внимание, что в этом списке будут перечислены участники основного ядра. Есть распределенные ветки / ветки ядра, которые были собраны с патчами от других разработчиков, например, ядро, используемое в Android.
Питер Л.
Вы, вероятно, захотите посчитать количество коммитов без слияния, и вы увидите, что Линус выполняет намного меньше работы, чем это.
Александр Беллони
14

Перейдите в раздел «Охват ядра» на LWN.net и выполните поиск по «Релизам» и «Статистика участников». Также выполните поиск по «Кто». В этом индексе есть различные статьи с заголовками, такими как (совсем недавно) Кто написал 3.5 .

Хотя эти статьи могут не дать прямого ответа на ваш вопрос, они являются настолько подробным ответом, какой вы, скорее всего, найдете в сети, не пытаясь собирать информацию из первых рук. В частности, они должны дать хотя бы частичный ответ на 3.

Сбор статистики осуществляется gitdm (статья LWN объявляет об этом: доступна gitdm v0.10 ). Спасибо vonbrand за указание на это. В настоящее время хранилище (январь 2015 г.) можно получить с помощью

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

Что касается 1 и 2, они не так хорошо определены. В случае 1, я думаю, что ответ почти наверняка да, иногда. Но не ясно, что вы ищете - неподтвержденные данные или некоторая статистика. Если статистика, в каком виде? В случае 2 под «сторонними группами» неясно, что вы имеете в виду и на какую помощь вы обращаетесь. Например, будут ли люди на канале IRC считаться сторонней группой? Или вы говорите о более формальных договорных отношениях, когда деньги переходят из рук в руки? Как сторонняя компания для временного консультирования? В любом случае, такую ​​информацию было бы трудно получить без непосредственного общения с разработчиками ядра, и даже тогда, скорее всего, она была бы анекдотичной. Я полагаю, что форумы, такие как список рассылки ядра Linux, были бы возможны в этом случае.

Фахим Митха
источник
Спасибо. В третьем случае я ищу людей, которые также как-то помогли сделать коммит. Например, группа людей, которая помогла кому-то в компании. Этот человек в компании работал с группой, которая в конце сделала обязательство ядру.
Луис Альварадо
Сбор статистики осуществляется gitdm (статья LWN объявляет об этом lwn.net/Articles/290957 , последний коммит из Arpil 2012)
vonbrand