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

Менеджер сообщества Убунту  объясняет, как создается популярный дистрибутив.

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.

Источник  перевода: http://habrahabr.ru/blogs/ubuntu/105065/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *