Linux 커널에서 실제 개발자는 몇 명입니까?


18

내가 연구하고있는 나는 전형적인 커널 버전에 얼마나 많은 실제 개발자가 커밋했는지 물었다.

Linus Torvalds가 주요 개발자이고 많은 두 번째 주요 개발자가 있음을 알고 있습니다. 그 중 몇 가지는 회사에서 일합니다. 그러나 여기 내 의심이 온다.

  1. 회사에서 커널로 커밋한다는 것은 해당 회사의 많은 개발자가 커밋을 가능하게 만들었거나 한 사람 (커밋 한 사람) 이었음을 의미합니다.

  2. 회사 나 주요 개발자를 돕는 타사 그룹이 있습니까?

  3. 특정 버전의 커널에 관련된 총 인원 수는 얼마입니까? 총 회사 수뿐만 아니라 커널에 기여한 실제 인원 수.

답변:


20

리눅스의 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 (나타난다는 커밋 수를 기준으로 정렬 할 수 있습니다)
매트 wilkie

에 따라 목록에만 위의 명령은 현재 지점 및 사용에 하나 개의 요구에 git log --all ...보다 포괄적 인 목록
매트 윌키

1
또한 이것은 메인 라인 커널에 기고자를 나열합니다. 배포 된 커널의 분기점은 다른 개발자의 패치 (예 : Android에서 사용되는 커널)로 빌드되었습니다.
피터 L.

병합이 아닌 커밋의 수를 세고 싶을 때 Linus가 그보다 훨씬 적은 작업을하고 있음을 알 수 있습니다.
Alexandre Belloni 8

14

LWN.net의 Kernel Coverage로 이동하여 "Releases"및 "Contributor statistics"를 검색하십시오. 또한 "누가"를 검색하십시오. 누가 가장 최근에 쓴 3.5 같은 제목을 가진 색인에 다양한 기사가 있습니다 .

이 기사는 귀하의 질문에 직접 답변하지 않을 수도 있지만, 정보를 직접 수집하지 않고 인터넷에서 찾을 가능성이있는 자세한 답변입니다. 특히, 그들은 적어도 3에 대한 부분적인 답변을 제공해야합니다.

통계 수집은 gitdm에 의해 수행됩니다 (LWN 기사 : gitdm v0.10 available ). 이것을 지적 해준 폰 브랜드에게 감사합니다. 저장소는 현재 (2015 년 1 월)

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

1과 2는 잘 정의되어 있지 않습니다. 1의 경우 대답이 거의 확실하다고 생각합니다. 그러나 당신이 찾고있는 것, 즉 일화 적 증거 나 일부 통계는 명확하지 않습니다. 통계라면 어떤 형태로되어 있습니까? 2의 경우 "타사 그룹"의 의미는 무엇을 의미하는지, 어떤 종류의 도움을 받고 있는지 명확하지 않습니다. 예를 들어 IRC 채널에있는 사람들이 타사 그룹으로 간주됩니까? 아니면 돈이 바뀌는 더 공식적인 계약 관계에 대해 이야기하고 있습니까? 임시 컨설팅을 위해 유지 된 외부 회사처럼? 어쨌든, 그러한 정보는 커널 개발자와 직접 대화하지 않고 얻기가 어려울 수 있으며, 심지어 일 화일 수도 있습니다. 나는 리눅스 커널 메일 링리스트와 같은 포럼이 그럴 가능성이 있다고 생각한다.


감사합니다. 세 번째 경우에는 어떻게 든 커밋하는 데 도움이되는 사람들을 찾고 있습니다. 예를 들어, 회사의 누군가를 돕는 사람들의 그룹. 회사 의이 사람은 결국 커널에 커밋 한 그룹과 함께 일했습니다.
루이스 알바라도

통계 수집은 gitdm (LWN 기사 anluncig it lwn.net/Articles/290957 , 최신 커밋은 Arpil 2012에서 수행)에 의해 수행됩니다.
vonbrand
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.