Сообщество разработчиков ядра Linux стареет и вырождается
Линусу сорок три, и больше половины из них он посвятил Linux. Однако с возрастом, увы, приходит не только опыт, а и усталость. И основатель свободной ОС в этом смысле не одинок: среднестатистический девелопер Ядра заметно постарел, коллектив в целом ссохся. О проблеме впервые заговорили ещё в конце нулевых, но в последние месяцы вспоминают особенно часто.
Изначально, лет пять назад, «седина в бородах» ядерщиков была лишь забавным наблюдением, почти шуткой, которую время от времени травили журналисты, попавшие на очередную большую конференцию. Но время шло — и стало ясно, что выход девелоперов «на пенсию» не сулит ничего хорошего. Да, Ядро продолжает развиваться: 16 миллионов строк кода, десятки патчей ежесуточно, над последней версией трудились более тысячи человек. Однако состав сообщества качественно изменился и продолжает меняться в худшую сторону. Количественно это хорошо показано в простеньком исследовании, опубликованном не так давно компанией Bitergia.
Взяв за основу историю изменений линуксового ядра с 2005 года (базу Git) и понимая возраст участника как продолжительность его присутствия в проекте (то есть «молодой» вовсе не означает, что участник молод в действительности: просто к разработке Ядра он подключился сравнительно недавно), Bitergia нарисовала занимательный график.
Выводы простые. Во-первых, абсолютная численность большинства «поколений» (в том числе «стариков», то есть тех, кто занимается Ядром дольше других, самая верхняя полоса) со временем уменьшается, сообщество становится меньше. Во-вторых, что особенно печально, ежеквартальный приток свежих сил («молодёжи») уменьшается тоже: если в начале наблюдений он измерялся сотнями человек, то теперь — только десятками. Если так пойдёт и дальше, ещё через десять лет приток новичков в ряды ядерщиков прекратится вовсе, а действующие участники не смогут поддерживать взятый темп и будут вынуждены сократить количество добавляемых в Ядро новшеств. Ситуация чем-то напоминает последние болячки Википедии, и, как и там, точной причины не знает никто: если со «стариками» всё просто (естественный отток!), то пассивность «молодых» — пока загадка.
Версий, конечно, много. Взять хотя бы квалификацию: чтобы влиться в число разработчиков Ядра, недостаточно простого желания и даже работоспособности, необходимо знать внутреннюю архитектуру Linux, нюансы её программирования, быть готовым принять стиль общения заслуженных девелоперов (то, что называют культурным барьером). Кто с ходу сможет удовлетворить этим требованиям? Да в LKML (Linux Kernel Mailing List — главная тусовка ядерщиков) страшно даже заглянуть, тысяча сообщений в сутки! Так что с тривиальных исправлений — тех самых, которых всегда бесчисленное множество и которые лично Линус считает самыми важными, — начинать на самом деле едва ли легче: новичку необходимо знать о Ядре слишком много.
А как получить эти знания? Ещё десять лет назад начинающий линуксоид становился системным администратором по необходимости, поскольку приходилось изучать и настраивать элементарные вещи — вроде звуковой и графической карты, подключения к Сети и прочего. Нынче всё это работает «из коробки». Да и программирование само по себе более не привлекает молодёжь. Какой же смысл открывать в вузах образовательные курсы для желающих писать патчи в Linux (как пробуют делать на Западе), если сама идея написания кода утратила обаяние, каким была окружена двадцать или десять лет назад? Для желающих познакомиться с Ядром уже есть отличные ресурсы, но само по себе их существование проблемы потери интереса не решает!
Наконец, есть мнение, что лично Торвальдс и выстроенная им «корпоративная культура» отпугивают новичков. Простого финского парня, который был рад любой помощи, давно нет. Есть жестокий босс, нещадно выговаривающий за ошибки. Поведение Линуса на людях давно уже вызывает толки и хоть к новичкам он, говорят, снисходителен, атмосферу в сообществе ядерщиков (которую он как основатель проекта, несомненно, и помог сформировать) благожелательной на назовёшь. Хакеры считают, что так и должно быть, и с ними, по здравом размышлении, трудно не согласиться (в конце концов, речь о крупнейшем опенсорсном проекте планеты Земля, так что некачественный код должен быть забракован как можно раньше). Но попробуйте втолковать это новичкам — тем самым, которых уже не хватает! Так, может, пришло время сместить «великодушного диктатора», заменив его более способным человеком? Или сделать организованный форк и пойти своей дорогой? Пока ещё не поздно.
Посмотрим правде в глаза: ядро Linux уже развивается прежде всего корпорациями. Три четверти всей активности здесь генерируют люди, которым за это платят их работодатели. Не означает ли это, что мы теряем контроль над Ядром, что движется оно теперь в направлении, указываемом гигантами ИТ-бизнеса: IBM, Intel, Red Hat? Пока ещё, впрочем, «старики» вроде Линуса справляются с делягами, заставляют их работать наравне со всеми — отвечать на вопросы прямо, а не пресс-релизами. Но что будет, когда старики выйдут из игры? Не повторит ли Linux судьбу Android?
Евгений Золотов
Комментарии
pomodor
21 ноября, 2013 - 01:08
Все больше молодежи отвлекается на вконтактики и фейсбуки. Если раньше на компе подростку особо нечем было заняться, кроме как поиграть в весьма ограниченный набор игр и начать осваивать программирование, то теперь пионерию ожидает широчайший ассортимент отупляющих развлечений. А вырвать е...нутого на всю голову вконтактера из цепких лап Дурова и усадить писать ядро представляется не самой простой задачей. ;)
Не совсем понятно кого именно подразумевает автор креатива под словом "мы". Ядро контролируется г-ном Торвальдсом и корпорациями, дающими бабло. "Мы" ничего не контролирует и не контролировало. Если имеется ввиду не перестанет ли Линукс со временем быть свободным ПО, то ответ можно найти в таком скучном документе, как GPL — нет, не перестанет.
Случится непоправимое — некому будет показывать факи на конференциях. Остальное не изменится.
Андроид — это и есть Линукс. Плюс жаба, несколько библиотек, шпионский модуль и гуй. Вопрошать повторит ли Линукс судьбу Линукса не совсем корректно.
MrBison
21 ноября, 2013 - 17:00
Я не сомневаюсь, что практически все продаваемые устройства с Android используют ядро линукса. Только ядро Linux - это не то же самое, что ОС GNU/Linux. И причём гну/линукса в андроиде как такового крайне мало. Большинство утилит, встроенных в Android, взяты не из GNU, а из BSD :(
Придётся тут согласиться с анонимным оратором.
pomodor
21 ноября, 2013 - 18:18
Соглашайтесь, раз придется. Запретить не могу — у нас тут мир электронной свободы.
Вы прямо как Пехтин — такой же красноречивый. «У меня практически нет недвижимости за рубежом». ;)
Чингачгук
21 ноября, 2013 - 06:04
Ну как бы разработчики Android с Вами не согласны. Android может крутиться на любом ядре.
pomodor
21 ноября, 2013 - 14:36
Конечно, ведь так часто приходится видеть на смартфонах Андроид, работающий поверх Windows Phone, iOS и даже MS-DOS. ;)
Чингачгук
21 ноября, 2013 - 15:12
Windows Phone, iOS и MS-DOS - это, вообще-то, не ядра, а операционные системы. Android вполне может работать на ядре NT и ничто не мешает при желании вместо Linux использовать, скажем, ядро BSD. Ну и сами разработчики заявляли, что Android - не Linux. Ну, местным экспертам видне..
pomodor
21 ноября, 2013 - 15:32
Где пруфлинк, подтверждающий бред пациента об Андроиде на "ядре NT"?
Чингачгук
21 ноября, 2013 - 16:15
Таких проектов имеется даже не один. Запускается в Windows и работает на ядре NT без всякого Linux. Гугл в помощь, иначе так и останетесь тёмным.
pomodor
21 ноября, 2013 - 16:19
Да не я останусь темным, если откажусь искать в Гугле то, чего нет, а подозрения публики, что вы пи...бол останутся неразвенчанными. ;)
comrade
21 ноября, 2013 - 16:34
Гражданин скорее всего путает «запуск Андроида на NT» с Андроидом, установленным на планшеты с интеловскими процессорами((-:
pomodor
21 ноября, 2013 - 16:39
Трудно сказать почему путается этот оратор. Моя рабочая версия — отравился несвежей котлетой в школьной столовой.
Чингачгук
21 ноября, 2013 - 16:43
Пожалуйста, поищите в поисковых системах Windroy и Bluestacks. Это не эмуляторы, а нативные реализации Android на NT.
pomodor
21 ноября, 2013 - 16:57
Так Windroy — это же просто оторванный от Андроида гуй, запущенный через OS adaption layer (OSAL) between Android and Windows, который является ни чем иным, как эмулятором под Windows API Линукса.
MrBison
21 ноября, 2013 - 17:04
Можно, пожалуйста, ссылочку? Я, погуглив "windroy OSAL", ничего про линукс не нашёл :(
pomodor
21 ноября, 2013 - 18:15
Все бы Вам гуглить. Нужно же иногда и самостоятельно по сайту полазать в поисках информации. ;)
Чингачгук
21 ноября, 2013 - 17:07
Не ГУЙ, а полноценный Android, которую можно запустить на любом ядре.
Пруф на то, что OSAL - это эмулятор Линукса, давайте. Линукса там никакого нет вообще. Там Dalvik, который запускается на NT через прослойку OSAL. О чём, собственно, и пишут разработчики: OS adaption layer (OSAL) between Android and Windows.
Прощу прощение за оффтопик, но... если удаляете из моих комментариев оскорбления, то удаляйте некорректные выражения и из собственных комментариев.
comrade
21 ноября, 2013 - 17:03
Дык это же виртуальные машины для запуска андроида и его приложений из Windows'а?! (((-:
А если я DOS в виртуальной машине запущу — это будет DOS на ядре NT? Или DOS на ядре Linux, если из линукса? ((((-:
Или если андроидовских AngryBirds запустить в Windroy, то это будут "AngryBirds на ядре NT"?
MrBison
21 ноября, 2013 - 17:05
Как бы там сказано, что это _не_ виртуальные машины.
Тут скорее будет "DOSBox - это DOS на ядре Windows/Linux/MacOS", а "Wine - это Windows на ядре Linux".
pomodor
21 ноября, 2013 - 17:09
Читайте внимательно, все там сказано.
Чингачгук
21 ноября, 2013 - 17:09
Именно. Dalvik сама по себе виртуальная машина, и без разницы, на каком ядре её запускать.
pomodor
21 ноября, 2013 - 17:24
Понял где пробел в Ваших познаниях архитектуры Андроида, из-за которого вы изрыгаете хулу и проклятия в адрес невинных участников обсуждения. Видите ли, Андроид — это не только Dalvik. Есть еще такая вещь, как Native Development Kit, которая позволяет писать низкоуровневые модули для системы на языке C/С++, опираясь на стандартные Linux-библиотеки. Другими словами, стандартные Linux-библиотеки являются частью Андроида.
Чингачгук
21 ноября, 2013 - 17:29
В очередной раз извиняюсь за обсуждение не по теме, но обязательно ли удалять ругань из моих комментариев? Предмодерация анонимных сообщений троллей — знак низкой культуры модерации. Не беспокоит ли модератора, что над удалением сообщений от троллей будет хихикать 2-3 анонимуса? И вообще, мне не нравится этот сайт, я ухожу и больше не буду доставать всех тут своим нытьем. Успехов!
Чингачгук
21 ноября, 2013 - 17:38
Извините, что попрощался, но пишу снова. Хоть сайт плохой и модератор не такой, все равно не могу оторваться — так мне тут интересно. Итак:
Вот оно как? И что это за библиотеки такие волшебные, что их больше нигде, кроме Linux, использовать нельзя? Или сейчас окажется, что с Native Development Kit без Linux - никуда??? Собственно, сайт с Android NDK позволяет загрузить NDK для Linux, Mac и Windows. Или Вы считаете, что если что-то пишется на C and C++, то это автоматически становится Линуксом?
pomodor
21 ноября, 2013 - 17:56
Вам, конечно, виднее, но разработчики Андроида пишут, что под Вантузом не работает:
Под Вантузом вообще ничего не работает. Эта ОС нужна чтобы сидеть в Контакте и собирать все гуляющие по интернету вирусы. Не знаю чего Вы так фанатеете от этой ОС. ;)
pomodor
21 ноября, 2013 - 17:08
Посмотрел и Bluestacks: The apps themselves launch in a full-screen virtualized version of the Android operating system, so they run smoothly.
Дорогой эксперт, позвольте выразить Вам свое несогласие. Вы обещали "Android на ядре NT", но пока закидываете ссылками на эмуляторы и виртуальные машины. Да, я не спорю, что любую ОС можно запустить в любой другой через эмулятор, но хотелось бы все же увидеть подтверждение Ваших слов о том, что Android вполне может существовать на основе Windows без дополнительных "слоёв адаптации", созданых третьей стороной.
comrade
21 ноября, 2013 - 17:14
Наверное можно было бы так сделать, но, похоже, такой "неуловимый Джо" просто никому нахрен не сдался (((-;
Но микрософт как-то не опечален по этому поводу — ему и так неплохо живётся: микрософт с производителей устройств на Андроиде трясёт денег больше, чем гуглу от андроида достаётся.
Чингачгук
21 ноября, 2013 - 17:19
Вы докажите для начала Ваше утверждение, что "Android это Linux", покажите там ядро Linux, потому что ссылки на Android, работающий на ядре NT, я Вам предоставил. Никакого Линукса там и близко нет.
Вы сначала покажите, где я говорил об отсутствии "слоёв адаптации", или тут так принято - постоянно оппоненту приписывать то, что он не утверждал?
pomodor
21 ноября, 2013 - 17:36
Да пожалста: http://source.android.com/source/building-kernels.html
To determine the kernel version used in a particular system image, run the following command against the kernel file:
$ dd if=kernel bs=1 skip=$(LC_ALL=C grep -a -b -o $'\x1f\x8b\x08\x00\x00\x00\x00\x00' kernel | cut -d ':' -f 1) | zgrep -a 'Linux version'
For Nexus 5 (hammerhead), this can be accomplished with:
$ bzgrep -a 'Linux version' vmlinux.bz2
Какова вероятность, что последняя команда выдаст в ответ "ядро NT версии x.xx"? ;)
Пожалуйста: "поищите в поисковых системах Windroy и Bluestacks. Это не эмуляторы, а нативные реализации Android на NT".
comrade
21 ноября, 2013 - 17:53
Тот гражданин просто любит попередёргивать...
Но эти эмуляторы просто эмулируют для андроида его родное "ядро линукс", на котором он и заводится. Это же самый обычный Андроид, никак не модифицированный "для ядра NT". Ядро NT никакого прямого отношения к данному процессу запуска Андроида не имеет. Слишком много слоёв между ними.
Эмуляторы для запуска Адроида и андроидовских приложений есть и для линукса. Если мы в этом случае попытаемся руководствоваться логикой "уходящего" анонимуса, то вообще голову сломаем:))))
От факта, что никому в здравом уме пока не пришла в голову идея делать "Андроид на ядре NT" нас попытались увести в сторону мутных дискуссий — что называть виртуальной машиной? Эмулятор процессора? Ядра? Или что ещё...
Сами авторы таких программ любят наводить тень на плетень. Видимо считают, что если обозвать виртуальную машину "нативной реализацией"((-:, то их труд будет звучать весомее...
Кстати, в случае Windroy и Dalvik, которые могут андроидовские приложения без андроида запускать, надо уже спрашивать не "где тут линукс?", а "где тут андроид?":-)))
(Приложения на основе джавы работают на разных платформах – чудо то какое! ;-)))))
pomodor
21 ноября, 2013 - 18:22
Да, не каждый психиатр сможет разобраться в том, что хотел сказать этот пациент. Что уж говорить о нас, простых скромных читателях. Попробую резюмировать:
Скачиваем исходный код Андроида, выкидываем оттуда часть Андроида под названием ядро Linux, берем у стороннего разработчика слой, который будет транслировать запросы к ядру Linux в запросы к Windows и обратно. Делаем вывод, что Linux никакого отношения к Андроиду не имеет.
Уважаемый анонимный эксперд, я правильно Вас понял?
Чингачгук
21 ноября, 2013 - 18:34
Нет, не правильно. Ушел делать уроки, когда вернусь все объясню.
pomodor
21 ноября, 2013 - 15:35
LOL. Только к BSD придется дописать еще столько же кода, обеспечивающего поддержку мобильных технологий и всего спектра оборудования. Анонимный эксперд жжот. ;)
Чингачгук
21 ноября, 2013 - 16:18
Ну вот Apple взяли код BSD с NextSTEP и сделали ядро для MacOS X. Гугл тоже использует не ванильный код ядра Linux, а свой собственный форк. В очередной раз экспертам Liberatum напомню о необходимости учить матчасть, прежде чем ололокать.
pomodor
21 ноября, 2013 - 16:23
В очередной раз напоминаю троллю о предстоящей необходимости нырять в говнофильтр, если тролль не сделает свое общение тут менее вызывающим.
ЗЫ Снова про матчасть заладил, как только понял, что облажался. Пруф давай на "Андродид на ядре NT", демонстрировать знание шаблонных ответов будешь своей бабушке, так как на меня это никакого впечатления не производит. ;)
Чингачгук
21 ноября, 2013 - 16:31
В своих собственных постах переходов на личности не видим, не?
Лажаете тут Вы, дорогой pomidorius, и с завидным постоянством причём.
Если бы тут можно было запостить ссылку, то пруф был бы. А так придётся Вам всё-таки осваивать Гугл.
pomodor
21 ноября, 2013 - 16:37
Понятно. Дятел хочет предмодерацию. Ну, как угодно.
comrade
21 ноября, 2013 - 16:29
И хорошо – благодаря лицензии GNU теперь уже гугловские доработки используются при портировании других линуксов на планшеты и смартфоны с ARM'ами.
Т.е., в кооперации участвуют даже конкуренты.
Чингачгук
24 ноября, 2013 - 00:52
Код NextSTEP никогда не был под лицензией BSD, да и к самому сборищу *BSD эта ОС имеет чуть меньшее, чем никакого отношения. Типичная проприетарная Unix-like ОС.
Единственное, что есть в MacOSX от *BSD "--- окружение ядра. И только по той причине, что его можно линковать с проприетарным ядром.
Исключительно в Android и исключительно для поддержки мобильного железа.
Та же Goobuntu бинарно совместима с Ubuntu, а значит ядро ей никто не патчил.
Чингачгук
21 ноября, 2013 - 07:25
Вот она когда повылазила — монолитность и отсутствие стабильного API.
Intercessio
21 ноября, 2013 - 22:22
Жесткий и некомфортный, но правдивый пост.
Думал, что куча комментов задетых за живое любителей линукса, а оказалось
что срач из-за никому ненужной дури "Android на ядре NT".
Кому нужны эти бессмысленные препирания?
pomodor
21 ноября, 2013 - 22:36
Что тут сказать, Вы правы. Не смог отказать себе в удовольствии поржать над осатаневшим любителем вантуза. В следующий раз постараюсь пресекать.
Комментировать