Сообщество разработчиков ядра Linux стареет и вырождается

Линусу сорок три, и больше половины из них он посвятил Linux. Однако с возрастом, увы, приходит не только опыт, а и усталость. И основатель свободной ОС в этом смысле не одинок: среднестатистический девелопер Ядра заметно постарел, коллектив в целом ссохся. О проблеме впервые заговорили ещё в конце нулевых, но в последние месяцы вспоминают особенно часто.

Изначально, лет пять назад, «седина в бородах» ядерщиков была лишь забавным наблюдением, почти шуткой, которую время от времени травили журналисты, попавшие на очередную большую конференцию. Но время шло — и стало ясно, что выход девелоперов «на пенсию» не сулит ничего хорошего. Да, Ядро продолжает развиваться: 16 миллионов строк кода, десятки патчей ежесуточно, над последней версией трудились более тысячи человек. Однако состав сообщества качественно изменился и продолжает меняться в худшую сторону. Количественно это хорошо показано в простеньком исследовании, опубликованном не так давно компанией Bitergia.

Взяв за основу историю изменений линуксового ядра с 2005 года (базу Git) и понимая возраст участника как продолжительность его присутствия в проекте (то есть «молодой» вовсе не означает, что участник молод в действительности: просто к разработке Ядра он подключился сравнительно недавно), Bitergia нарисовала занимательный график.

Возраст разработчиков Linux

Выводы простые. Во-первых, абсолютная численность большинства «поколений» (в том числе «стариков», то есть тех, кто занимается Ядром дольше других, самая верхняя полоса) со временем уменьшается, сообщество становится меньше. Во-вторых, что особенно печально, ежеквартальный приток свежих сил («молодёжи») уменьшается тоже: если в начале наблюдений он измерялся сотнями человек, то теперь — только десятками. Если так пойдёт и дальше, ещё через десять лет приток новичков в ряды ядерщиков прекратится вовсе, а действующие участники не смогут поддерживать взятый темп и будут вынуждены сократить количество добавляемых в Ядро новшеств. Ситуация чем-то напоминает последние болячки Википедии, и, как и там, точной причины не знает никто: если со «стариками» всё просто (естественный отток!), то пассивность «молодых» — пока загадка.

Версий, конечно, много. Взять хотя бы квалификацию: чтобы влиться в число разработчиков Ядра, недостаточно простого желания и даже работоспособности, необходимо знать внутреннюю архитектуру Linux, нюансы её программирования, быть готовым принять стиль общения заслуженных девелоперов (то, что называют культурным барьером). Кто с ходу сможет удовлетворить этим требованиям? Да в LKML (Linux Kernel Mailing List — главная тусовка ядерщиков) страшно даже заглянуть, тысяча сообщений в сутки! Так что с тривиальных исправлений — тех самых, которых всегда бесчисленное множество и которые лично Линус считает самыми важными, — начинать на самом деле едва ли легче: новичку необходимо знать о Ядре слишком много.

А как получить эти знания? Ещё десять лет назад начинающий линуксоид становился системным администратором по необходимости, поскольку приходилось изучать и настраивать элементарные вещи — вроде звуковой и графической карты, подключения к Сети и прочего. Нынче всё это работает «из коробки». Да и программирование само по себе более не привлекает молодёжь. Какой же смысл открывать в вузах образовательные курсы для желающих писать патчи в Linux (как пробуют делать на Западе), если сама идея написания кода утратила обаяние, каким была окружена двадцать или десять лет назад? Для желающих познакомиться с Ядром уже есть отличные ресурсы, но само по себе их существование проблемы потери интереса не решает!

Наконец, есть мнение, что лично Торвальдс и выстроенная им «корпоративная культура» отпугивают новичков. Простого финского парня, который был рад любой помощи, давно нет. Есть жестокий босс, нещадно выговаривающий за ошибки. Поведение Линуса на людях давно уже вызывает толки и хоть к новичкам он, говорят, снисходителен, атмосферу в сообществе ядерщиков (которую он как основатель проекта, несомненно, и помог сформировать) благожелательной на назовёшь. Хакеры считают, что так и должно быть, и с ними, по здравом размышлении, трудно не согласиться (в конце концов, речь о крупнейшем опенсорсном проекте планеты Земля, так что некачественный код должен быть забракован как можно раньше). Но попробуйте втолковать это новичкам — тем самым, которых уже не хватает! Так, может, пришло время сместить «великодушного диктатора», заменив его более способным человеком? Или сделать организованный форк и пойти своей дорогой? Пока ещё не поздно.

Посмотрим правде в глаза: ядро Linux уже развивается прежде всего корпорациями. Три четверти всей активности здесь генерируют люди, которым за это платят их работодатели. Не означает ли это, что мы теряем контроль над Ядром, что движется оно теперь в направлении, указываемом гигантами ИТ-бизнеса: IBM, Intel, Red Hat? Пока ещё, впрочем, «старики» вроде Линуса справляются с делягами, заставляют их работать наравне со всеми — отвечать на вопросы прямо, а не пресс-релизами. Но что будет, когда старики выйдут из игры? Не повторит ли Linux судьбу Android?

Евгений Золотов

field_vote: 
Ваша оценка: Нет Средняя: 5 (1 оценка)

Комментарии

пассивность «молодых» — пока загадка

Все больше молодежи отвлекается на вконтактики и фейсбуки. Если раньше на компе подростку особо нечем было заняться, кроме как поиграть в весьма ограниченный набор игр и начать осваивать программирование, то теперь пионерию ожидает широчайший ассортимент отупляющих развлечений. А вырвать е...нутого на всю голову вконтактера из цепких лап Дурова и усадить писать ядро представляется не самой простой задачей. ;)

Не означает ли это, что мы теряем контроль над Ядром

Не совсем понятно кого именно подразумевает автор креатива под словом "мы". Ядро контролируется г-ном Торвальдсом и корпорациями, дающими бабло. "Мы" ничего не контролирует и не контролировало. Если имеется ввиду не перестанет ли Линукс со временем быть свободным ПО, то ответ можно найти в таком скучном документе, как GPL — нет, не перестанет.

что будет, когда старики выйдут из игры?

Случится непоправимое — некому будет показывать факи на конференциях. Остальное не изменится.

Не повторит ли Linux судьбу Android?

Андроид — это и есть Линукс. Плюс жаба, несколько библиотек, шпионский модуль и гуй. Вопрошать повторит ли Линукс судьбу Линукса не совсем корректно.

Андроид — это и есть Линукс. Плюс жаба, несколько библиотек, шпионский модуль и гуй.

Я не сомневаюсь, что практически все продаваемые устройства с Android используют ядро линукса. Только ядро Linux - это не то же самое, что ОС GNU/Linux. И причём гну/линукса в андроиде как такового крайне мало. Большинство утилит, встроенных в Android, взяты не из GNU, а из BSD :(

Придётся тут согласиться с анонимным оратором.

Соглашайтесь, раз придется. Запретить не могу — у нас тут мир электронной свободы.

практически все продаваемые устройства с Android используют ядро линукса

Вы прямо как Пехтин — такой же красноречивый. «У меня практически нет недвижимости за рубежом». ;)

Андроид — это и есть Линукс.

Ну как бы разработчики Android с Вами не согласны. Android может крутиться на любом ядре.

Конечно, ведь так часто приходится видеть на смартфонах Андроид, работающий поверх Windows Phone, iOS и даже MS-DOS. ;)

работающий поверх Windows Phone, iOS и даже MS-DOS

Windows Phone, iOS и MS-DOS - это, вообще-то, не ядра, а операционные системы. Android вполне может работать на ядре NT и ничто не мешает при желании вместо Linux использовать, скажем, ядро BSD. Ну и сами разработчики заявляли, что Android - не Linux. Ну, местным экспертам видне..

Где пруфлинк, подтверждающий бред пациента об Андроиде на "ядре NT"?

Таких проектов имеется даже не один. Запускается в Windows и работает на ядре NT без всякого Linux. Гугл в помощь, иначе так и останетесь тёмным.

Да не я останусь темным, если откажусь искать в Гугле то, чего нет, а подозрения публики, что вы пи...бол останутся неразвенчанными. ;)

comrade аватар

Гражданин скорее всего путает «запуск Андроида на NT» с Андроидом, установленным на планшеты с интеловскими процессорами((-:

Трудно сказать почему путается этот оратор. Моя рабочая версия — отравился несвежей котлетой в школьной столовой.

Гражданин скорее всего путает «запуск Андроида на NT

Пожалуйста, поищите в поисковых системах Windroy и Bluestacks. Это не эмуляторы, а нативные реализации Android на NT.

Так Windroy — это же просто оторванный от Андроида гуй, запущенный через OS adaption layer (OSAL) between Android and Windows, который является ни чем иным, как эмулятором под Windows API Линукса.

Можно, пожалуйста, ссылочку? Я, погуглив "windroy OSAL", ничего про линукс не нашёл :(

Все бы Вам гуглить. Нужно же иногда и самостоятельно по сайту полазать в поисках информации. ;)

Так Windroy — это же просто оторванный от Андроида гуй

Не ГУЙ, а полноценный Android, которую можно запустить на любом ядре.

OS adaption layer (OSAL) between Android and Windows, который является ни чем иным, как эмулятором под Windows API Линукса.

Пруф на то, что OSAL - это эмулятор Линукса, давайте. Линукса там никакого нет вообще. Там Dalvik, который запускается на NT через прослойку OSAL. О чём, собственно, и пишут разработчики: OS adaption layer (OSAL) between Android and Windows.

Прощу прощение за оффтопик, но... если удаляете из моих комментариев оскорбления, то удаляйте некорректные выражения и из собственных комментариев.

comrade аватар

Дык это же виртуальные машины для запуска андроида и его приложений из Windows'а?! (((-:

А если я DOS в виртуальной машине запущу — это будет DOS на ядре NT? Или DOS на ядре Linux, если из линукса? ((((-:

Или если андроидовских AngryBirds запустить в Windroy, то это будут "AngryBirds на ядре NT"?

Как бы там сказано, что это _не_ виртуальные машины.

Тут скорее будет "DOSBox - это DOS на ядре Windows/Linux/MacOS", а "Wine - это Windows на ядре Linux".

Читайте внимательно, все там сказано.

Или если андроидовских AngryBirds запустить в Windroy, то это будут AngryBirds на ядре NT?

Именно. Dalvik сама по себе виртуальная машина, и без разницы, на каком ядре её запускать.

Понял где пробел в Ваших познаниях архитектуры Андроида, из-за которого вы изрыгаете хулу и проклятия в адрес невинных участников обсуждения. Видите ли, Андроид — это не только Dalvik. Есть еще такая вещь, как Native Development Kit, которая позволяет писать низкоуровневые модули для системы на языке C/С++, опираясь на стандартные Linux-библиотеки. Другими словами, стандартные Linux-библиотеки являются частью Андроида.

В очередной раз извиняюсь за обсуждение не по теме, но обязательно ли удалять ругань из моих комментариев? Предмодерация анонимных сообщений троллей — знак низкой культуры модерации. Не беспокоит ли модератора, что над удалением сообщений от троллей будет хихикать 2-3 анонимуса? И вообще, мне не нравится этот сайт, я ухожу и больше не буду доставать всех тут своим нытьем. Успехов!

Извините, что попрощался, но пишу снова. Хоть сайт плохой и модератор не такой, все равно не могу оторваться — так мне тут интересно. Итак:

опираясь на стандартные Linux-библиотеки.

Вот оно как? И что это за библиотеки такие волшебные, что их больше нигде, кроме Linux, использовать нельзя? Или сейчас окажется, что с Native Development Kit без Linux - никуда??? Собственно, сайт с Android NDK позволяет загрузить NDK для Linux, Mac и Windows. Или Вы считаете, что если что-то пишется на C and C++, то это автоматически становится Линуксом?

Вам, конечно, виднее, но разработчики Андроида пишут, что под Вантузом не работает:

You will need to use Linux or Mac OS. Building under Windows is not currently supported.

Под Вантузом вообще ничего не работает. Эта ОС нужна чтобы сидеть в Контакте и собирать все гуляющие по интернету вирусы. Не знаю чего Вы так фанатеете от этой ОС. ;)

Посмотрел и 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 аватар

Наверное можно было бы так сделать, но, похоже, такой "неуловимый Джо" просто никому нахрен не сдался (((-;

Но микрософт как-то не опечален по этому поводу — ему и так неплохо живётся: микрософт с производителей устройств на Андроиде трясёт денег больше, чем гуглу от андроида достаётся.

Вы обещали "Android на ядре NT", но пока закидываете ссылками на эмуляторы и виртуальные машины.

Вы докажите для начала Ваше утверждение, что "Android это Linux", покажите там ядро Linux, потому что ссылки на Android, работающий на ядре NT, я Вам предоставил. Никакого Линукса там и близко нет.

подтверждение Ваших слов о том, что Android вполне может существовать на основе Windows без дополнительных "слоёв адаптации", созданых третьей стороной.

Вы сначала покажите, где я говорил об отсутствии "слоёв адаптации", или тут так принято - постоянно оппоненту приписывать то, что он не утверждал?

покажите там ядро Linux

Да пожалста: 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 аватар

Тот гражданин просто любит попередёргивать...

Но эти эмуляторы просто эмулируют для андроида его родное "ядро линукс", на котором он и заводится. Это же самый обычный Андроид, никак не модифицированный "для ядра NT". Ядро NT никакого прямого отношения к данному процессу запуска Андроида не имеет. Слишком много слоёв между ними.

Эмуляторы для запуска Адроида и андроидовских приложений есть и для линукса. Если мы в этом случае попытаемся руководствоваться логикой "уходящего" анонимуса, то вообще голову сломаем:))))

От факта, что никому в здравом уме пока не пришла в голову идея делать "Андроид на ядре NT" нас попытались увести в сторону мутных дискуссий — что называть виртуальной машиной? Эмулятор процессора? Ядра? Или что ещё...

Сами авторы таких программ любят наводить тень на плетень. Видимо считают, что если обозвать виртуальную машину "нативной реализацией"((-:, то их труд будет звучать весомее...

Кстати, в случае Windroy и Dalvik, которые могут андроидовские приложения без андроида запускать, надо уже спрашивать не "где тут линукс?", а "где тут андроид?":-)))
(Приложения на основе джавы работают на разных платформах – чудо то какое! ;-)))))

Да, не каждый психиатр сможет разобраться в том, что хотел сказать этот пациент. Что уж говорить о нас, простых скромных читателях. Попробую резюмировать:

Скачиваем исходный код Андроида, выкидываем оттуда часть Андроида под названием ядро Linux, берем у стороннего разработчика слой, который будет транслировать запросы к ядру Linux в запросы к Windows и обратно. Делаем вывод, что Linux никакого отношения к Андроиду не имеет.

Уважаемый анонимный эксперд, я правильно Вас понял?

Нет, не правильно. Ушел делать уроки, когда вернусь все объясню.

при желании вместо Linux использовать, скажем, ядро BSD

LOL. Только к BSD придется дописать еще столько же кода, обеспечивающего поддержку мобильных технологий и всего спектра оборудования. Анонимный эксперд жжот. ;)

Только к BSD придется дописать еще столько же кода, обеспечивающего поддержку мобильных технологий и всего спектра оборудования.

Ну вот Apple взяли код BSD с NextSTEP и сделали ядро для MacOS X. Гугл тоже использует не ванильный код ядра Linux, а свой собственный форк. В очередной раз экспертам Liberatum напомню о необходимости учить матчасть, прежде чем ололокать.

В очередной раз напоминаю троллю о предстоящей необходимости нырять в говнофильтр, если тролль не сделает свое общение тут менее вызывающим.

ЗЫ Снова про матчасть заладил, как только понял, что облажался. Пруф давай на "Андродид на ядре NT", демонстрировать знание шаблонных ответов будешь своей бабушке, так как на меня это никакого впечатления не производит. ;)

если тролль не сделает свое общение тут менее вызывающим.

В своих собственных постах переходов на личности не видим, не?

Снова про матчасть заладил, как только понял, что облажался.

Лажаете тут Вы, дорогой pomidorius, и с завидным постоянством причём.

Пруф давай

Если бы тут можно было запостить ссылку, то пруф был бы. А так придётся Вам всё-таки осваивать Гугл.

Понятно. Дятел хочет предмодерацию. Ну, как угодно.

comrade аватар

И хорошо – благодаря лицензии GNU теперь уже гугловские доработки используются при портировании других линуксов на планшеты и смартфоны с ARM'ами.
Т.е., в кооперации участвуют даже конкуренты.

Ну вот Apple взяли код BSD с NextSTEP

Код NextSTEP никогда не был под лицензией BSD, да и к самому сборищу *BSD эта ОС имеет чуть меньшее, чем никакого отношения. Типичная проприетарная Unix-like ОС.

Единственное, что есть в MacOSX от *BSD "--- окружение ядра. И только по той причине, что его можно линковать с проприетарным ядром.

Гугл тоже использует не ванильный код ядра Linux, а свой собственный форк.

Исключительно в Android и исключительно для поддержки мобильного железа.
Та же Goobuntu бинарно совместима с Ubuntu, а значит ядро ей никто не патчил.

Вот она когда повылазила — монолитность и отсутствие стабильного API.

Жесткий и некомфортный, но правдивый пост.
Думал, что куча комментов задетых за живое любителей линукса, а оказалось
что срач из-за никому ненужной дури "Android на ядре NT".
Кому нужны эти бессмысленные препирания?

Что тут сказать, Вы правы. Не смог отказать себе в удовольствии поржать над осатаневшим любителем вантуза. В следующий раз постараюсь пресекать.

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.