Как создается Ubuntu

http://www.techradar.com/news/software/operating-systems/how-we-build-ubuntu-718620
  • Перевод


Менеджер сообщества Убунту объясняет, как создается популярный дистрибутив.
Ubuntu — один из наиболее оттачиваемых доступных дистрибутивов Linux, используя работу глобального сообщества, спонсоров, которые обеспечивают большое количество людей и их навыков, чтобы сделать Ubuntu такой, какой она сейчас является.

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

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

Регулярные выпуски


В основе проекта Ubuntu — обязательство поставлять новый выпуск каждые шесть месяцев. В отличие от многих проектов программного обеспечения которые готовы задержать выпуск, пока некоторые функции не готовы, Ubuntu никогда не опаздывает с выпусками. Если какая-то функция не будет готова как раз к выпуску, мы начинаем активно работать над реализацией этой функции, не задерживая очередной выпуск.

Этот шестимесячный период разработки и подготовки выпуска известен как Цикл Выпуска и публикуется в начале нового цикла. Как пример, текущий выпуск разработки (Ubuntu 10.10) опубликован этой странице.

Цикл разбит на несколько ключевых компонентов:

Замораживания

Замораживание — это когда определенный тип разработки должен остановиться, обычно готовый к выпуску. Есть различные типы замораживания, такие как «Замораживание UI» (изменения в элементах пользовательского интерфейса) и замораживание функций.

Альфы

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

Беты

Бета-версия — выпуски с завершенными фичами, которые нуждаются в большом тестировании. Мы часто рекомендуем бету для обновления тестерам на стресс-тест, например.

Предвыпускная версия (Release candidate)

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

Все это начинается с Debian

Чтобы создать пакет Ubuntu, нужно взять исходный код из проектов с открытым исходным кодом (известный как апстрим) и загрузить его на машину сборки в проекте, которая создаст пакет, готовый к установке в системе Ubuntu. Эти пакеты сцепляются вместе, чтобы сформировать полный дистрибутив — от ядра, которое загружает машину, прямо до приложений, которые Вы запускаете.

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

Мы используем Debian, потому что это — единственный самый эффективный способ усовершенствовать с апстримным кодом и потому что Debian и Ubuntu всячески подобны: например исправление ошибок (bugfixes) для Debian являются теми же исправлениями ошибок и в Ubuntu.

С этим базовым набором пакетов от Debian, импортированного в Ubuntu, мы берем ряд наших модификаций ко многим из пакетов (известные как патчи), которые преобразовывают пакет Debian в тот, который больше походит на Ubuntu.

В качестве примера, пакеты Debian для Gnome не включают многие из модификаций, которые мы делаем, такие как: варианты программного обеспечения по умолчанию, тема по умолчанию, дополнительные функции панели и т.д. Все эти патчи, которые преобразовывают пакеты Debian в пакеты Ubuntu, расположены в свободном доступе на сайте patches.ubuntu.com.

Следующим шагом мы должны решить, какую новую разработку или функцию мы хотим сделать и встроить эти разработки в новый выпуск Ubuntu. Основные решения принимаются на Саммите Разработчиков Ubuntu, расположение которой варьируется между США и Европой.

Саммит Разработчиков Ubuntu(UDS) — событие, в котором мы отправляем нашу полную команду разработки Ubuntu, и мы спонсируем значительное количество членов сообщества, чтобы следить за ходом разработки.

Недельное событие разбито на девять этапов (Настольная версия, Серверная версия, Сообщество, Мобильное, Проекты, Основы, QA, Безопасность и Ubuntu на ARM), у каждого из которых есть расписание, которое обозначает сеансы для каждого этапа в течение недели. Эти сеансы востребованы штатом Canonical, членами сообщества и организованы, чтобы обеспечить место, в котором можно обсудить и запланировать некоторые фичи, определяющие контекст нового выпуска.

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

После того, как данная сессия на Саммите, где была обсуждена какая-то определенная фича, эта фича регистрируется в специальном месте — на Launchpad, запись на Launchpad обрисовывает в общих чертах цель функции и ссылки к спецификации. Спецификация — страница wiki на wiki.ubuntu.com, которая полностью обрисовывает в общих чертах план того, какую проблему функция решает и как это должно быть реализовано.

Большинство спецификаций включает следующую информацию:

Сводка — Что делает функция(фича).
Объяснение — Почему мы нуждаемся в функции.
Варианты использования — Типичные примеры, которык в общих чертах описывает ее функциональность.
Контекст — Какие элементы функции будут завершены в пределах цикла.
Проект — Сам проект работ по данной функции.
План реализации — Как работает реализация и какая работа была произведена.
Нерешенные вопросы — Любые неразрешенные проблемы.

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

image
Поделиться публикацией

Похожие публикации

Комментарии 60
    +3
    Большое спасибо за перевод, теперь есть хотя бы представление всей этой кухни.
    Вопрос. Сколько женщин на последней фотографии? Я насчитал 10.
    Интересно они программистки.
      +9
      Домохозяйки-тестеры
        +11
        Не сразу поймешь по прическам, кто из них женщины
          +1
          ещё бы, с головой в «3 пикселя»"
          +1
          Так ведь на носу релиз 10.10, почему бы не сделать символичную фотографию? :)
            +1
            Кухня гораздо сложнее, чем это описано в данной статье. Один Launchpad чего стоит…
              –4
              давайте лучше индусов посчитаем-)
                –2
                Вот их то как раз мало, я на вскидку одного только увидел. Что как бы намекает на высокое качество продукта по с равнению с bit.ly/9S5JLz и их остальными продуктами.
                  +1
                  Да я, вообще-то, и не из вредности их предложил посчитать, а шутки ради, вслед за женщинами. У самого дома минт и 10.04. Но, как обычно, хумор на религиозную тематику вызывает всяческое бурление в головах (или в том, что их заменяет).
                    0
                    Да, я и не Вам лично отвечал, а общее внимание привлекал. Просто я и сам сразу обратил внимание на факт небольшого количества индусов.
                0
                вижу 12 :)
                  0
                  Я где-то читал, что женщины менее склонны к свободному ПО, возможно причина в этом.
                    +4
                    А я слышал, что некоторые склонны к цветам и шоколаду :)
                  +12
                  «мы наслаждаемся фруктами нового выпуска Ubuntu» — фантастический машинный перевод. Что, поправить нельзя было, прежде чем сюда тянуть? Такое можно самому через гугль-транслейт сделать, и хабр не нужен.
                    0
                    В этом-то и стёб. Вы не понимаете. Это же фрукты — вкуснятина!
                      +8
                      ладно, это был стеб. а " которые обеспечивают большое количество навыков, чтобы сделать Ubuntu такой, какой она сейчас является" — это, пардоньте, на каком языке написано?
                        +5
                        На Черномырденском, очевидно же
                      +3
                      Это можно трактовать по-разному: fruit(фрукт) = «вкусность» выпуска и fruit(плод) = результат.
                        +2
                        «потому что Debian и Ubuntu всячески подобны» — тоже порадовало.
                        +2
                        Люблю тебя, Ubuntu! :-*
                          +6
                          Плохой перевод, много отсебятины (это ж должно было быть переводом, не так ли?) Но всё равно спасибо. Благодаря вам я теперь буду читать TechRadar.
                            –1
                            я думал слово «релиз» уже прочно засело в жаргоне технарей
                            «выпуск», конечно, по-русски, но ведь можно и по-людски
                              –2
                              С релиз-кандидатом та же фигня :)
                                +2
                                По-русски и по-людски — взаимоисключающие понятия?
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  +4
                                  Вот тут спорно. «Заморозка кода», к примеру, — устоявшийся термин. Просто не «замораживание» же…

                                  Ну да ладно, не будем так уж придираться. Читабельно.
                                    0
                                    В принципе читабельно, но лично у меня почему-то сначала в голове восстанавливается оригинал, а потом происходит его осмысление, потому что слова, вроде, русские, а фразы — английские. А хотелось бы, чтобы и предложения были по-русски составлены, а то получается, что английский текст читать удобнее.
                                +1
                                > Ubuntu никогда не опаздывает с выпусками

                                А как же Ubuntu 6.06? Релиз задержался на месяц.
                                Вместо конца апреля вышел 1 июня.
                                  0
                                  В порядке исключения. Всегда же бывают исключения :)
                                    +3
                                    Я ж не против исключений, но тогда не нужно писать «никогда», так пусть и пишут «почти никогда».
                                  +1
                                  Спасибо за ссылку на цикл разработки, узнал много нового. В частности кучу видов замораживания (у нас то как-то обходятся только FeatureFreeze). Ещё узнал очень интересное английское слово — anal-retentive — встретившееся в описании FinalFreeze :).
                                    +2
                                    Как же приятно осознавать что когда-то ты сделал хороший выбор, именно хороший, а не единственно верный )))
                                      –1
                                      «разбито на в девять этапов»
                                      Определитесь, пожалуйста, с союзом.
                                        +2
                                        Виноват. С предлогом конечно же.
                                          0
                                          Буду писать эту фразу к каждому подобному комментарию: в приват, господин, в приват такие вещи отправлять надо.
                                            +2
                                            Спасибо. Уяснил.
                                          +2
                                          Еще очень интересно узнать о менеджменте.
                                          У меня масса вопроов:
                                          1. Каким образом формируется команда?
                                          2. Кто вообще эти люди?
                                          3. Кто кому и как подчиняется?
                                          4. Как организована управляемость, отчетность?
                                          5. На чем построена мотивация (или на что опирается мотивируемость)?
                                          6. Как организована удаленная работа?
                                          7. Как происходит финансирование, что именно делается добровольно?

                                          Кто знает, поделитесь информацией, или киньте ссылкой.
                                            0
                                            На первом плане первой фото темнокожий парень за макинтошем — он тоже создает убунту?
                                              +1
                                              А почему нет?
                                                +1
                                                habrahabr.ru/blogs/ubuntu/100514/ (к тому что убунта замечательно живет на макинтоше)
                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                    +1
                                                    никто не спорит. на чем она не работает-то? :)
                                                      0
                                                      На электрочайнике тупит че-то…
                                                        0
                                                        а вы на него озотное охлаждение поставте.
                                                  +1
                                                  Ubuntu никогда не опаздывает с выпусками. Если какая-то функция не будет готова как раз к выпуску, мы начинаем активно работать над реализацией этой функции, не задерживая очередной выпуск.

                                                  fixed: если какая-то функция не будет готова как раз к выпуску, мы забьём на баги и всё равно выпустим. В итоге выходят сырые релизы, которые потом латаются. Не Федора, конечно, но и не Дебиан.
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                      0
                                                      Я вот тоже не понимаю, зачем выпускать новые релизы так часто. Можно было бы просто выпускать обновления. Но проблема в том, что когда выходит новый релиз, то на старый создатели убунты забивают, и обновлений некоторых программ можно не дождаться. Приходится ставить новый, или как то изощряться: настраивать сторонние репозитории, ставить дебы или из исходников.
                                                        0
                                                        на старый создатели убунты забивают, и обновлений некоторых программ можно не дождаться
                                                        Неправда, про цикл поддержки убунты можно почитать даже в википедии
                                                          0
                                                          Ну я примерно догадываюсь, какой у них цикл поддержки. Возможно в википедии оно звучит красиво. Но на практике не очень. Их цикл хорош для серверов, чтобы не случилась ситуация «Не было печали, апдейтов на качали». Но мне как-то на десктопе пришлось обновить версию Убунты только потому, что в новой была версия Subversion 1.5, а в старой 1.4.

                                                          Anyway, все равно Убунту — это самая адекватная ОС. Так что это я так, ворчу )
                                                            0
                                                            в новой была версия Subversion 1.5, а в старой 1.4
                                                            а я svn из ppa обновлял. нашёл поиском.
                                                            Вообще же бэкпортирование пакетов может быть довольно трудоёмким. Чтобы бэкпортнуть в lucid свежую empathy, нужно перетащить туда ещё пол-гнома.
                                                              0
                                                              Ну да, ppa спасает конечно. Тогда не знал о нем, пытался собрать из сорцов, но не получилось.
                                                        0
                                                        УМВР, это раз
                                                        ви так гойворите, будто альтернатив ubuntu нет, это два

                                                        Не нравится — сидите на дебиане. Или на RedHat/CentOS — у них вон стабильность превыше всего. Или на виндах — у них тоже раз в пару лет релиз.
                                                          +1
                                                          > у них тоже раз в пару лет релиз.
                                                          Раз в три года, плюс по сервис-паку раз в полтора года.
                                                        0
                                                        Да, 10.04 стала адекватно работать только недавно, когда на носу уже 10.10. Думаю, на 10.10 я обновлюсь очень не скоро.
                                                          +1
                                                          Можно еще 3 года не обновляться. Это же LTS
                                                            +1
                                                            Возможно так и сделаю. Но новые релизы иногда так подкупают своими фичами. Например вторая панель в Наутилусе. Ради нее я и поставил 10.04.
                                                              0
                                                              Полностью согласен, но вот именно в этот момент и появляется необходимость выбора между новыми фишками и стабильностью.
                                                              Так например на рабочих «серверах»(ну не могу я назвать свои домашние/рабочие машинки серверами без кавычек) оставлю 10.04, а на подопытном ноуте — обновлю при появлении RC

                                                              -ваш кэп)
                                                              0
                                                              Кому как. Мне вот Qtя свежая нужна. Правда, не сейчас, а когда стабилизируется. Там, глядишь и новый LTS выйдет. Кстати, помнится, мне тоже очень не понравилось, что после установки 10.04 апдейты обнаруживались каждый день (буквально).
                                                                0
                                                                Хм… Посмотрите на мой коммент чуть выше — и вы поймете о чем я. LTS можно оставлять на серверах и не волноваться за то, что при обновлении что-то слетит(хотя такой вероятности я не исключаю)

                                                                И, поправьте меня если я не прав, но LTS версия — это залог обновления пакетов, поддерживаемых сообществом, до самых актуальных версий — соответственно должна обновится и Qt. Конечно же, это является лишь моим представлением о том, как должна проходить LTS.
                                                                  0
                                                                  Поправляю. LTS — это исправление ошибок. Qt там 4.6.2, а свежая 4.7.0. Она наверняка ещё сырая, но перед ней 4.6.3 была, а это по большей части багфикс. Баги, видимо, некритичные, а может, и вовсе к Linux не относятся, иначе бы наверняка обновили. Правда, помнится, 4.5.0 тоже только с новым релизом Ubuntu пришла, а там-то разница была очень большая, хотя и не техническая: к списку доступных лицензий добавилась LGPL.

                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                        Самое читаемое