Ядро Linux - это огромный проект с открытым исходным кодом, разработка которого ведется уже более 25 лет. Хотя многие думают, что большинство проектов с открытым исходным кодом разрабатываются энтузиастами, над ядром Linux работают профессиональные программисты, которые получают за это деньги.
Согласно данным The Linux Foundation, начиная с 2005 года, более 14 000 индивидуальных разработчиков и более чем 1300 различных компаний внесли свой вклад в ядро. В этой статье мы рассмотрим, как и кем ведется разработка ядра Linux, кто все это финансирует и контролирует.
Содержание статьи:
Разработка ядра Linux
Примерно раз в год The Linux Foundation выпускает отчет по процессу разработки ядра с данными о частоте выпусков, скорости изменений и компаниях, которые в этот раз внесли свой вклад. Например, последний отчет был выпущен в августе 2016 года и охватывает версии ядер 3.9 - 4.7.
Одно из наиболее интересных изменений - это уменьшение вклада в развитие ядра со стороны неоплачиваемых разработчиков. За этот период их доля сократилась от 14,6 до 7,7%. Это объясняется тем, что многие из этих разработчиков были наняты компаниями.
Что касается корпоративных взносов, то за этот период доля Intel составила 12,9%, Red Hat - 8%, Linaro - 4%, Samsung - 3,9%, SuSE - 3,2%, IBM - 2,7%. Но несколько лет назад история была совсем иной. В 2010 году Red Hat была на первом месте - 10.2%, за ней Intel - 8,8%, Texsa Instruments - 4,1%, Linaro - 4,1%, SuSE - 3,5%, IBM - 3,1%. Заметно выросла доля Intel. Директор отдела Intel Open Source Technology Center не раз заявлял, что ядро Linux имеет для компании очень важное, стратегическое значение. Как видим, поддержка ядра Linux выполняется многими компаниями.
Также интересным есть увеличение вклада компании Samsung от 2,9 до 3,9%. На фоне других компаний вклад Red Hat снижается, но совместное участие Red Hat и Intel держится достаточно стабильным на протяжении многих лет. Начиная от низкого уровня 18,1% в 2012 и до максимума - 20,9% в 2016.
На конференции LinuxCon в 2016 году генеральный директор Red Hat, Джим Уайтхерст, говорил о том, что на ряду с техническим вкладом в ядро, они строят новую бизнес модель. Возможно, увеличение доли Intel свидетельствует о том, что они пытаются повторить то, что уже было сделано в Red Hat. В плане патчей вклад различных компаний за 2016 год таков: Red Hat - 18,4%, The Linux Foundation - 13,5%, Intel - 12,1%, Linaro - 8,7%, Google - 5,3%, Samsung - 3,5%, SuSE - 2,9%, AMD - 2,1%.
https://youtu.be/lBCaJ5CP5bM?list=PLi_rypOeey5iccgFXie9OxsbI5H6rQ_cG
То, что организация The Linux Foundation находится на втором месте не удивительно, поскольку здесь работает Грег Кроа-Хартман, который занимается поддержкой стабильной ветви ядра, подсистему тестирования, а также несколько других подсистем. Этот человек был ответственен за 13,992 из 14,180 правок от The Linux Foundation.
Кто управляет процессом?
Тем не менее вклады компаний и разработчиков ничего нам не говорят о том, как принимаются патчи в ядро и как идет разработка ядра Linux. Ядро Linux - это огромный проект, над которым работает большое количество разработчиков. Все это невозможно контролировать одному человеку. Сделаем небольшое описание ядра Linux.
Ядро имеет различные подсистемы, например, графическую, устройств USB, сетевую, планировщик и так далее. Поддержанием каждой из подсистем занимается отдельный человек - сопровождающий. Компании и разработчики отправляют свои патчи сопровождающим тех или иных подсистем.
Сопровождающие просматривают патчи, отправленные другими программистами, или компаниями и принимает их, или же возвращает на доработку. Так происходит с каждой подсистемой. После принятия патча, он добавляется в тестовую ветку ядра, где проходит тестирование, и уже тогда, если все хорошо идет дальше.
Для координации действий всех разработчиков используется рассылка Email. На первый взгляд, может показаться, что это устаревшая технология, но на самом деле это не так. Почта - это лучший способ управления таким большим проектом, как ядро. Она быстрее, чем любая из альтернатив, при количестве изменений от 8 в час от 4000 разработчиков и 400 компаний, нужно очень мощное решение.
Git мог бы давно заменить рассылку, он имеет несколько преимуществ, но он хорош для небольших проектов, что касается таких мощных проектов, как ядро, то возможностей и масштабируемости недостаточно.
Выводы
В этой статье мы сделали описание процесса разработки ядра linux, кто основные разработчики ядра, и как они это делают. Надеюсь, информация была полезной для вас.
Видео "Как разрабатывается Linux" от The Linux Foundation:
https://youtu.be/de0vrVFCVCg
Я не считаю, что Email устаревшая технология. Мое утро начинает с просмотра почты, и вечер заканчивается тем же самым. Электронная почта это чертовски удобный инструмент