Январь 2010

«Неотъемлемой частью нашей бизнес-стратегии является Фонд FreeBSD разработчиков постоянно совершенствовать и уточнять FreeBSD. Наша внутренняя инфраструктура и услуги основаны на FreeBSD, что позволяет нам легко определить области, в FreeBSD, которые нуждаются в улучшении. Лицензия BSD позволяет как использовать и добавлять код свободно и позволяет нашим клиентам сделать то же самое. FreeBSD пользу от лет открытого обмена и сотрудничества, которые привели в стабильной, зрелый, высокая производительность операционной системы».

Джош Paetzel, директор информационных технологий, iXsystems

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

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

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

Процесс фиксации

Проект FreeBSD разрабатывает и поддерживает полную операционную систему и набор средств разработки. Результирующее программное обеспечение отвечает потребностям широкого круга вопросов сообщества пользователей, которая охватывает разработчиков программного обеспечения, системных интеграторов, appliance разработчиков, разработчиков встраиваемых систем, Интернет провайдеры (ISP), веб-хостинга компании и только о тех, кто нуждается в среду разработки и развертывания твердых, Unix как, программного обеспечения. Хотя можно разработать рудиментарные операционной системы для небольшого сообщества любителей с несколько правил или положений, обеспечивая систему с глубиной и широтой FreeBSD имеет привести сообщество FreeBSD разработать набор внутренних процессов. Эти процессы служат общины, а также сообщества клиентов, многие из которых строить свою продукцию и предприятия на верхней части FreeBSD.

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

Наиболее распространенной причиной для добавления кода или документации к системе является для нужд пользователей, не охваченных в настоящее время выпустила программное обеспечение. Эта потребность может быть так просто, как программное обеспечение патч или сложным, как новый драйвер устройства, Сетевой протокол или компилятор. Большинство пользователей напрямую не могут изменять код и документацию в репозитории проекта и должны сделать их потребности, известны сообществу. FreeBSD имеет несколько групп людей, которые работают непосредственно на источнике и документации, которые составляют проект, включая исходный код, стороннего программного обеспечения (известный как порты) и документации. Коммитер — это кто-то имеет коммит бит, что дает им возможность подтвердить изменения в репозиторий проекта. Процесс, посредством которого кто-то становится членом сообщества является неотъемлемой частью стабильности самого проекта.

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

Основная группа — группа участников проекта, которые периодически решили помочь в организации проекта. Одна из обязанностей основной группы является принять или отклонить новых членов. Потому, что каждый разработчик известен некоторые сегмент сообщества прежде, чем они предлагаются, редко есть случаи кого-то было отказано бит commit. Одной из важных мер новый коммиттер должен делать с темпераментом. Проект способствует отличные разработчиков и сообщество хочет, чтобы члены, которые имеют социальные навыки, чтобы «играть с другими». Разработчики, которые не могут получить вместе с другими не предлагаются для фиксации бит, независимо от того, как блестящий код, потому что каждый проект знает, что ядовитые программисты не люди, они хотят иметь дело с на ежедневной основе.

Принимаются как коммиттер не заканчивается с бит commit предоставляются. Новый коммиттер получает наставника, обычно человек, который предложил им для фиксации бит, через кого они должны пройти все предложенные изменения. Наставник рассматривает все изменения, обеспечивая их соответствие процессов развития проекта. Проект FreeBSD имеет согласованный стиль кодирования и документации и наставничества период используется для передачи этих знаний на подопечный. После некоторое время подопечный освобождается от наставничества наставника. Этот процесс, который определяет, как пользователь или внешний участник становится членом проекта, с его несколько уровней проверки и открытого и подотчетного характера, в значительной степени способствовало стабильности проекта.

Выпуск техники процесса

Другой процесс, который способствует стабильности FreeBSD в качестве платформы для развития является выпуск проекта и процесс управления филиала. Что можно изменить между и внутри релизов определяется набором правил. Всегда есть две основные направления развития системы управления исходным кодом: ТЕКУЩИЙ и СТАБИЛЬНОЙ. Все изменения идут на текущий первый, означает, что эта ветвь разработки содержит код, который все еще проходит испытания. СТАБИЛЬНАЯ ветвь является то, что проект ожидает вниз по течению сущностей, таких как системные интеграторы и разработчики прибора, чтобы основывать свои продукты на. Если новая функция в текущем также необходимы в СТАБИЛЬНОЙ, что изменения вносятся из текущего (MFC'ed) в СТАБИЛЬНОЙ. Обеспечение того, чтобы весь новый код переходит в текущий первый способствует стабильности системы в целом. Новые изменения полностью протестированы в ток без отрицательных последствий более широкого сообщества.

Когда релиз программного обеспечения производится, Номера версий для текущих и СТАБИЛЬНОЙ. Например с выпуском версии 8.0, СТАБИЛЬНОЙ теперь 8 филиала и ток является 9. После того, как основной релиз был достигнут, все системные вызовы и ядро приложения, программные интерфейсы (API) не изменится в этой ветви. Любое изменение, которое приведет к двоичной несовместимости должны попадать в текущий и никогда не будут помещены в выпущенный филиал. Поскольку не дестабилизирующей улучшения и исправления ошибок к системе, сделаны незначительные версии. Например 6 филиала были пронумерованы 6.0 через 6.4 релизы. Проект FreeBSD берет свою приверженность API и ядра программирования интерфейса стабильности серьезно, это означает, что любой код, разработанный в рамках набора выпуска филиалов будет работать на любом будущем выпуске одной ветви.

Релизы официально поддерживаются проектом в течение двух лет с момента выпуска. Из-за темпов развития только изменения в старые ветви являются критические исправления ошибок, таких, как рекомендации по безопасности и ошибок, которые могут привести к нестабильной работе системы. Если сектор по-прежнему активно используется поставщиками систем и других предприятий, есть расширенный конец жизни (EOL) процесс whereby веткой продолжает получать исправления ошибок после окончания нормального двухлетнего периода.

Код отслеживания процесса

Системы растут более надежными, если они имеют поддержку соответствующей инфраструктуры и процессов. Проект FreeBSD, с течением времени приобрела ресурсы, чтобы предоставить сообществу доступ к системе управления хорошо поддерживается исходным кодом и документацией, а также строить фермы и центры тестирования. Весь код истории проекта можно просматривать на линии или извлечен из проекта в репозитории исходного кода. Все изменения в системе, возвращаясь к начальный импорт кода из Беркли распространения программного обеспечения, записали и сохранены.

Создание кластеров, подаренных передачи данных Sentex, запустить приложение, известный как tinderbox. Система tinderbox загрузок кода операционной системы каждый день или на несколько быстрее машин каждые несколько часов, а перестроение, которые код. Если построение завершается неудачей, письмо отправляется на списки рассылки, чтобы обидеть проблемы могут быть найдены и исправлены быстро. Tinderbox система гарантирует, что развитие не двигаться вперед с частично сломанной кодом.

Нет программного обеспечения системы может существовать на любой период времени без подпадающих под случайные ошибки. Проект FreeBSD поддерживает ошибка отслеживания базы данных, которая является открытым и доступным для всего Интернета так, что любой пользователь может записать проблему они находят с системой. Участники проекта могут читать и реагировать на проблемы в базе данных и есть ошибка перебора команды, чтобы убедиться, что ошибки не получают залежалый от недостатка внимания.

Вопросы безопасности специальных типов ошибок, и они часто рассматриваются вне обычной системы отслеживания таким образом, чтобы они не стали 0 день подвиги ошибок. Проект состоит из безопасности вопросов, связанных с сотрудником, который является основной точкой контакта для всех безопасности. Офицер безопасности работает с группой безопасности для изучения вопросов безопасности и для правильной записи, отчет и исправления уязвимостей, обнаруженных в освобожденных системах. Политика проекта FreeBSD выступает за полное раскрытие информации уязвимости после разумной задержки, чтобы обеспечить безопасный анализ и исправление проблемы, тестирование исправления и координации с другими затрагиваемыми сторонами. Аспект координации имеет важное значение для поставщиков, которые используют систему в своих продуктах. Хотя проект никогда не должен скрывать проблемы безопасности, она несет ответственность, чтобы убедиться, что произведенные стороны имеют возможность должным образом патч свои системы, прежде чем уязвимость становится более широко известна.

Другие факторы успеха

Проект FreeBSD выпускает релизы на протяжении более пятнадцати лет. Какие факторы способствовали его долголетия? Одним из ключевых факторов успеха проекта FreeBSD была всеохватывающей и демократический характер. В отличие от многих других проектов с открытым кодом FreeBSD никогда собственности или под контролем одного человека. Основная команда состоит из 9 членов сообщества FreeBSD, через процесс голосования, где каждый, кто сделал коммит к системе в прошлом году право голоса. Основная группа оказывает мало энергии: он может не аренду или пожара участники проекта, не имеет бюджета и управляет без расписания.

Главная ответственность core — выступать в качестве координационного центра для нетехнических аспектов проекта, таких, как стратегическое мышление о проекте, проверки новых разработчиков, отслеживания фиксации биты, которые могут выйти на пенсию или возобновлено, действуя как публичное лицо для проекта и помогает работать нетехнического характера проблемы, которые могут возникнуть в повседневной работы крупного проекта. Основная группа также создает «шляпы» для важных областей ответственности в рамках проекта. Когда новая область ответственности культур, ядро выглядит в сообществе для идентификации человека или людей, которые лучше всего подходят для ношения конкретной шляпу. В то время как ядро может предложить для кого-то, что они положили на шляпу, они не имеют возможности принуждать кого-либо сделать. Как новые разработчики являются частью сообщества к времени, когда они предлагаются для фиксации бит, люди, которые ветер с новые шляпы обычно уже делают работу в качестве неназванных и непризнанными. Предоставление лицу головной убор обычно больше о признании, чем управление.

Серьезной проблемой для многих проектов open source является потребность общественности, юридически включили орган для того, чтобы работать с поставщиками, подписывать контракты, сохраняют авторские права и обычно взаимодействуют с остальной частью корпоративной культуры. FreeBSD Foundation выполняет эту роль для проекта FreeBSD, действуя в качестве юридического лица, которое может выполнять все обязанности, необходимые для проекта, чтобы взаимодействовать с компаниями и частными лицами.

Одной из важных областей, что привело к долговечности проекта является его приверженность, с самого начала, top notch документации. Хотя многие проекты ожидают новых пользователей и интеграторов «читать источник», проект FreeBSD имеет вся команда, которая работает исключительно на документирование проекта, как свои внутренние правила, а также его наружу с видом страниц справочника, руководства пользователя, FAQ (часто задаваемые вопросы) и тому подобное. Документация в настоящее время производится в двадцати различных языках, включая не западных языков, таких как китайский, японский и корейский. Группа документации ведет документацию как снаружи, так и внутри исходного дерева, такие как справочные страницы, которые доступны на каждой установленной системе. Документация дает согласованность проекта для тех, кто строит системы на вершине. Без него проект не был бы использовать достаточное количество людей, чтобы выжить очень долго.

Операционная система и средства разработки не являются достаточными для всех каждый день потребности пользователей FreeBSD. Огромное количество внешних программ производятся использовать на FreeBSD, члены группы портов. Как документация и источник команд Команда портов самоорганизации и координируется люди, которые носят шляпы портов. Команда портов в настоящее время управляет более чем 20,000 портов программного обеспечения, которые могут быть установлены на FreeBSD, предоставляя доступ к сообществу пользователей полный спектр приложений, от электронной почты, для просмотра веб-страниц для специализированных библиотек, которые помогают FreeBSD системных интеграторов для создания продуктов.

Резюме

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

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

Рекомендуемые ресурсы

Как FreeBSD проектные работы (видео)

Как работает проект FreeBSD (pdf)

Релиз FreeBSD Инжиниринг

 

Доля этой статьи:

Цитируете эту статью:

Оцените содержание: 
Нет голосов были поданы еще. Скажи свое слово!