Linux çekirdeğinde kaç gerçek geliştirici çalışıyor?


18

Yaptığım bir çalışma için tipik bir çekirdek sürümüne kaç tane gerçek geliştiricinin katıldığı soruldu.

Ana geliştirici olarak Linus Torvalds olduğunu ve ardından birçok ikinci ana geliştirici olduğunu biliyorum. Bunların birçoğu şirketlerde çalışıyor. Ama işte şüphelerim geliyor:

  1. Bir şirketten çekirdeğe yapılan bir taahhüt, o şirketten gelen birçok geliştiricinin bu taahhüdü mümkün kılmak için çalıştığı veya yalnızca bir kişi olduğu anlamına gelir (Taahhüdü yapan kişi).

  2. Şirketlere veya ana geliştiricilere yardımcı olan 3. taraf grupları var mı?

  3. Çekirdeğin belirli bir versiyonunda yer alan toplam insan sayısının tahmini ne olabilir? Sadece toplam şirket sayısı değil, çekirdeğe şu ya da bu şekilde katkıda bulunan gerçek kişi sayısı.

Yanıtlar:


20

Linux'un git deposunu klonlamak ve hemen sorgulamak ilginç olabilir.

Repoyu klonlama

Büyük bir dosya olduğuna dikkat edin! (~ 1.5 g)

gitAşağıdakileri yükleyin ve çalıştırın (yeni bir dizinde):

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

Repoyu sorgulamak

Klonladıktan sonra, taahhütlerin günlüğünü analiz edebilirsiniz git log. Günlük çok uzun olduğu için araştırmanızı daha kısa bir süre ile sınırlamak isteyebilirsiniz:

git log <since>..<to>

Örneğin

git log v3.4..v3.5

Bu teorik olarak kullanabileceğiniz çok fazla bilgi var. Örneğin, bu komut, en verimli 20 komisyonu, taahhüt sayısı ve e-posta adresleriyle birlikte yazdırır.

$ 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>

E-posta adresi, geliştiricilerin işverenleri hakkında bir fikir verebilir (google.com, cisco.com, oracle.com).


1
Bu yoluyla yerel olarak klonlamak zorunda kalmadan kod geçmişini sorgulamak da mümkündür github API , örneğin burada katkı listesi var api.github.com/repos/torvalds/linux/contributors (görünür kaydedilmesini sayısına göre sıralanmasını)
mat wilkie

göre bu sadece listelerde Yukarıdaki komut geçerli dal ve kullanımına bir ihtiyacı git log --all ...daha kapsamlı liste için
mat Wilkie'ye

1
Ayrıca bunun ana çekirdeğe katkıda bulunanları listeleyeceğini unutmayın. Android'de kullanılan çekirdek gibi diğer geliştiricilerin yamalarıyla oluşturulmuş çekirdeğin dağıtılmış çatalları / dalları vardır.
Peter L.

Muhtemelen birleştirme dışı taahhütlerin sayısını saymak istiyorsunuz ve Linus'un bundan daha az iş yaptığını göreceksiniz.
Alexandre Belloni

14

Git LWN.net de Çekirdek kapsama ve "Açıklamaları" ve "Katılımcı istatistik" için bir arama yapın. Ayrıca "Who" için bir arama yapın. Bu dizinde (en son) Kim yazmış gibi başlıklara sahip çeşitli makaleler vardır 3.5 .

Bu makaleler doğrudan sorunuza cevap vermese de, ilk elden bilgi toplamaya çalışmadan internette bulabileceğiniz kadar ayrıntılı bir cevaptır. Özellikle, 3'e en azından kısmi bir cevap vermelidirler.

İstatistik toplama gitdm tarafından yapılır (LWN makalesi bunu ilan eder: gitdm v0.10 mevcut ). Bunu işaret ettiği için vonbrand'a teşekkürler. Depo şu anda (Ocak 2015)

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

1 ve 2'ye gelince, bunlar çok iyi tanımlanmamıştır. 1 durumunda, cevabın neredeyse kesinlikle evet, bazen olduğunu düşünüyorum. Ama ne aradığınız belli değil - anekdot kanıtları veya bazı istatistikler. Eğer istatistikler, hangi biçimde? 2 durumunda "3. parti gruplar" ile ne demek istediğinizi ve ne tür bir yardımdan bahsettiğinizi açık değildir. Örneğin, IRC kanalındaki kişiler üçüncü taraf grubu olarak sayılır mı? Yoksa paranın el değiştirdiği daha resmi bir sözleşme ilişkisinden mi bahsediyorsunuz? Dış danışmanlık gibi geçici danışmanlık için mi kalmış? Her halükarda, bu tür bilgileri doğrudan çekirdek geliştiricilerle konuşmadan almak zor olurdu ve o zaman bile muhtemelen anekdot olacaktır. Sanırım Linux çekirdek posta listesi gibi forumlar bu durumda bir olasılık olurdu.


Teşekkür ederim. 3. durumda, bir şekilde taahhütte bulunmamıza yardımcı olan insanları arıyorum. Örneğin, bir şirkette birine yardım eden bir grup insan. Şirketteki bu kişi, sonunda çekirdeği taahhüt eden bir grupla çalıştı.
Luis Alvarado

İstatistik toplama gitdm tarafından yapılır (LWN makalesi lwn.net/Articles/290957 , en son taahhüt Arpil 2012'den alınmıştır)
vonbrand
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.