Có bao nhiêu nhà phát triển thực tế làm việc trên nhân Linux?


18

Đối với một nghiên cứu tôi đang thực hiện, tôi đã được hỏi có bao nhiêu nhà phát triển thực tế cam kết trên một phiên bản kernel điển hình.

Tôi biết có Linus Torvalds là nhà phát triển chính, tiếp theo là nhiều nhà phát triển chính thứ hai. Một số trong đó làm việc trong các công ty. Nhưng đây là nghi ngờ của tôi:

  1. Liệu một cam kết với kernel từ một công ty có nghĩa là nhiều nhà phát triển từ công ty đó đã làm việc để thực hiện cam kết đó hay chỉ là một người đàn ông (Người đã thực hiện cam kết).

  2. Có nhóm bên thứ 3 nào giúp các công ty hoặc nhà phát triển chính không?

  3. Điều gì có thể là ước tính của tổng số người liên quan đến một phiên bản Kernel cụ thể. Không chỉ tổng số công ty mà cả số người thực sự đã đóng góp bằng cách này hay cách khác vào kernel.

Câu trả lời:


20

Thật thú vị khi sao chép kho git của linux và truy vấn nó ngay lập tức.

Nhân bản repo

Coi chừng đó là một tập tin lớn! (~ 1,5G)

Cài đặt gitvà chạy như sau (trong một thư mục mới):

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

Truy vấn repo

Khi bạn đã nhân bản nó, bạn có thể phân tích nhật ký xác nhận git log. Vì nhật ký quá dài, bạn có thể muốn giới hạn nghiên cứu của mình trong một khoảng thời gian nhỏ hơn:

git log <since>..<to>

ví dụ

git log v3.4..v3.5

Điều này về mặt lý thuyết có rất nhiều thông tin bạn có thể sử dụng. Ví dụ, lệnh đó in ra 20 ủy viên phổ biến nhất cùng với số lần xác nhận và địa chỉ email của họ.

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

Địa chỉ email có thể cung cấp cho bạn ý tưởng về nhà tuyển dụng của các nhà phát triển (google.com, cisco.com, oracle.com).


1
Bạn cũng có thể truy vấn lịch sử mã mà không cần phải sao chép cục bộ thông qua github api , ví dụ: đây là danh sách những người đóng góp api.github.com/repose/torvalds/linux/contologists (dường như được sắp xếp theo số lần xác nhận)
matt wilkie

theo điều này , lệnh trên chỉ liệt kê chi nhánh hiện tại và người ta cần sử dụng git log --all ...cho danh sách toàn diện hơn
matt wilkie

1
Cũng lưu ý rằng điều này sẽ liệt kê những người đóng góp cho hạt nhân chính. Có các nhánh / nhánh của kernel đã được phân phối được xây dựng với các bản vá từ các nhà phát triển khác, ví dụ như kernel được sử dụng trong Android.
Peter L.

Bạn có thể muốn đếm số lượng cam kết không hợp nhất và bạn sẽ thấy Linus đang làm việc ít hơn thế nhiều.
Alexandre Belloni

14

Tới bảo hiểm Kernel tại LWN.net và thực hiện tìm kiếm cho "giải phóng", và "thống kê Contributor". Cũng làm một tìm kiếm cho "Ai". Có nhiều bài viết trong chỉ mục đó với các tiêu đề như (gần đây nhất) Ai đã viết 3.5 .

Mặc dù các bài viết này có thể không trả lời trực tiếp câu hỏi của bạn, nhưng chúng là một câu trả lời chi tiết như bạn có thể tìm thấy trên mạng, mà không cố gắng thu thập thông tin trực tiếp. Cụ thể, họ nên cung cấp ít nhất một câu trả lời một phần cho 3.

Việc thu thập số liệu thống kê được thực hiện bởi gitdm (bài báo của LWN thông báo về nó: gitdm v0.10 có sẵn ). Cảm ơn vonbrand đã chỉ ra điều này. Các kho lưu trữ hiện có thể (tháng 1 năm 2015) có được với

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

Đối với 1 và 2, chúng không được xác định rõ ràng. Trong trường hợp 1, tôi tưởng tượng câu trả lời gần như chắc chắn là có, đôi khi. Nhưng không rõ những gì bạn đang tìm kiếm - bằng chứng giai thoại, hoặc một số thống kê. Nếu thống kê, dưới hình thức nào? Trong trường hợp 2, bởi "nhóm bên thứ 3" không rõ ý của bạn là gì và loại trợ giúp nào bạn đang đề cập đến. Chẳng hạn, những người trên kênh IRC sẽ được tính là một nhóm bên thứ ba? Hay bạn đang nói về một mối quan hệ hợp đồng chính thức hơn, nơi tiền đổi tay? Giống như một công ty bên ngoài giữ lại để tư vấn tạm thời? Trong mọi trường hợp, thông tin như vậy sẽ khó có được nếu không nói chuyện trực tiếp với các nhà phát triển kernel, và thậm chí sau đó có thể sẽ là giai thoại. Tôi cho rằng các diễn đàn như danh sách gửi thư nhân Linux sẽ là một khả năng trong trường hợp đó.


Cảm ơn bạn. Trong trường hợp thứ 3, tôi đang tìm kiếm những người cũng giúp đỡ bằng cách nào đó trong việc đưa ra một cam kết. Ví dụ, một nhóm người đã giúp đỡ ai đó trong một công ty. Người này trong công ty đã làm việc với một nhóm mà cuối cùng đã cam kết với kernel.
Luis Alvarado

Việc thu thập số liệu thống kê được thực hiện bởi gitdm (thông báo bài viết của LWN lwn.net/Articles/290957 , cam kết mới nhất là từ Arpil 2012)
vonbrand
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.