Опыт успешной разработки коммерческого проекта на базе решений 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