Статистика Linux ядра: 75% кода пишется корпорациями


Рубрика: Новости Linux
Метки:
Просмотров: 4175

Джонатан Корбет (Jonathan Corbet), создатель LWN, на конференции linux.conf.au рассказал 3 про результаты анализа патчей ядра в движение отрезка времени с 24 декабря 2008 года по 10 января 2010 года. В этот период, с момента выпуска ядра 2.6.28 до версии 2.6.33, было добавлено 2,8 млн строк кода в виде 55 тысяч значимых изменений. "Течение разработки теперь очень и очень энергичный", добавил Джонатан, отметив, что в ядро каждый день добавляется больше 7000 строк кода.

Особо поразительным аспектом анализа, всё же, стало начало кода, добавляемого в ядро. 18% не имеет никакой принадлежности к корпорациям, подразумевая сегодняшнее волонтёрство. Возникновение 7% кода поставить не посчастливилось. Оставшийся код был добавлен людьми, работающими программистами на разные компании. Таким образом 75% кода в ядре появляется благодаря работе людей, которым за это платят.

В глубине ниши "проплаченного" кода лидирует RedHat - 12%, после идёт Intel с 8%, IBM и Novell добавляют по 5% и на долю Oracle требуется 3%. Невзирая на то, что все эти компании являются прямыми конкурентами, централизованное прогресс ядра работает более чем хорошо.

Невзирая на то, что Google является пожалуй самым активным пользователем Linux, в статистику он не попал, но это место собираются починить. Большинство патчей для Linux ядра в Google пока не выпускают наружу.

Комментариев: 8 RSS

  • Комментариев: 8

  • Вконтакте

  • Facebook:

  •  Комментатор 1 | 23 января 2010 в 16:49:41

    Запрашивает Миша Рыцаревъ: интересно, а если открыть коды винды, то те же корпорации возмуться ли за его модернизацию? А насколько код линукса более совершенен, чем у винды? А что это за слухи ходят про утечку исходников винды? (а то базы же там продают всякие. Мне уже не раз приходили спамерские письма с предложением порой целых 80 видов баз! А с виндой там интересно что?

    Кроме того с напоминанием опять приведу стандартные на этот случай жизни вопросы про ядро: все вот эти очередные нововведения в ядро ухудшают или улучшают работу его и ОС на старом железе? (можно ли ядро написать и "научить" так, чтобы и под то и под то оно было оптимальным? А увеличение количества ядер в процессорах и остальное появление на рынке нового много в ядре нового писать требует?) Что в ядре будет в дальнейшем? ( например какие задачи будут ставиться после выхода 2.6.33 ? ) Например когда оно станет таким, что улучшать и усовершенствовать в нем будет уже в общем то нечего? И что будет собой представлять это "светлое будущее"? А есть ли русскоязычный сайт- аналог kernel.org ? На том-то все- свежее некуда. Аналог в общем то есть- это linuxkernel.ru (на linux.org.ua еще есть). Только вот почему то уже год, как там нового нет. Так что в основном как историческое и учебное пособие это теперь (там например писалось, о том, какие новые ошибки появлялись в последующих релизах и прочих очередных выпусках ядра. Интересно, а сейчас такое в нем может быть?). Могут ли все эти очередные усовершенствования улучшить работу wine ? А знание исходников винды в этом может помочь?

  •  Skymen | 24 января 2010 в 15:35:06

    >>2,8 млн строк кода в виде 55 тысяч значимых изменений

    А меня интересует другое - 2,8 млн строк!!!!

    А нового-то кот наплакал, нового то чего?

    Более того с каждым новым релизом проблем появляется (проявляется в последствии) все больше и больше...

    Железячные проблемы не решены, при чем с самым насущным обычно - видео и коммуникации...

    Стоит задатся вопросом - может эти самые корпорации за деньги гадят свободному Linux, а в своих продажных серверных вариантах в тихаря нормально делают. Или, вариант - они ведь берут деньги за техподдержку, если система будет проста и стабильна то кто у них будет эту техподдежку покупать?

    Они не смогли бороться с Linux и решили его "возглавить"!? (вариант "обезглавить" - без нормального ядра система как без головы)

  •  BuxarNET | 24 января 2010 в 15:59:43

    Я лично обновляюсь только на стабильные версии ядра.

    Компьютеру уже почти 4 года и ухудшения (как и улучшения) производительности я не заметил после обновлений.

    "добавлено 2,8 млн строк кода в виде 55 тысяч значимых изменений" - это не обязательно функциональные изменения. Добавляется поддержка нового железа, исправляется система безопасности, оптимизируется код на уже ранее написанные функции.

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

    Что касается корпораций, так не думаю, что они используют разное ядро - версия ядра для всех одинаковая.

    А вот их дистрибутив, по мимо ядра, содержит за частую в платной версии больше функционал, чем в бесплатной - на чем они и зарабатывают (а этому же относится и поддержка)

  •  skymen | 24 января 2010 в 21:40:27

    >>"добавлено 2,8 млн строк кода в виде 55 тысяч >>значимых изменений"

    >>- это не обязательно функциональные изменения.

    Вот это и настораживает....

    Разделите и у вас получится 55 тыс функций по 50 строк, каждая (ну в среднем), а функциональных изменений нет. Интересно сколько вообще строк кода во всем ядре и сколько функций...

    Если вы програмист - то вы должны понять что 2,8 млн строк - это очень и очень много...

    >>Добавляется поддержка нового железа,

    Но когда же наконец установка видео хотя бы перестанет быть гемороем!!!!

    >> исправляется система безопасности,

    55 тыс изменений в системе безопасности, говорит скорее об ее отсутствии, чем об эффективности

    (передергиваю немного tongue wink - но только немного)

    >> оптимизируется код на уже ранее написанные функции.

    Написано "добавлено", а не пофиксено...

    Кроме того оптимизация предполагает либо сокращение кода либо увеличение быстродействия...

    Ни того, ни того не заметно

  •  BuxarNET | 24 января 2010 в 23:15:47

    "Но когда же наконец установка видео хотя бы перестанет быть гемороем!!!!"

    --

    Что вы под этим имеете ввиду? Я никаких проблем не замечаю пока.

    "Написано "добавлено", а не пофиксено..."

    --

    Добавлено именно кода а не функционала, но слово "изменений" как раз и можно отнести как к слову "пофиксено" так и к слову "нововведений"

    "Кроме того оптимизация предполагает либо сокращение кода либо увеличение быстродействия..."

    Но никто и не говорит, что старый код не убирается.

    Программированием под линукс я не занимаюсь, но на примере php могу пояснить:

    К примеру есть сайт-движок, состоящий из 1000 строй кода в разных модулях. При написании аналогичного модуля но более продвинутого в функционале или безопасности скажем в 200 строк, старый естественно убирается к примеру в 100 строк. А если была и оптимизация кода, то возможно новый с большим функционалом выйдет в те же 100 строк старого модуля.

    Думаю примерно и кодом линукса, старый код выкидывают, заменяю более совершенным или с меньшим числом строк, но тем же функционалом (оптимизация) или же устаревшие модули с большим функционалом и большим числом строк.

    Я лично только "за" за обновления - как уже писал, ничего идеального нет - это первое и второе, нужно догонять новые технологии в железе.

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

    Так же и с ОС

  •  Skymen | 1 февраля 2010 в 16:16:33

    To: BuxarNET

    Что имею по поводу видео:

    Про мой Compaq с ATI Rage Mobility промолчим. Железо старое - тогда про "родные" видеодрайвера под Линукс вообще разговора не было. А сейчас писать поддержку старого...

    Но у товарища видео на базе Nvidia. модель не помню, но примерно 2006 года выпуска, чипсет распространенный, но плата производства не самой Nvidia, а референсная... Производитель не NoName...

    Ubuntu 8.04, 8.10, 9.04 - заставить работать драйвер без сбоев не удалось. На 8.10 - пару раз запустился нормально, но через пару перезагрузок слетел

    Mandriva 2008 Powerpack, 2009 Powerpack - вообще не удалось запустить.

    OpenSuse ,11.1, кажется, поставил(!!!) драйвер сам, запустился, через пару перезагрузок слетел, причем напроч.

    -----------------

    Все естественно делалось по инструкциям, траблшутингам... На форумах куча аналогичных случаев..

    ------------------

  •  To BuxarNET | 1 февраля 2010 в 17:24:16

    To: BuxarNET

    "Написано "добавлено", а не пофиксено..."

    Дальнейшие Ваши рассуждения говорит, что вы не философ и с логикой у вас слабовато, но может быть Вы торопились...

    Разберем:

    В пятой строке статьи написаны слова "добавлено 2,8 млн строк" - об этом утверждении я и рассуждал.

    Что означает: Было строк х, стало х+2,8млн.

    Вы же перепрыгнули в конец фразы в "значимые изменения" и выдаете правильную, но совершенно бесполезную в данном контексте сентенцию.

    Т.к. если использовано "изменение" в смысле:

    а) "пофиксено" - 55 тыс фиксов в 50 строк, то такая система скорее была "мертва", чем "жива"

    б) "нововведений" - то это как раз, то о чем я и говорю - качественных изменений как раз маловато и незавметно, при таком кол-ве ДОБАВЛЕННОГО кода.

    -------------------------

    "Кроме того оптимизация предполагает либо сокращение кода либо увеличение быстродействия..."

    >>Но никто и не говорит, что старый код не убирается.

    А кто-то сказал (в статье), что убирается?

    Если убирается, слово "добавлено" просто не уместно!

    Было бы правильно: "х строк изменено, у - добавлено".

    >Программированием под линукс я не занимаюсь

    Програмирование - это по сути работа переводчика, который переводит с "человеческого" в машинный. И тут как и в лингвистике есть языки, диалекты, стили наконец.

    Ваша фраза:

    >> Программированием под линукс я не занимаюсь,

    >> но на примере php могу пояснить

    говорит о том, что где-то в глубине души Вы это понимаете, но еще не осознаете....

    Что касается вашего примера:

    Если 200 строк добавлено, а 100 удалено, то в общем итоге добавлено всего 100 строк: 1100(стало)-1000(было)=100 - это количественное изменение

    + к нему качественное изменение, выраженное в новом функционале и оптимизации одного из модулей

    Если в результате оптимизации и функциональных изменений кол-во строк не изменилось, то:

    1000 (стало)-1000(было)=0 - количественные изменения равны 0, а есть по факту качественные изменения в виде оптимизации и нового функционала.

    Вообще говоря, если вы когда-нибудь слышали про RUP и Rational Rose или аналогичные теоретические выкладки и попытки внедрить всю эту теоретику на практике, то Вы бы могли бы знать (узнать), что все

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

    Вот об этом я как раз и размышлял - количественные изменения велики, а качественные мизерны (ну или мягче - малозаметны).

    Вот, например, когда я смотрю на инструменты администратора в Ubunte и Mandrive или OpenSuse, то я вижу качественные изменения в последних по сравнению с первой.

    Когда, смотришь на Ubuntu 8.04, которая работает быстрее чем Ubuntu 8.10, но по отзывам медленнее чем Ubuntu 7.10. И по тем же обзорам именно из-за экспериментов в ядре... - тоже качественные изменения на лицо...

    Почувствуйте, как говорится, нюансы...

  •  Skymen | 1 февраля 2010 в 17:46:54

    To: BuxarNET

    "О пять же со стороны php программиста могу на личном опыте сказать, что бывает пока напишешь весь движок модулями, зачастую уже первый написанный модуль требует усовершенствования, т.к. появляются новые технологии и новые потребности."

    В жизненном цикле ПО это называется Изменение требований, в дисциплине Управление проектами для этого есть целый подпроцесс "управление изменениями требованиями". Кстати, есть такой постулат "В начале разработки достоверно может быть известно не более 80% конечных требований. Не менее 20% от известных в начале требований являются либо неверными, либо неточными, либо несущественными".

    " То же и в плане безопасности, все новые методы взлома разрабатываются, нужно своевременно и искать методы защиты."

    Вы будете м.б. удивлены, но "методы" взлома можно пересчитать по пальцам.

    Другое дело, что программистов много, программ много - и кол-во "наступаний" на одни и те же грабли несметно. Вот к эти "дырам" и применяются одни и те же методы.

    Скажем больше:

    Например, микрософтовский визуал студия может скомпилировать вполне правильную и честную программу с дырой. Вопрос тогда состоит только в том, чтоб эту дыру найти (что вообще говоря не легко) и применить старый известный метод - "переполнения буфера", например.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

Авторизация 

MaxSiteAuth.

(обязательно)