Декабрь 2007

«Сборки программного обеспечения, whereby разработчикам повторно использовать уже созданный код компонентов, резко меняется как строятся приложения. Эффективность реализуются, если группы разработки процессов для управления как сборка кода, и гарантировать, что использование компонентов кода является в соответствии с различными лицензиями, регулирующих код.»

Дуг Левин, Генеральный директор Black Duck программного обеспечения

За последние десять лет Интернет и программного обеспечения с открытым исходным кодом (ПСОК) позволяют разработчикам коренным образом изменить способ, они производят программное обеспечение. Все чаще распределенные команды взаимодействуют для сборки программного обеспечения из повторно используемых компонентов и их собственный код, а не создания приложений полностью с нуля.

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

Этот документ опирается на опыт команды Black Duck программного обеспечения, наших клиентов и других отраслевых экспертов предложить новые подходы к управлению ИС в этом новом мире. Он описывает набор лучших практик, которые компании могут использовать, чтобы избежать рисков и воспользоваться преимуществами компонентно ориентированного подхода к разработке программного обеспечения.

Разработки на основе компонентов

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

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

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

Влияние открытым исходным кодом

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

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

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

Такие ограничения вводятся с помощью лицензий, примерами которых являются:

  • Лицензия программного обеспечения Apache (ASL)
  • Общая публичная лицензия (CPL)
  • GNU General Public License (GPL)
  • Mozilla Public License (MPL)
  • Новая лицензия BSD

Более полный список лицензий предоставляется http://www.opensource.org/licenses.

Соответствия лицензии Open Source

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

  • Существует широкое разнообразие обязательств, налагаемых открытым исходным кодом лицензии, начиная от лицензии BSD (которая имеет несколько обязательств) GPL лицензии (которая имеет много)
  • Некоторые с открытым исходным кодом, которые являются юридически сложных, введение ограничений, последствия которых бизнес не может быть очевидным для разработчика, выбирая для повторного использования компонента
  • Лицензии некоторых коммерческих и с открытым исходным кодом компоненты взаимно несовместимые
  • Происхождение конкретного исходного фрагмента кода может быть трудно определить, эффективно заслоняя свои лицензии
  • Открывая необходимость соблюдения лицензии в конце жизненного цикла проекта может привести к неприятной компромиссные решения, например весь исходный код проекта против увеличения времени на рынок по месяцам, в то время как компонент заменен

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

Управление альтернативы

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

Другие организации принимают драконовские подход запрещения всех повторного использования ПСОК. Эта стратегия является ошибочным, потому что она:

  • Трудно обеспечить
  • Снижает производительность и маневренность по сравнению с организациями успешно повторного использования внешних источников разработаны компоненты
  • Де побуждает разработчиков, требуя от них использовать скудные ресурсы для разработки compnents с нуля и протестировать их, вместо того, чтобы двигаться вперед

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

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

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

Подготовка к управлению ИС

Принять рекомендации, ряд задач следует рассмотреть лица или групп, ответственных за развитие и лицензирования. Целью управления программного обеспечения IP Организации следует определить ответственного бизнеса, юридических и технических лиц, которые будут участвовать в процессе. Организации также следует назначить их в качестве authorizers для каждого активного проекта и Комиссия их как группу для контроля и управления планирования, осуществления и постоянного управления процессом.

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

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

  • Лицензии, которые запрещены Организацией
  • Внешне развитые компоненты, которые, на основе предыдущих обзоров, одобрены для использования в проектах и ситуаций, в которых утвержден использование
  • Одобрены разработки компонентов, которые, на основе предыдущих обзоров, за вклад в проекты с открытым исходным кодом или предрасположенности к третьим лицам

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

Рекомендации по управлению ИС

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

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

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

Для каждого компонента, который команда разработчиков проекта предлагает использовать в рамках проекта команда должна понимать:

  • Предполагаемое использование и обоснование для включения
  • Чувствительность компонента
  • Как будет включен код

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

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

Для достижения большего контроля над компонент повторного использования, команды должны также принять следующие меры:

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Рекомендации по управлению интеллектуальной собственности программного обеспечения

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

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

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