Апрель 2011 г.

«Черный. Белый. Зеленый. Красный. Могу ли я взять мой друг к постели?»

«Все вместе сейчас» от Beatles

Аннотация

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

Введение

Открытым исходным кодом стал неотъемлемой частью разработки коммерческого программного обеспечения. Взаимодействие компании с открытым исходным кодом колеблется от принятия открытых источников развития практики, использование открытых средств разработки и использования открытых исходных компонентов в продукции, активный вклад открытых проектов и создание новых проектов под руководством компании open source. Было отмечено, что в прошлом, бесплатно/libre открытым исходным кодом программного обеспечения (F/убыток) развитие зависеть от усилий добровольцев, в то время как большинство разработки открытого исходного кода сегодня осуществляется платных разработчиков. Например более 70% изменений ядра Linux и более 80% коммиты платформы Eclipse были сделаны разработчиками, которые оплачиваются компаниями внести свой вклад в эти проекты.

Компании используют открытым исходным кодом сократить их разработки и расходы на техническое обслуживание и улучшить свое время на рынок. Опираясь на открытым исходным кодом позволяет им сосредоточить свои усилия в области развития на точках разницы над их конкурентами. Non дифференцируя часть программного обеспечения можно получить из внешних источников, либо коммерческий с полки (COTS) или F/потери. Это был недавно мотивированных сетей компаний в пределах одного домена (или коллективов) для разработки общих ресурсов в форме проектов с открытым исходным кодом.

Исследования по линии инжинирингу также начала изучать взаимосвязь между развитием F/убытков и управления линии продукции. Исследование проводится различие между использованием F/потери в линейки продуктов и внедрения практики линии продукта в F/потери. Эта статья является вкладом второго потока. Ее цель заключается в том, чтобы изучить структуру участия под руководством компании open source проектов с точки зрения продукта линии техники.

Соответствующая работа

Открытым исходным кодом разработки и продуктов линии являются взаимодополняющими (Chastek, Макгрегор и Нортроп, 2007 SPLC конференции). Различные черты открытым исходным кодом управления лицензиями, распределенной разработки и высокого качества (по крайней мере для крупных open source проектов, как результат коллегиального обзора и множественного использования). Линии программных продуктов также характеризуется управление активами, распределенной разработки и процессов управления качеством.

Компании используют линии продуктов для управления разнообразием продуктов и повторного использования (ван дер Линден, 2009). Инжиниринг продукции линии отделяет разработки общей платформы от разработки приложений. Платформы определить точки общности и вариативности. Приложения создаются путем связывания изменчивостью (Pohl, Бëкли и ван дер Линден, 2005). Обе эти практики используются, де-факто, в больших открытых проектах (ван Гурп, 2007). Многие проекты с открытым кодом структурированы в компоненты платформы и приложений.

Уже были изучены характеристики линии продуктов Linux, Mozilla и Eclipse (Chastek, Макгрегор и Нортроп, 2007; ван Гурп, 2007). Эти проекты получают большую часть своих взносов от компаний и, таким образом, приняли более формальные процессы, чем их коллеги по инициативе добровольцев. Эта статья сфокусирована на проектах под руководством компании.

Участие в проектах под руководством компании F/потери

Эволюция проектов F/потери

Многие проекты с открытым кодом начать с одним разработчиком или компанией с необходимостью. Узко определены и фокусируется на разрешении непосредственной технической задачей (например, «чесать зуд») сталкиваются инициатором проекта. Пример проекта индивидуумом является Linux; Проект начинался как личный проект Линус Thorvalds для создания доступной операционной системы Unix. Компания начала проект является Eclipse; Проект начался с IBM, жертвуя codebase для его VisualAge продукта с открытым исходным кодом.

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

Эволюция проекта этой модели требует, чтобы инициатор проекта удаляется на вытянутой из проекта, как описано на западе и Галлахер (2006) для целого ряда проектов с открытым кодом и присоединяется к сообществу, как только другой член. Направление проекта теперь устанавливается организациями-членами. Часто отношения между членами и проект также формализован посредством нейтральной организации или фонда, который действует в качестве законного представителя проекта и облегчает между членами сообщества. Например проект Eclipse координируется фондом Eclipse.

Участники проекта присоединиться к проекту с различными потребностями. Они используют общую базу кода проекта для разработки разнообразных приложений. В качестве случае Eclipse имеет 13 верхнего уровня проектов с более чем 200 субпроектов между ними способствовали более 50 компаний-членов, а также индивидуальных членов. Большинство взносов, или 80% коммиты, сделанные компаний-членов. Кроме того Eclipse marketplace содержит более 1000 приложений, построенных на верхней части ядра Eclipse.

От зеленого до Красного

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

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

Как компании участвуют

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

Рисунок 1. Как компании участвуют в проекте под руководством компании открытым исходным кодом

Изображение: april11_weiss1.gif

Приложения могут быть либо в узком домене (например, образование) или распространение в различных областях (например, языковая подготовка и бизнес-аналитики). Если приложения находятся в узкой области, проект часто имеет неотъемлемую архитектуру, если проект находится под контролем одной компанией. Причина заключается, что компания имеет мало стимулов, чтобы разделить архитектуру на модули, как это требует дополнительных усилий. Однако когда другие компании, участвующие в проекте, архитектура должна быть модульной до некоторой степени.

Существует четыре основных способа для компаний для участия в проекте под руководством компании открытым исходным кодом, как показано на рисунке 1. Эта классификация основывается на опыте с тематического исследования и изучение расширяемой открытым исходным кодом платформы, проведенные автором (Нури и Вайс, 2009). Как видно из предыдущего обсуждения, зеленый проект принадлежит в левом верхнем квадранте. В правом верхнем квадранте одна компания предоставляет интерфейс для привлечения третьих сторон для создания приложений, например, Moodle система управления обучением. В качестве примера компании в левом нижнем квадранте Zope ассоциации Европы (ZEA) координирует группу компаний открытым исходным кодом, что позволяет им конкурировать на крупных государственных контрактов (Феллер, Финнеган и Хейс, 2006). Правый нижний квадрант зарезервированы для коллективов компаний, которые совместно контролируют платформу, которая обеспечивает основу для разнообразных приложений. Проект Eclipse является примером такого коллектива.

Обсуждение

Иерархические всей F/потери проектов и F/потери проектов с общим элементом управления организованы как линии продуктов: платформы и приложения, которые расширяют его. Иерархические и совместно open source проектов, как Moodle и Eclipse плагин архитектуру, которая обеспечивает изменчивость через точки расширения и расширения. Как отметил Chastek и коллеги (2007), продукты в этой серии являются новые плагины и продуктов, используя существующие подключаемые модули. В Moodle подключаемые модули могут быть добавлены для расширения поведения платформы с открытым кодом через точки предвзятых расширения под контролем Moodle.com. Платформа Eclipse также позволяет определить точки расширения в подключаемые модули, которые они вносят. Moodle и Eclipse поддерживают высокое разнообразие приложений. Однако количество вариантов, поддерживаемых Eclipse гораздо выше, чем для Moodle.

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

Заключение

Эта статья развивает модель участия структуры под руководством компании open source проектов. Различия между структурами участия можно интерпретировать с точки зрения продукта линии концепций общности (платформ) и изменчивость (приложений). Наш анализ добавляет понятие общего контроля со стороны коллектива. Будущая работа включает проверку модели путем опроса.

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

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

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

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

Обычный текст

  • Теги HTML не разрешены.
  • Адреса электронной почты и адреса страниц включите в ссылки автоматически.
  • Строки и параграфы переносятся автоматически.