Міжнародная канферэнцыя распрацоўнікаў і карыстальнікаў свабодных праграм

Опыт успешной разработки коммерческого проекта на базе решений OpenSource

Андрей Шевченко – ООО АСПЛинукс Плюс, Донецк, Украина

LVEE 2007

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

введение

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

мотивация использования OpenSource

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

разработка с нуля

Преимущества такой разработки очевидны.

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

Первый из них – это безусловно скорость разработки до первого выпуска продукта на волю.

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

И самый ощутимый третий – скорость реакции и её стоимость на замеченные проблемы (их устранение) или на запрашиваемые расширения функциональности.

использование закрытых программных продуктов

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

С одной стороны это упростит разработку, ускорит её темпы, и даже не собьёт однородность развития, так как изменения интерфейса в оплаченном продукте могут серьёзно сказаться на имидже компании-разработчика.

Но с другой – увеличение стоимости продукта возникнет за счёт лицензионных отчислений третьим фирмам. А неожиданное прекращение существования фирмы-производителя или самого продукта может вывести из строя проект на некоторое время и повлечь за собой дополнительные затраты.

использование ПО с открытыми исходными кодами

Можно выделить следующие преимущества использования продукции третьих фирм, но с политикой лицензирования на основе открытых исходных кодов:

- низкая стоимость вложения в разработку базы;
- независимость от действий со стороны разработчика.

Но тем не менее, существуют и недостатки такого подхода. Так, например, наблюдается неравномерный процесс работы над различными составляющими системы. В частности, нам пришлось столкнуться с серьёзными изменениями, связанными с изменением некоторых интерфейсов подсистемы HAL; переход от версии PyGame 1.6.x к 1.7.x привнёс некоторые изменения API, и так далее.

окончательный выбор

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

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

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

обратная связь

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

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

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

Дополнительно, в сердце системы, в ядро Linux были добавлены некоторые опции, корректирующие работу ACPI подсистемы.
Проект v4l получил также поддержку некоторых тюнеров благодаря проекту.

сумма сказанного

Стоимость владения и вложенные средства в разработку минимизированы из-за использования базы в виде OpenSource.

Невзирая на неоднородность развития некоторых подсистем в целом, скорость разработки и поддержки системы up-to-date не пострадала.

В тоже время коммерческие проекты – это не всегда зло для OpenSource. В зависимости от области соприкосновения коммерческого и открытого ПО могут возникать различные способы взаимовыгоды.

источники

1. Acronis LiveMedia // http://www.acronis.ru/oem/products/livemedia
2. ASPLinux LiveMedia Edition // http://www.asplinux.ru/homeoffice/products/lme