Quantos desenvolvedores reais trabalham no kernel do Linux?

17

Para um estudo que estou fazendo, perguntaram quantos desenvolvedores reais estão comprometidos com uma versão típica do kernel.

Eu sei que Linus Torvalds é o desenvolvedor principal, seguido por muitos desenvolvedores principais. Vários dos quais trabalham em empresas. Mas aí vem minhas dúvidas:

  1. Um commit para o kernel de uma empresa significa que muitos devs dessa empresa trabalharam para tornar esse commit possível ou foi apenas um homem (Aquele que fez o commit).

  2. Existem grupos de terceiros que ajudam empresas ou desenvolvedores principais?

  3. Qual poderia ser a estimativa do número total de pessoas envolvidas em uma versão particular do Kernel. Não apenas o número total de empresas, mas a quantidade real de pessoas que contribuíram de uma forma ou de outra para o kernel.

por Luis Alvarado 24.08.2012 / 07:55

2 respostas

18

Pode ser interessante clonar o repositório git do linux e consultá-lo imediatamente.

Clonando o repo

Beware it's a large file! (~1.5G)

Instale git e execute o seguinte (em um novo diretório):

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

Consultando o repo

Após cloná-lo, você pode analisar o log de confirmações com git log . Como o log é muito longo, você pode limitar sua pesquisa a um período de tempo menor:

git log <since>..<to>

por exemplo

git log v3.4..v3.5

Isso teoricamente tem muitas informações que você pode usar. Por exemplo, esse comando imprime os 20 committers mais prolíficos junto com o número de commits e seu endereço de email.

$ git log v3.4..v3.5 | grep Author | cut -d ":" -f 2 | sort | uniq -c | sort -nr | head -n 20
417  Linus Torvalds <[email protected]>
257  Greg Kroah-Hartman <[email protected]>
196  Mark Brown <[email protected]>
191  Axel Lin <[email protected]>
172  David S. Miller <[email protected]>
138  Daniel Vetter <[email protected]>
132  H Hartley Sweeten <[email protected]>
128  Al Viro <[email protected]>
117  Stephen Warren <[email protected]>
113  Tejun Heo <[email protected]>
111  Paul Mundt <[email protected]>
104  Johannes Berg <[email protected]>
103  Shawn Guo <[email protected]>
101  Arnd Bergmann <[email protected]>
100  Thomas Gleixner <[email protected]>
 96  Eric Dumazet <[email protected]>
 94  Hans Verkuil <[email protected]>
 86  Chris Wilson <[email protected]>
 85  Sam Ravnborg <[email protected]>
 85  Dan Carpenter <[email protected]>

O endereço de e-mail pode dar uma ideia sobre os empregadores dos desenvolvedores (google.com, cisco.com, oracle.com).

    
por 24.08.2012 / 16:53
13

Vá para Cobertura do Kernel no LWN.net e faça uma busca por "Releases" e "Estatísticas do Colaborador". Também faça uma busca por "Quem". Existem vários artigos nesse índice com títulos como (mais recentemente) Quem escreveu 3.5 .

Embora esses artigos possam não responder diretamente à sua pergunta, eles são uma resposta tão detalhada quanto é provável que você encontre na rede, sem tentar coletar informações em primeira mão. Em particular, eles devem fornecer pelo menos uma resposta parcial a 3.

A coleta de estatísticas é feita pelo gitdm (artigo do LWN anunciando: gitdm v0.10 available ). Obrigado a vonbrand por apontar isso. O repositório pode atualmente (janeiro de 2015) ser obtido com

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

Quanto a 1 e 2, eles não são tão bem definidos. No caso de 1, imagino que a resposta seja quase certamente sim, em parte do tempo. Mas não está claro o que você está procurando - evidências ou estatísticas. Se estatísticas, de que forma? No caso de 2, por "grupos de terceiros", não está claro o que você quer dizer e a que tipo de ajuda você está se referindo. As pessoas em um canal de IRC contam como um grupo de terceiros, por exemplo? Ou você está falando de um relacionamento contratual mais formal, onde o dinheiro muda de mãos? Como uma empresa externa contratada para consultoria temporária? Em qualquer caso, tal informação seria difícil de obter sem falar diretamente com os desenvolvedores do kernel, e mesmo assim provavelmente seria anedótica. Suponho que fóruns como a lista de discussão do kernel Linux seriam uma possibilidade nesse caso.

    
por 24.08.2012 / 09:54