Ostatnio przewinęła mi się dyskusja na tagu #linux o tym czy kernel tworzą nastoletnie piwniczaki po lekcajch czy programiści opłacani przez wielkie korporacje. Jak wiadomo nikt nie czyta komentarzy w starych wątkach więc pozwolę sobię na wpis.

Najbardziej dokładnym źródłem informacji o tym kto tworzy kernel jest oczywiście repozytorium z kodem, ale raz na jakiś czas Linux Foundation udostępnia raport, w którym podaje statystyki dla kilku ostatnich wersji kernela. Oprócz statystyk raport zawiera róznież przegląd tego jak obecnie rzeczy się mają w kernelu.

Ostatnia wersja raportu pochodzi z roku 2017 i jest oparta na wesjach 4.8 – 4.13, można ją pobrać tutaj:

Rok Linuksa – edycja 2017(ang. Linux Kernel Development Report 2017)

Garść statystyk z raportu:
– stabilna wersja jądra wydawana jest co 9-10 tygodni(kryształowa kula przewidujaca daty wydań)
– każde wydanie zawiera 12-16 tysięcy patchy(nie mylić ze zmienionymi liniami)
– mergowali 8-9.6 patchy/h na godzinę ( ͡° ͜ʖ ͡°)
– wersja 4.13 zawierała ~60k plików i 24M linii
– średnio pomiędzy wydaniem 4.8 a 4.13 przybywało tylko 7,5k linii kodu i 15 nowych plików

pokaż spoiler każdego dnia

Nad każdym wydaniem pracowało około:
– 1.6k – 1.8k deweloperów(w tym dla 200-300 był to pierwszy kontakt z kernelem)
– 220 – 270 firm

Top 5 firm sponsorujących rozwój kernela(% ilość patchy):
– Intel – 13,1%
– Red Hat – 7.2%
– Linaro – 5.6%
– IBM – 4.1%
– Samsung – 3.2%

Linus Torvalds nie przegląda każdego pojedynczego patcha, przy tej skali projektu jest to niemożliwe. Ma od tego ludzi – opiekunów podsystemów(maintainers). Zwykle zmiana nie trafia bezpośrednio do główego repo, najpierw jest ona wciągana właśnie przez opiekuna do jednego z ponad setki repozytorów zawierających zmiany specyficzne dla danego podsystemu (odrobinę napisałem o procesie tutaj). Tak więc kontrola nad tym co jest mergowane jest rozproszona.

W raporcie podano estymatę %patchy przechodzących przez opiekunów zatrudnionych w danej firmie:
Red Hat – 20.6%
Intel – 9.7%
Linux Foundation – 9.1%
Linaro – 7.9%
Google – 7.4%

Więc ponad 50% patchy przechodzi przez opiekunów zatrudnionych w 5 firmach.

Wracając do tego od czego zacząłem ten post – jeśli podliczymy % zmian wprowadzonych przez programistów, o których wiadomo, że nie są sponsorowani przez żadną firmę(8,2%) oraz tych, o których nie wiadomo czy są(4.1%) otrzymujemy wynik 12.3%.

Wniosek jest dość prosty – kernel jest rozwijany głównie przez ludzi, którzy dostają za to pieniądze.

To by było na tyle, gorąco zachęcam do zapoznania się z pełnym raportem.

pokaż spoiler Ciekawostka: Linus Torvalds nie jest nawet w top 30 deweloperów.

#komputery #programowanie #programista15k #ciekawostki #gruparatowaniapoziomu #roklinuksa