وضعیت کرنل لینوکس در ۲۰۲۰

تعداد خط کد بر اساس سال
تعداد خط کد بر اساس سال

رسمی هست که بعضی‌ها هر سال وضعیت کرنل رو بررسی می‌کنم. منظورم وضعیت کد، فایل ها، کامیت‌ها و برنامه‌نویس هایی است که این کامیت‌ها رو انجام دادن. بر اساس آمار اولین روز ۲۰۲۰، کرنل لینوکس ۲۷میلیون و ۸۵۲هزار و ۱۴۸ خط است۷ شامل داکیومنت‌ها، کانفیگ ها، ابزارهای یوزر اسپیس و ..). این کرنل ۸۸۷هزار و ۹۲۵ کامیت داشته که محصول کار ۲۱۰۷۴ نفر آدمه. این ۲۷.۸ میلیون خط کد، در ۶۶هزار و ۴۹۲ فایل تقسیم شده.

در طول ۲۰۱۹، کرنل لینوکس ۷۴۷۵۴ کامیت دریافت کرده که از تاریخ ۲۰۱۳، پایین ترین رقم است! کامیت‌ها در سال‌ ۲۰۱۸ و ۲۰۱۷، حدود ۸۰هزار تا بوده و در ۲۰۱۶ حدود ۷۷هزار تا ودر سال های ۲۰۱۴ و ۲۰۱۵، ۷۵هزار. این کمتر شدن نویسندگان در مقایسه ۲۰۱۹ و ۲۰۱۸ هم وجود داشته. در ۲۰۱۹ تعداد نویسندگان ۴۱۸۹ بوده که کمی کمتر از عدد ۴۳۶۲ مربوط به سال ۲۰۱۸ است و البته بیشتر از عدد ۴۰۴۲ سال ۲۰۱۷. البته این کم تر شدن کامیت‌ها، در سطح کد تاثیر زیادی نداشته و با ۳میلیون و ۳۸۶هزار و ۳۴۷ خطی که امسال به کرنل اضافه شده (و البته ۱میلیون و ۶۹۶هزار و ۶۲۰ خط حذف شده)، میزان رشد کنترل تقریبا شبیه هر سال است.

از نظر فردی، بعد از خود توروالدز، دیوید اس میلر، کریس ویلسون، یوهابینینگ و کریستوفر هلویگ و توماس گلیزنر، بیشترین مشارکت رو در توسعه کرنل داشتن. در سطح شرکت‌ها هم مثل همیشه اینتل و ردهت فعالترین‌ها به آپ‌استریم بودن.

برای دیدن اطلاعات بیشتر می تونین به صفحه گیت استت نگاه کنین و برای درک بهتری از پروژه، این خروجی cloc است که کارش شمردن خطوط کد و نمایش آماری اون است. اگر count lines of code یا همون cloc رو روی کرنل اول ۲۰۲۰ رو اجرا کنیم، نتیجه اینه:

66449 text files.
   66000 unique files.                                          
   11119 files ignored.

github.com/AlDanial/cloc v 1.82  T=67.33 s (822.2 files/s, 388799.5 lines/s)
---------------------------------------------------------------------------------------
Language                             files          blank        comment           code
---------------------------------------------------------------------------------------
C                                    27961        2761653        2292505       14061980
C/C++ Header                         19875         531782         956091        4300989
reStructuredText                      2153         101820          53725         270579
Assembly                              1320          46971         101470         230117
JSON                                   273              0              0         161955
Bourne Shell                           577          13299           9690          52817
make                                  2531           9485          10644          41766
SVG                                     58            117           1364          36216
Perl                                    59           6021           4422          30642
Python                                 118           4987           4588          26256
YAML                                   325           5205           1449          25529
yacc                                     9            697            359           4810
PO File                                  5            791            918           3077
lex                                      8            326            300           2015
C++                                     10            320            129           1933
Bourne Again Shell                      51            356            297           1765
awk                                     10            140            116           1060
Glade                                    1             58              0            603
NAnt script                              2            146              0            551
Cucumber                                 1             28             50            174
Windows Module Definition                2             15              0            109
m4                                       1             15              1             95
CSS                                      1             28             29             80
XSLT                                     5             13             26             61
vim script                               1              3             12             27
Ruby                                     1              4              0             25
INI                                      1              1              0              6
sed                                      1              2              5              5
---------------------------------------------------------------------------------------
SUM:                                 55360        3484283        3438190       19255242
---------------------------------------------------------------------------------------

اگر هم دوست دارین کرنل رو درک کنین۷ این کتاب قدیمی شروع خوبیه «درک کرنل لینوکس / آمازون».

منبع اصلی