abbra: (Default)
abbra ([personal profile] abbra) wrote2009-05-14 05:28 pm

Конкурентные преимущества

У [livejournal.com profile] vitus_wagner идет очередная дискуссия на тему каким должен быть код программных продуктов и какой модели разработки стоит придерживаться. [livejournal.com profile] belnetmon также в очередной раз навешивает ярлыки, постулируя, что "линуксообщество и слыхать не думало, что открытые исходники - это открытие конкуретных преимуществ, ноухау, оплаченной работы аналитиков и т.п.", приводящих к уничтожению тех или иных коммерческих преимуществ.

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

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

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

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

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

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

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

Хорошим примером является работа по кластеризации Самбы, которую разные компании вели на протяжении почти шести лет и только IBM удалось сделать продукт того качества, который можно реально использовать в серьезных многомиллионных внедрениях. При этом ключевые разработки (ctdb и доработки кода в samba) доступны под GNU GPLv3, их могут использовать конкуренты. Вот уже полтора года как продукт от IBM есть на рынке, конкурирующие решения еще только на подходе, как я слышу, но не выпущены и не будут выпущены еще в течение этого года. При этом в самом продукте есть и проприетарные компоненты, альтернативы которым есть у конкурентов (и в свободном ПО).

Есть и другие примеры, но не буду больше распространяться, суть не в примерах.

[identity profile] alexott.livejournal.com 2009-05-14 04:52 pm (UTC)(link)
Саш, разработка Самбы и решений на ее основе - это какая часть продуктов IBM (в процентном отношении)? Эклипс отдали в опен соурс, но rational'овские компоненты - никто не отдает, и т.д. А не отдают, поскольку очень много вложений было в исследования.
У меня есть мои личные примеры, когда я несколько месяцев сижу, занимаюсь исследованиями на которые тратятся деньги и т.п., а потом это выливается в код, который реализуется за несколько недель - как ты думаешь, если исходники будут открыты, как быстро это скопируется, даже в европейско-американском бизнесе, не говоря уже о китайцах...
Анализ ПО, поставляемого по госзаказам - это отдельная тема, и такой анализ проводится при закупках, по крайней мере нашего софта - мы отдаем все исходники и их проверяют...

[identity profile] alexott.livejournal.com 2009-05-14 05:25 pm (UTC)(link)
голубой гигант смог вложить денег в разработку, поэтому у вас и получилось, не у всех есть такие большие ресурсы...

[identity profile] shadow-aka-hf.livejournal.com 2009-05-15 04:52 am (UTC)(link)
для разработчиков сроки не так важны, как для пользователей
Для рядовых разработчиков, а для компании - очень важны.

[identity profile] shadow-aka-hf.livejournal.com 2009-05-15 08:23 am (UTC)(link)
типичного проекта СПО, где разработка ведется just for fun
Какой процент разработчиков проекта участвует в нем just for fun? и какая доля из участвующих just for fun зарабатывает этим проектом?

[identity profile] shadow-aka-hf.livejournal.com 2009-05-15 10:27 am (UTC)(link)
Вопросов на самом деле много, но логика понятна.

Да, похоже, это работающая модель, но не универсальная.

[identity profile] shadow-aka-hf.livejournal.com 2009-05-15 10:30 am (UTC)(link)
С точки зрения разработчика с интеллектуальными, а не финансовыми амбициями - наверное один из наиболее комфортных вариантов.

[identity profile] liks-cryptor.livejournal.com 2009-05-14 07:54 pm (UTC)(link)
Отчасти Вы правы, отчасти нет. В IBM очень сложно что-либо существующее открыть. Живой тому пример - nmon. Нигель писал сколько шагов он уже выполнил, чтобы открыть его код и сколько еще осталось сделать. Это реально сложно, просто такова политика партии. Представьте теперь сколько займет открытие более сложных продуктов.

[identity profile] alexott.livejournal.com 2009-05-14 07:57 pm (UTC)(link)
ну это тоже пример политики. разработки по самбе были открыты поскольку у нее была соответствующая лицензия. я не уверен, что они были бы оставлены открытыми, если бы у самбы была не GPL, а BSD, например...