summaryrefslogtreecommitdiff
path: root/doc/ru/tutorials/using_bazaar_with_launchpad.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ru/tutorials/using_bazaar_with_launchpad.txt')
-rw-r--r--doc/ru/tutorials/using_bazaar_with_launchpad.txt461
1 files changed, 461 insertions, 0 deletions
diff --git a/doc/ru/tutorials/using_bazaar_with_launchpad.txt b/doc/ru/tutorials/using_bazaar_with_launchpad.txt
new file mode 100644
index 0000000..e9fa4cf
--- /dev/null
+++ b/doc/ru/tutorials/using_bazaar_with_launchpad.txt
@@ -0,0 +1,461 @@
+================================
+Использование Bazaar с Launchpad
+================================
+
+.. contents::
+ Содержание
+.. sectnum::
+
+Мотивация
+=========
+
+Сообщества отличаются от команд
+-------------------------------
+
+Количество человек в команде, необходимой для создания первой версии
+какого-либо программного обеспечения, может различаться в разы - от одного
+человека до нескольких тысяч. В зависимости от требований, сложность задач, как
+технических, так и управленческих, может быть просто огромна. Как описано в
+Руководстве пользователя Bazaar, выбор "правильных" процессов и использование
+таких инструментов как Bazaar, может существенно помочь в поддержке
+соответствующих рабочих циклов.
+
+Но успех программного обеспечения требует больше чем просто хорошую команду -
+здесь требуется здоровое и активное *сообщество*. Обычно эта группа намного
+больше команды, поскольку включает всех заинтересованных в данном программном
+обеспечении: команду разработки, пользователей, партнеров по подготовке
+кадров, партнеров по поддержке, сторонних разработчиков и так далее.
+
+Хорошие сообщества хорошо известны в мире открытого исходного кода. Но их
+полезность намного выше этого: большинство успешных поставщиков коммерческого
+программного обеспечения достаточно опытны в создании и управлении
+сообществами, которые растут вокруг их флагманских продуктов.
+
+Как и хорошие команды, хорошие сообщества не появляются просто так. Правильная
+политика и руководящие принципы имеют основополагающее значение при развитии
+правильного поведения и здорового отношения между участниками. Для более
+подробного понимания этой темы можно обратится к основополагающей книге Карла
+Фогеля (Karl Fogel): `Создание программного обеспечения с открытым кодом
+(Producing Open Source Software) <http://www.producingoss.com/>`_.
+
+
+Потребность в совместных средах разработки
+------------------------------------------
+
+Развитый набор инструментов также важен для отслеживания и управления
+информацией и рабочими процессами в сообществе. Такие инструменты называются
+совместными средами разработки (Collaborative Development Environments
+(CDEs)). Обычно эти инструменты работают на базе Web'а и управляют такими
+вещами как анонсы, задачи и ошибки, вопросы и ответы, ресурсы для скачивания,
+документы и исходный код. Вот несколько примеров совместных сред разработки:
+`Launchpad <https://launchpad.net>`_,
+`SourceForge <http://sourceforge.net>`_,
+`java.net <http://java.net>`_ и
+`SAP Community Network <https://www.sdn.sap.com/irj/sdn>`_.
+
+
+Помощь сообществам в работе с зависимыми от них сообществами
+------------------------------------------------------------
+
+Многие успешные продукты имеют большое число зависящих от них проектов.
+Другими словами, с успехом проекта появляется новая задача: общение с другими
+сообществами и понимание того как ваши изменения скажутся на них. Это наиболее
+очевидно для таких проектов как:
+
+* языков программирования, например, Python, PHP, Ruby, Java, Perl и др.
+* компиляторов, например, gcc, JDK и др.
+* библиотек, например, zlib, openssl и др.
+* каркасов, например, Zope, Ruby on Rails, Spring и др.
+
+В равной степени это относится и к популярным приложениям для которых могут
+создаваться дополнения, например, Firefox, Thunderbird, OpenOffice.org,
+Drupal, Wordpress, Joomla и др.
+
+Здесь необходимы инструменты, которые помогают сообществам работать вместе над
+отслеживанием и управлением задачами и исправлениями между сообществами. Такие
+инструменты помогают людям по обе стороны:
+
+* пользователи могут сообщить о проблемах своими словами, например, построение
+ изображения типа X не работает в приложении Y под операционной системой Z.
+
+* разработчики могут лучше оценить реакцию на сделанное изменение или
+ исправление, например, сделает ли исправление этой ошибки в графической
+ библиотеки счастливее пользователей этих 5-и приложений под этими 10-ю
+ операционными системами.
+
+Посредники играют важную роль *соединяя точки* и создавая коммуникацию между
+верхней и нижней точками линии. Во многих случаях, они могут так же исправить
+проблему для конечного пользователя, выпустив заплатку и передав рекомендуемое
+исправление основной команде разработчиков. Отслеживание всего этого в течении
+продолжительного времени - задача не из легких.
+
+Launchpad: Больше разработки, меньше трений
+-------------------------------------------
+
+Кроме спонсорства разработки `Ubuntu <http://www.ubuntu.com>`_ и `Bazaar
+<http://bazaar.canonical.com>`_, Canonical так же предоставляет Launchpad,
+https://launchpad.net, как бесплатный сервис для сообществ с открытым исходным
+кодом. Launchpad является одной из самых интересных сред совместной разработки
+по следующим причинам:
+
+* он создает связь между многими отслеживаемыми сущностями, например, ветки
+ исходного кода могут быть связаны с исправлением ошибок
+
+* кроме управления накопленными знаниями, также предоставляется планирование и
+ поддержка будущего разработки через такие возможности как отслеживание
+ направления развития, контрольные точки и планы развития
+
+* предоставляются инструменты для перевода и сборки пакетов, что снижает
+ барьер для переводчиков и тестеров пожелавших присоединиться к вашему
+ сообществу с помощью
+
+* служит связующим звеном между различными сообществами для совместной работы
+ над связанными задачами и направлениями развития.
+
+Иными словами, Launchpad был разработан чтобы помочь росту вашего сообщества и
+снизить трения при работе как *внутри* сообщества, так и *между* сообществами.
+В конечном счете, это означает, что тратится меньше времени на рутинные задачи
+и больше на интересные разработки.
+
+
+Bazaar: клиент системы контроля версий для Launchpad
+----------------------------------------------------
+
+Это руководство рассматривает как Bazaar и Launchpad могут быть использованы
+вместе и дополнять друг друга. Важно помнить о том, что:
+
+1. Bazaar можно использовать без Launchpad
+2. Launchpad можно использовать без Bazaar.
+
+И все же, по замыслу, их сумма больше чем каждый из инструментов по
+отдельности.
+
+
+Поиск и просмотр веток с помощью Launchpad
+==========================================
+
+Поиск доступных веток
+---------------------
+
+Хотя использование распределённой системы контроля версий даёт много
+преимуществ, в то же время исчезает всезнающий центральный сервер, который
+знает обо всех доступных ветках. Действительно, в распределённой среде
+интересующие ветки могут буквально существовать в сотнях мест во всему
+Интернету (или внутри Интранета).
+
+Launchpad заполняет этот пробел, предоставляя реестр веток.
+
+
+Регистрация веток
+-----------------
+
+Ветки могут быть загружены на Launchpad или просто зарегистрированы как
+доступные из внешних источников. Веткам так же можно назначать статусы, такие
+как *Новая*, *В разработке*, *Готовая* или *Отмененная*.
+
+Заметка: Внешние ветки могут даже располагаться в старых системах контроля
+версий, таких как CVS и Subversion. Код из этих систем будет периодически
+сканироваться и преобразовываться в ветки Bazaar. Конечно же, для максимальной
+точности, предпочтительнее чтобы внешние ветки были в формате Bazaar.
+
+
+Просмотр веток
+--------------
+
+Для веток можно просматривать их список, фильтровать и сортировать по
+множеству атрибутов, включая Имя, Регистратора, Автора, Состояние, Возраст и
+время последней фиксации. Также работает просмотр веток, что легко позволяет
+увидеть следующее:
+
+* откуда можно скачать ветку
+* как залить изменения
+* недавние фиксации и изменения, сделанные каждым разработчиком
+* исходный код отдельных файлов для указанной ревизии.
+
+
+Доступ к коду в Launchpad с помощью Bazaar
+==========================================
+
+Получение кода для проекта с открытым исходным кодом
+----------------------------------------------------
+
+Launchpad отслеживает тысячи проектов с открытым исходным кодом и вне
+зависимости от того хранится этот код в Bazaar, CVS или Subversion
+пользователи Bazaar легко могут получить этот код так::
+
+ bzr branch lp:имя-проекта
+
+где `имя-проекта` - это идентификатор проекта на Launchpad. Вот некоторые
+примеры::
+
+ bzr branch lp:inkscape
+ bzr branch lp:amarok
+ bzr branch lp:python
+ bzr branch lp:rails
+ bzr branch lp:java-gnome
+
+После этого вы можете просматривать код локально с помощью вашего любимого
+редактора или среды разработки и при желании изменять его.
+
+Если для проекта зарегистрировано несколько выпусков (например, выпуск
+разработки в выпуск поддержки), тогда свежий код для заданного выпуска можно
+получить используя команду::
+
+ bzr branch lp:имя-проекта/выпуск
+
+Публикация ваших изменений
+--------------------------
+
+Исправив эту надоедливую ошибку или добавив новую крутую возможность, о
+которой вы давно мечтали, пришло время удивить ваших друзей и сделать мир
+лучше, сделав ваш код доступным для других. Как уже объяснялось раньше,
+Launchpad это бесплатная служба для размещения веток Bazaar и поэтому вы
+можете опубликовать свою ветку на нём, так чтобы другие смогли получить доступ
+к вашему коду. Например, предположим что вы уже участник соответствующей
+команды, авторизуйтесь на Launchpad таким образом::
+
+ bzr launchpad-login пользователь
+
+где `пользователь` - это ваш идентификатор пользователя Launchpad. После этого
+вы можете залить ваши изменения на ветку команды вот так::
+
+ bzr push lp:~имя-команды/имя-проекта/имя-ветки
+
+Теперь другие могут скачать ваш код таким образом::
+
+ bzr branch lp:~имя-команды/имя-проекта/имя-ветки
+
+
+Личные ветки
+------------
+
+Даже если вы не член какой-либо команды Launchpad можно использовать для
+публикации ваших изменений. В этом случае просто создайте личную ветку::
+
+ bzr push lp:~пользователь/имя-проекта/имя-ветки
+
+Другие затем могут скачать ваш код таким образом::
+
+ bzr branch lp:~пользователь/имя-проекта/имя-ветки
+
+Заметка: даже в случае публикации личной ветки будет вежливо уведомить
+основных разработчиков о вашей ветке, чтобы они смогли взять ваши изменения,
+если они подходят и для других пользователей и соответствуют стандартам
+качества проекта.
+
+
+Связывание веток в Launchpad
+============================
+
+Привязка ветки к сообщению об ошибке
+------------------------------------
+
+После регистрации ветки вы можете связать её с ошибкой, чтобы заинтересованные
+в ее исправлении люди могли отслеживать изменения и скачать исправление, когда
+оно станет доступно.
+
+Чтобы сделать это выполните следующие шаги:
+
+1. Перейдите к странице с нужной ошибкой.
+
+2. Выберите `Add branch` (Добавить ветку) в разделе `Actions` (Действия).
+
+3. Выберите ветку.
+
+4. При желании вы можете изменить состояние (State) связи. По умолчанию
+ состояние будет *Fix In Progress* (Работа над исправлением), но вы можете
+ установить другое состояние, например *Fix Available* (Исправление
+ доступно), если ветка уже содержит исправление.
+
+При желании вы также можете добавить произвольный комментарий о связи между
+ошибкой и веткой.
+
+
+Изменение состояния ветки в Launchpad во время фиксации в Bazaar
+----------------------------------------------------------------
+
+Bazaar и Launchpad способны работать вместе, чтобы уменьшить ваши заботы по
+управлению состоянием ветки. Когда вы выполняете фиксацию с помощью Bazaar,
+используйте параметр --fixes::
+
+ bzr commit --fixes lp:1234 -m "..."
+
+где 1234 |--| это идентификатор ошибки. Эти данные изменят State (состояние
+отношения ветки к ошибке) на *Fix Available* (Исправление доступно). Если одна
+единственная фиксация исправляет несколько ошибок, то параметр --fixes может
+быть указан несколько раз.
+
+Самое интересное здесь заключается в том, что вам не обязательно иметь доступ
+к Launchpad в момент фиксации. При использовании ``--fixes`` идентификатор
+ошибки сохраняется в виде специальных метаданных, которые Launchpad увидит при
+очередной публикации ваших изменений или когда ваша публичная ветка будет
+просканирована в очередной раз.
+
+Заметка: Launchpad не будет закрывать сообщение об ошибке только потому, что
+существует ветка с исправлением. Для этого есть несколько причин. Во-первых,
+обычно исправления из вашей ветки должны быть объединены с главной веткой
+разработки, иначе большинство команд не будет считать ошибку исправленной.
+Во-вторых, многие команды придерживаются отдельного процесса для подтверждения
+исправлений ошибок, в добавление к утверждению разработчика об этом.
+
+Как поясняется далее, функция отслеживания объединений веток на Launchpad в
+настоящее время находится в стадии разработки. Как только эта функция будет
+готова более подходящим поведением станет автоматическое изменение состояния
+ошибки на *Fix Committed* (исправление зафиксировано).
+
+
+Связь ветки с планом
+--------------------
+
+После регистрации ветки вы можете связать её с планом, чтобы люди,
+заинтересованные в этом плане могли отслеживать и тестировать новые
+возможности по мере разработки.
+
+Чтобы это сделать, выполните следующие шаги:
+
+1. Перейдите к нужному плану (Blueprint).
+
+2. Выберите `Link branch` (Связать ветку) в разделе `Actions` (Действия).
+
+3. Выберите ветку.
+
+При желании вы также можете добавить произвольный комментарий об отношении
+ветки к плану.
+
+
+Управление релизами с помощью Launchpad
+=======================================
+
+Интеграция изменений
+--------------------
+
+Когда разработка на ветке закончена и она опубликована, сообщества обычно
+проходят через строгий процесс, прежде чем изменения будут интегрированы в
+основной продукт и предоставлены конечным пользователям. Вот некоторые из
+возможных шагов:
+
+* просмотр изменений другими участниками проекта
+
+* принятие решения, в какой релиз будут включены изменения, например, в
+ следующий релиз с исправлениями, или в следующее крупное обновление, или в
+ оба
+
+* прогон функциональных тестов для выявления ошибок
+
+* измерение производительности
+
+* включение в предварительные версии для тестирования конечными пользователями
+
+* обновление документации, например, заметок о выпуске
+
+* перевод пользовательского интерфейса и документации на разные языки.
+
+Этот раздел дает обзор возможностей Launchpad, которые помогают получить
+высокое качество кода в конечном продукте. Хорошая интеграция с Bazaar
+является основой для того, чтобы это прошло гладко.
+
+Примечание: в тех случаях, когда указано, некоторые из следующих возможностей
+всё ещё находятся в стадии разработки. Если одна или несколько таких
+возможностей вам интересны, рассмотрите возможность вступления в команду
+бета-тестирования Launchpad по следующей ссылке:
+https://help.launchpad.net/JoiningLaunchpadBetaTesters. В этом случае, вы
+сможете получить предварительный доступ к возможностям и сможете дать отзыв
+разработчиками до широкого внедрения.
+
+
+Предложение по объединению веток
+--------------------------------
+
+После перехода к ветке в Launchpad, одно из доступных действий - *Propose for
+merging* (Предложить объединение). Это действие позволяет вам указать, с какой
+веткой этот код мог бы быть объединен.
+
+Отслеживание знаний о том, какие ветки предлагается объединить в главную,
+помогает менеджерам выпусков держать на виду то, что ещё должно быть
+завершено, либо может быть завершено, до даты выпуска. Используя эту
+информацию, они могут убедиться, что ветки объединены после завершения их
+необходимых обзоров. В простом случае, менеджер выпуска может объединить ветки
+вручную. В более сложных ситуациях, объединение может быть сделано роботом
+(таким, как `PQM`_) автоматически, когда ветки перейдут в правильное состояние
+(например, *Review completed* (Обзор завершен)).
+
+.. _PQM: https://launchpad.net/pqm
+
+
+Отслеживание обзора кода
+------------------------
+
+Некоторые функции в Launchpad все еще в стадии разработки, например
+отслеживание состояний, обсуждений и результатов обзора кода. Ожидается, что
+эти функции будут интегрированы с предложениями по объединению веток и
+просмотром веток.
+
+
+Архивы личных пакетов (PPAs)
+----------------------------
+
+PPAs помогают разработчикам и командам разработки выдать определенный выпуск
+на руки пользователям для раннего тестирования и получения отзывов. Другими
+словами, PPA позволяет разработчику создать сообщество тестеров,
+заинтересованных в их изменениях. Тестирующее сообщество может установить
+пакеты, запускать их в течение тестового периода, а затем аккуратно удалить их
+из системы.
+
+Дальнейшую информацию можно найти по адресу
+https://help.launchpad.net/PPAQuickStart
+
+
+Переводы
+--------
+
+Модуль переводов в Launchpad сделан для того чтобы любой желающий мог легко
+присоединиться к переводу приложений на известные ему языки. Переводчики
+защищены от подробностей низкого уровня.
+
+Launchpad отслеживает переводы для каждой основной версии проекта по
+отдельности, что позволяет переводчикам продолжать совершенствовать перевод
+ваших стабильных релизов, пока другие могут начать работу над новыми версиями,
+которые все ещё находятся в разработке. Скорость перевода увеличивается из-за
+совместного использования ресурсов между проектами. Автоматические подсказки,
+из библиотеки в 750 тысяч переведенных строк, а также сообщество из
+19 тысяч зарегистрированных переводчиков может радикально сократить время,
+необходимое для локализации вашего проекта на многие языки.
+
+
+Итоги
+=====
+
+Сообщества к которым мы присоединяемся, будь то в реальной жизни, или онлайн,
+говорят многое о нас. Обратная сторона этого заключается в инструментах
+которые вы выбираете для сообщества - в частности, CDE и инструмент контроля
+версий. Это может иметь большое значение для тех кто пожелает присоединиться,
+и насколько легко они смогут помочь.
+
+Сами по себе, Launchpad и Bazaar являются очень полезными инструментами.
+Вместе они могут:
+
+* помочь вашему сообществу отслеживать основные ресурсы, такие как исходный
+ код и знания;
+* помочь ему расти, снизив вступительный барьер;
+* помочь ему во взаимодействии с зависимыми сообществами.
+
+В частности, Launchpad является сервисом хранения свободного кода для ваших
+веток Bazaar. Ветки можно просматривать онлайн, их можно связать с ошибками и
+планами. А их статус по отношению к ошибке может автоматически управляться
+упоминанием об ошибке при сохранении в Bazaar. Дальнейшая интеграция находится
+в стадии развития с целью оптимизации процесса от *большой идеи* до
+*работающего кода в руках конечных пользователей*.
+
+Если у вас есть отзывы или пожелания о том, как лучше интегрировать Bazaar и
+Launchpad, пожалуйста связывайтесь с нами через список рассылки
+bazaar@lists.canonical.com.
+
+Хотя Launchpad разработан как бесплатный сервис для поддержки проектов с
+открытыми исходными текстами, Canonical может сделать его доступным и для
+разработчиков коммерческого программного обеспечения, в зависимости от их
+требований. Мы с удовольствием выслушаем ваше мнение, если вы считаете, что
+Launchpad был бы полезен для управления вашим сообществом, будь оно открытое
+или нет.
+
+
+.. |--| unicode:: U+2014