Quanti sviluppatori reali lavorano sul kernel Linux?


18

Per uno studio che sto facendo, mi è stato chiesto quanti sviluppatori reali si impegnano su una tipica versione del kernel.

So che c'è Linus Torvalds come sviluppatore principale, seguito da molti secondi sviluppatori principali. Molti dei quali lavorano in aziende. Ma ecco i miei dubbi:

  1. Un commit nel kernel da una società significa che molti sviluppatori di quella società hanno lavorato per rendere possibile quel commit o era solo un uomo (Quello che ha fatto il commit).

  2. Esistono gruppi di terze parti che aiutano le aziende o i principali sviluppatori?

  3. Quale potrebbe essere la stima del numero totale di persone coinvolte in una particolare versione del kernel. Non solo il numero totale di aziende ma la quantità effettiva di persone che hanno contribuito in un modo o nell'altro al kernel.

Risposte:


20

Potrebbe essere interessante clonare il repository git di linux e interrogarlo immediatamente.

Clonazione del repository

Attenzione, è un file di grandi dimensioni! (~ 1.5G)

Installa gited esegui quanto segue (in una nuova directory):

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

Interrogazione del repository

Dopo averlo clonato, è possibile analizzare il registro di commit con git log. Poiché il registro è così lungo, potresti voler limitare la tua ricerca a un periodo di tempo più breve:

git log <since>..<to>

per esempio

git log v3.4..v3.5

Questo ha teoricamente molte informazioni che potresti usare. Ad esempio, quel comando stampa i 20 committenti più prolifici insieme al loro numero di commit e al loro indirizzo e-mail.

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

L'indirizzo email può darti un'idea dei datori di lavoro degli sviluppatori (google.com, cisco.com, oracle.com).


1
È anche possibile eseguire una query sulla cronologia del codice senza dover clonarla localmente tramite l' API github , ad esempio, ecco l'elenco dei collaboratori api.github.com/repos/torvalds/linux/contributors (sembra essere ordinato in base al numero di commit)
matt Wilkie,

secondo questo il comando sopra elenca solo il ramo corrente e uno deve usare git log --all ...per un elenco più completo
matt wilkie

1
Si noti inoltre che questo elencherà i contributori al kernel mainline. Ci sono fork / rami del kernel che sono stati distribuiti che sono stati creati con patch di altri sviluppatori, ad esempio il kernel utilizzato in Android.
Peter L.,

Probabilmente vorrai contare il numero di commit non uniti e vedrai che Linus sta facendo molto meno lavoro di quello.
Alexandre Belloni,

14

Vai alla copertura del kernel su LWN.net e cerca "Rilasci" e "Statistiche dei collaboratori". Cerca anche "Chi". Ci sono vari articoli in quell'indice con titoli come (il più recente) Chi ha scritto 3.5 .

Anche se questi articoli potrebbero non rispondere direttamente alla tua domanda, sono una risposta tanto dettagliata quanto probabilmente troverai in rete, senza cercare di raccogliere informazioni di prima mano. In particolare, dovrebbero fornire almeno una risposta parziale a 3.

La raccolta delle statistiche è fatta da gitdm (articolo LWN che lo annuncia: gitdm v0.10 disponibile ). Grazie a vonbrand per averlo segnalato. Il repository attualmente può essere ottenuto (gennaio 2015) con

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

Per quanto riguarda 1 e 2, non sono così ben definiti. Nel caso di 1, immagino che la risposta sia quasi certamente sì, qualche volta. Ma non è chiaro cosa stai cercando: prove aneddotiche o alcune statistiche. Se le statistiche, in quale forma? Nel caso di 2, per "gruppi di terze parti" non è chiaro cosa intendi e a che tipo di aiuto ti riferisci. Le persone su un canale IRC contano ad esempio come gruppo di terze parti? O stai parlando di un rapporto contrattuale più formale in cui il denaro cambia di mano? Come una società esterna trattenuta per una consulenza temporanea? In ogni caso, sarebbe difficile ottenere tali informazioni senza parlare direttamente con gli sviluppatori del kernel, e anche allora sarebbe probabilmente aneddotico. Suppongo che forum come la mailing list del kernel Linux sarebbero una possibilità in quel caso.


Grazie. Nel terzo caso cerco persone che abbiano anche aiutato in qualche modo a impegnarsi. Ad esempio, un gruppo di persone che hanno aiutato qualcuno in un'azienda. Questa persona nella compagnia lavorava con un gruppo che alla fine si era impegnato con il kernel.
Luis Alvarado,

La raccolta delle statistiche è fatta da gitdm (articolo LWN che lo annuncia lwn.net/Articles/290957 , l'ultimo commit è di Arpil 2012)
vonbrand
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.