January 2013 Download this article as a PDFAbstract

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

Введение

Эта статья посвящена вопрос как право на развилке открытых проектов – чтобы использовать исходный код существующей программы для запуска новой, независимой версии – работает как механизм управления для обеспечения устойчивости с открытыми исходными кодами. Концепция устойчивого развития обсуждается, с многочисленными рубрик, против которых может измерить устойчивость продукта (например, Коннелли, 2007; Дэвисон, 2001; Макманус, 1996). В контексте нынешнего исследования устойчивости определяется как возможность открытым исходным кодом программы по-прежнему служить потребностям разработчиков и пользователей.

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

Справочная информация

Код разветвляющейся часто рассматривается в негативном свете. В основе этого негативного взгляда является продолжающееся использование ограничительного и может быть устаревшим, определение термина разветвляющейся. До недавнего времени, термин вилка главным образом используется для описания ситуации, в которой сообщество разработчиков было разделить на конкурирующие лагеря каждое продолжение работы по их, несовместимая версия программного обеспечения (см., например, Raymond, 1999; Фогель, 2006). Таким образом отрицательный тон, найденных в дискуссиях разветвляющейся была связана с обеспокоенности в отношении препятствовали прогрессу, бессмысленной трате ресурсов и потенциальных кончины одного или обоих проектов. В последние годы термин разветвляющейся пришел в гораздо более широком контексте, охватывает все случаи, в которых один принимает существующий код базы и реализует его в отдельном проекте (см., например, GitHub). В контексте этого исследования мы придерживаемся этого более широкое определение разветвления.

Хотя есть много причин, почему раздвоенной проекты, наиболее распространенной причиной является желание изменить исходную программу, чтобы лучше удовлетворять конкретные потребности (Найман и Микконен, 2011). Вилки также могут быть запланированы, временные расхождения предназначены для тестирования новых идей и возможностей, с намерением позже интеграции эффективных улучшений в оригинал (Найман и Микконен, 2011; см. также GitHub). Право на развилке код встроены в само определение того, что значит быть открытым исходным кодом программы. Третий критерий из Open Source Initiative's (OSI) определение open source указывается, что лицензия «должна разрешать изменения и производные работы». Аналогичным образом определение свободного программного обеспечения Free Software Foundation (FSD) заявляет, что пользователи имеют свободу «запускать, копировать, распространять, изучать, изменить и улучшить программное обеспечение.» Все spinoff инициативы можно считать вилки, поскольку они «изменены или производные» (OSI) или «скопированы, изменены и улучшены». Возможность разветвления любого проекта влияет на управление и устойчивость всех открытых программ.

Программное обеспечение является редактируемым, Интерактивный, перепрограммируемая, распределенных и открыть (Kallinikos соавт, 2010). Эти характеристики определяют, что программное обеспечение является склонной к быть изменены, отремонтированы и обновлены вместо того, чтобы оставшиеся фиксированные с ранних стадиях процесса проектирования. Открытость в сочетании с зернистый состав программного обеспечения предлагают новые способы управления (Benkler, 2006). Это Управление не привязан к чрезмерной присвоения природных ресурсов (Остромирове, 1991), но скорее, относящиеся к способам, в которой группа разработчиков, следующие институциональные правила, коллективно производят общественного блага (Швейк и др., 2010).

Три уровня управления

1. уровень программного обеспечения

Характер отрасли диктует, что программы не могут поддерживать стабильное состояние устойчивый для длительного периода времени. Они должны продолжать развиваться, чтобы оставаться полезными и актуальными. Без постоянной адаптации программа будет постепенно становится менее удовлетворительным (Леман, 1980). И наоборот действительно успешное программное обеспечение имеет возможность адаптироваться и даже переживет аппаратное обеспечение, для которого он был изначально написан (Брукс, 1975). Таким образом способность меняться и развиваться является одним из ключевых компонентов программного обеспечения устойчивости. Хотя застой может быть прекурсором устаревание, устаревание не нужно проползти в проект с течением времени; Это часто дизайн функция.

Популяризировали в 1950-х годах американский промышленный дизайнер Брукс Стивенс (экономист, 2009), концепция планируемого устаревания стоит в разительном контрасте к концепции устойчивого развития. Стивенс определить запланированное устаревание как акт воспитания в покупателя «желание иметь что-то немного новее, немного лучше, немного раньше, чем это необходимо» (Брукс Стивенс биография). Некоторые считали «двигателем технологического прогресса» (Фишман соавт., 1993), еще больше логиками в литературе деловой этики (Guiltinan, 2009), запланированное устаревание является частью жизни каждого потребителя. Хотя разработка современного программного обеспечения и распределения имеют характеристики, которые существенно отличаются от промышленной продукции 1950-х, модели доходов компаний на рынке программного обеспечения часто приветствуют такие элементы, как системы управления версиями, для поощрения выкупы новой версии же системы или поставщик блокировки модулей, ограничивающих выбор клиента для некоторых провайдеров системы или продукта (для дальнейшего рассмотрения см. гребни, 2000). Новые версии программ могут вызвать проблемы совместимости с более ранних операционных систем или программ (например, отсутствие обратной совместимости в Internet Explorer, Microsoft Office или OS крестиками OpenStep API). Некоторые программы также внедрять новые форматы файлов, которые могут вызвать проблемы совместимости с более ранними версиями программы (например, docx против doc). Кроме того объявления конца жизни и озабоченности по поводу сроков окончания поддержки может стимулировать пользователей для обновления, независимо от реальной необходимости.

Право на развилке код делает реализацию таких элементов неосуществимой в open source. Право на усовершенствование программы, право объединять множество программ и право сделать совместимым с другими программами и версии программы являются все основные права, которые встроены в само определение open source. Исследования показывают, что эти права зачастую осуществляются (Fitzgerald, 2006). Результатом этого постоянного совершенствования сотрудничества в открытых системах является, что любая программа с поддержкой открытого сообщества могут пользоваться гарантированной значимости, а не запланированного устаревания. Кроме того с интересом новые сообщества, программы, которые распались и впал в disuse может ожил и обновляется разветвляющейся код из исходной программы. В самом деле, это довольно распространенная практика: почти 400 вилок, изучены Найман и Микконен (2011), 7% участие, восстановление заброшенных проекта. До тех пор, пока есть достаточный интерес сообщества в проекте, разветвляющейся может обеспечить постоянное улучшение в функциональности программного обеспечения.

2. сообщества уровень

Возможность вилка имеет центральное значение для управления любого открытого сообщества. Общей собственности проектов с открытым исходным кодом позволяет любому ответвить проект в любое время. Таким образом без один человек или группа не имеет «волшебный hold» над проектом (Фогель, 2006). Так как вилка с участием раскол общества может повредить общей производительности, Фогель отмечает, что потенциал Форк программы «незаменимый ингредиент, который связывает разработчиков вместе».

Одна из проблем среди общин открытым исходным кодом является то, что Лернер и Tirole (2002) вызовите перехват кода. Угон происходит, когда коммерческий поставщик пытается приватизировать исходный код проекта. 2008 приобретение MySQL, системы управления реляционными базами данных открытым исходным кодом от Sun Microsystems и последующее приобретение Sun по Oracle является примером такого случая с участием сообщества озабоченность по поводу потенциальных угон. Утверждается, что ряд приобретений приведет к краху MySQL и открытым исходным кодом движения в целом (Foremski, 2006). В ответ на такие претензии, Moody (2009) отметил, что, хотя открытым исходным кодом, компании могут быть куплены, открытым исходным кодом сообщества не могут. Разветвляющейся обеспечивает сообщество, которое поддерживает проект с открытым кодом с способом спина покинуть свою собственную версию проекта в случае такого приобретения. Действительно это то, что произошло в случае с MYSQL. Оригинальный MySQL разработчик, Майкл («Монти») Видениус, раздвоенной код MySQL и начал новую версию под другим именем, MariaDB, из-за проблем, касающихся управления и будущей открытости кода MySQL (подробности см. в блоге [5 февраля 2009 года и 12 декабря 2009] и пресс-релиз Видениус).

Аналогичным образом в 2010 году, сообщества касается относительно управления, привели к разветвляющейся OpenOffice (ОО) проекта. Фонд документ, который включает группу долгосрочных вкладчиков ОО, раздвоенной код OO, чтобы начать LibreOffice. Проект spinoff подчеркнул важность «прозрачный, совместные и включительно» правительства (документ фонд). Недавний анализ проекта LibreOffice указывает, что эта вилка в результате устойчивого сообщества без признаков застоя (Gamalielsson и Lundell, 2012). Учитывая, что разветвляющейся гарантирует, что любой проект может продолжаться до тех пор, пока есть достаточный интерес сообщества, мы уже описали разветвляющейся как «невидимая рука устойчивости» в open source программное обеспечение (Найман соавт., 2011).

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

В традиционной компании это управление, во главе с Генеральным директором и Совет директоров, который контролирует компанию и обеспечивает стимул для дальнейшего развития. Хотя видение руководства является также неотъемлемой частью возможного успеха любого открытого проекта, продолжение является более хрупким и зависит от их отношения с и ответы сообщества. Разветвляющейся нельзя предотвратить бизнес-модели или системы управления. Ключ заключается в распределении соответствующих ресурсов и тщательного общинного управления. Менеджеры должны поразить хрупкое равновесие между предоставлением движущей силой при умиротворяет и объединяющей общины. (Обзор моделей управления открытым исходным кодом, см. OSS Watch; для обсуждения вопроса о создании технических сообществ, см. Скеррета, 2008; обсуждение открытым исходным кодом сообщества управления см Байрон, 2009.)

3 уровень бизнес экосистемы

В динамичном мире открытого программного обеспечения естественный отбор действует как выбраковки силы, постоянно выбирать только сильнейший код, чтобы выжить (Торвальдс, 2001). Однако право на развилке означает, что любая компания может дублировать любого конкурента открытым исходным кодом программного обеспечения распределения; Таким образом конкурентное преимущество не может зависеть от качества кода. Однако это следует подчеркнуть, что возможность не равно успех. Право на развилке коммерчески успешную программу с намерением конкурирующих за же клиентской базы по-прежнему оставляет потенциальных конкурентов с вопросов, касающихся товарных знаков, ценность бренда и признание, а также существующих разработчиков и пользователей оригинальной программы. Несмотря на то, что разветвляющейся позволяет компаниям конкурировать с идентичными открытыми исходными кодами, оно, тем не менее сотрудничество, которое считается ключом к успеху корпоративных (Скеррета, 2011; МУЭГГЕ, 2011).

Открытое программное обеспечение является бесплатным, но также все более активно разрабатывается и поддерживается для коммерческой выгоды (Уилер, 2009). Хотя право на развилке может сделать для жесткой бизнес-среде, открыть источник компании могут и процветать. С его миллиардов долларов доходов Red Hat является одним из таких примеров. В то время как их доходы в первую очередь исходит от подписки и услуг, связанных с их программного обеспечения (см. Suehle's [2012] Тим обзор Q&A более глубокий взгляд на секрет успеха Red Hat), сами программы Red Hat во многом основаны на вилами программ других разработчиков. Это явление объединения раздвоенной программ не является уникальной для Red Hat: сотни различных дистрибутивов Linux все стало возможным благодаря разветвляющейся из существующих продуктов и переупаковку их как новый релиз.

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

Старая поговорка: «один человек в мусор является сокровище другого человека» определенно salient в разработке открытого программного обеспечения. Вскоре после оставления Nokia MeeGo проекта в 2011 году (пресс-релиз; MeeGo резюме), финская компания Хойя объявил, что он создаст бизнес вокруг своего возрождения, стало возможным благодаря разветвляющейся исходный код (пресс-релиз). 16 июля 2012 г. Хойя объявил контракт с д Телефон, один из крупнейших розничных торговцев сотовый телефон в Китае, и на 21 ноября они начали Сейлфиш OS. Однако не нужно быть открытым исходным кодом бизнес, чтобы воспользоваться правом на развилке. Разветвляющейся также может помочь компаниям, которые решили использовать существующую программу, или разработать для личного использования. Требование в open source совместно использовать один исходный код связан с распределением, не модификации, что означает, что можно разветвить программу и изменить его для внутреннего использования без необходимости предоставить код для других. Однако, знание лицензий, а также совместимость лицензий (при объединении программ) имеет решающее значение до проведения такой деятельности (обсуждение лицензий см Санкт-Лоран [2004], Валимаки [2005] или Мекер [2008] для обсуждения практики архитектурного дизайна в сочетании лицензий, см. Хаммуда и коллеги [2010].

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

Таблица 1. Разветвляющейся и его влияние на управление

Уровень

Как разветвляющейся обеспечивает устойчивость

Примеры

Программное обеспечение

Право на развилке защищает от запланированного устаревания, управления версиями и поставщика блокировки

Microsoft Word против LibreOffice

 

 

Из употребления из-за распада можно противопоставить разветвляющейся и обновление

Довольно распространенная практика открытым исходным кодом

(примеры см. в Найман [2011])

Сообщество

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

MariaDB раздвоенной от MySQL, LibreOffice раздвоенной от OpenOffice

Экосистема

Увеличивает инновационный потенциал, позволяя для комбинации и модификации проектов с открытым кодом

Множество различных дистрибутивов Linux

 

 

Заброшенные (или плохо обработанные) проекты можно оживить, создавая новые возможности для бизнеса

(Abandoned) MeeGo, вилочных для создания парусника

 

Управленческие последствия

Руководителям следует рассмотреть следующие последствия кода forking:

  • Заброшенный проект может стать бизнес-возможности.
  • Бизнес-модели, ни системы управления могут полностью не допустить разветвления. Таким образом разработчик и сообщества удовлетворенность имеет ключевое значение.
  • Сильный, динамичный сообщество является ключевым вопросом для рассмотрения при реализации с открытым исходным кодом программы. Когда приобретающее системы, потенциал разветвляющейся в открытое программное обеспечение – в частности, когда в сочетании с сильным сообществом – дает возможность избежать контроля версий и поставщика блокировки в один поставщик продукта или системы. Однако в то время как сообщество имеет важное значение, это не единственный фактор, чтобы рассмотреть. Подробнее об оценке и выборе открытого программного обеспечения для корпоративного использования, см. в мае 2008 выпуск обзора Тим, в том числе актуальные статьи по Golden (2008), фон Rotz (2008) и Semeteys (2008).
  • Есть еще тысячи открытых программ уже в существовании, которое может быть раздвоенной. Если возникает необходимость для программного обеспечения и open source является вариант, начните с анализа, что уже существует в репозитории кода как SourceForge и GitHub. Имейте в виду, что это распределение, не модификация, которая obligates совместное использование исходного кода. Не забудьте прочитать на лицензии сначала!

Заключение

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

Право на развилке код является неотъемлемой частью с открытыми исходными кодами и гарантирует всем открытым исходным кодом лицензии. Это право вилка имеет значительное влияние на управление и помогает обеспечить устойчивость открытого программного обеспечения. Мы проанализировали влияние разветвляющейся на трех различных уровнях: уровень программного обеспечения, общинном уровне и уровне экосистем. На уровне программного обеспечения код разветвляющейся служит в качестве механизма управления для устойчивого развития, предлагая пути преодоления запланированного устаревания и распада, а также управление версиями, блокировка- и связанных с этим проблем. На общинном уровне, код разветвляющейся обеспечивает устойчивость путем предоставления сообществу люка: право начать новую версию программы. Наконец на уровне экосистем, разветвляющейся служит в качестве основных компонентов естественного отбора и как катализатор для инновационной деятельности. Онлайн кует предлагают множество публично доступных программ, которые могут служить в качестве строительных блоков нового творения. Текущие проекты могут быть раздвоенной, заброшенные проекты могут быть возрождены и коммерческую или программы могут быть объединены в новые пути, чтобы лучше удовлетворять потребности разработчиков и конечных пользователей. Это право fork, что формы управления open source проектов и обеспечивает динамичный энергию в открытых вычислений сегодня.

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

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

Оцените содержание: 
1 голосов были поданы с средний балл 2 звезды

Ключевые слова: код разветвляющейся; Открытое программное обеспечение; устойчивость; инновации; Планируемое устаревание

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

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

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