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] belnetmon.livejournal.com 2009-05-14 02:45 pm (UTC)(link)
Во-первых, в нашем реальном мире ни о какой этике речи быть не может пока что. Когда бизнес-аналитики конкурента проанализируют мой код и быстро сделают свой аналогичный продукт, будет очень тяжело доказать, что они позаимствовали идеи. Идеи будут закомуфлированы совершенно в иную обертку, в которой доказать авторство идей будет невозможно.

Во-вторых, судебные разбирательства стоят денег. Потому закрытость кода тут аналогична средствам защиты программ с помощью ключей и т.п. Нет никаких проблем юридически доказать, что программа украдена. Но при отсутствии аудита всех компьютеров всех предприятий никто никогда не узнает, что ее украли - аудит до компьютера просто не дойдет НИКОГДА. Ну и инициировать со стороны мелкого ООО судебный процесс в отношении большой конторы, которая украла программу - это неблагодарный процесс. Стоимость его в 100 раз перекроет затраты на защиту.

В - третьих, речь о масштабах предприятий. Если у IBM кто-то позаимствует идеи, не думаю, что IBM от этого закроется. А когда речь идет о мелких региональных игроках, у которых закрытие (проигрыш) в проекте равнозначен свертыванию деятельности - это совсем другая музыка.

[identity profile] shadow-aka-hf.livejournal.com 2009-05-14 03:14 pm (UTC)(link)
При этом в самом продукте есть и проприетарные компоненты ...
Т.е. открыли что не жалко. возможно такой гигант, как IBM может позволить себе открыть часть инфраструктуры и ничего не потерять. В прочем в контексте обсуждение у Витуса едиственая закрытая часть убивает идею.

Кстати, напомните, где в открытом доступе лежит код DB2, Lotus Notes?

[identity profile] metaclass.livejournal.com 2009-05-14 04:07 pm (UTC)(link)
На просторах exUSSR об этике сообщества "свободного ПО" даже речи никакой быть не может.
Во-первых, тут GPL, столлмана и прочие пиндосские заморочки все видели в гробу.
Во вторых, конкуренты никаким боком к этому самому сообществу не относятся и, насколько я с ними общался, совершенно не понимают идеи того, что свободное сотрудничество друг с другом только упростит жизнь всем. Когда речь идет о тендерах на проекты с госфинансированием - мало кто понимает, что лишняя конкуренция только усложняет жизнь и заставляет заниматься бюрократической ерундой вместо улучшения софта.
В третьих, заказчики - это не один человек,а десятки и сотни людей в десятках отделов. Если кто-то из людей, имеющих доступ к исходникам, отдаст их на изучение конкурентам - концов отыскать не получится, а юридические разборки займут больше ресурсов и времени, чем работа по улучшению софта.

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

[identity profile] b00ter.livejournal.com 2009-05-14 05:18 pm (UTC)(link)
Мне казалось, что Open Source - это как раз свобода выбора. Либо открыть исходный код, либо закрыть его. Насильственное открытие и закрытие смысла особого не имеет - ценность любого кода в пределе стремится к нулю, потому как заказчик в общем случае покупает не дрель, а дырки.

Хотят закрыть - пусть закрывают. Хотят позаимствовать и закрыть - все равно так сделают. Хотят позаимствовать и открыть - хорошо, но этого мало. Тонны кода лежат на sf.net - много ли там проектов, которые можно реально начать развивать или проще купить или написать все с нуля? Проект - это же не только код, и даже сопутствующая инфраструктура (документация, сообщество, поддержка и развитие) не всегда достаточна, чтобы применить его где-либо еще. Потому что готовое решение - это готовое решение, а полуфабрикат - это лишь полуфабрикат. Я очень рад, что полуфабрикатов много - это позволяет мне, как ИТ-шнику, готовить больше блюд. А пользователем и того не надо - их волнует наполняемость желудков и вкус.

[identity profile] aen-.livejournal.com 2009-05-14 05:26 pm (UTC)(link)
И чего они так волнуются? :-)

[identity profile] santa-claus-rpm.livejournal.com 2009-05-14 08:01 pm (UTC)(link)
http://sysadminonline.ru/category/svobodnaya-kultura/

[identity profile] anticop.livejournal.com 2009-05-14 09:06 pm (UTC)(link)
"В настоящий отрезок времени мне кажется", что успешное ПО - это когда разработчик может идти на шаг вперед рынка, и для него становится не так важен код (читай закрытость или открытость), который является результатом его мозговой деятельности в прошлом. Vision ценнее кода.

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

[identity profile] yakushin.livejournal.com 2009-05-14 10:33 pm (UTC)(link)
Читая и пост и комменты к нему, остаеться только удивляться, насколько люди хотят жить в плену стереотипов.
Миф о том, что закрытые исходники позволяют сохранить чье-то конкурентное преимущество, настолько расхож, что даже неинтересно.
Однако если бы это действительно было так, то просто не существовало бы патентное законодательство. Спрятал исходники и живи себе. Однако патентное законодательство живет и процветает, каждый день американские суды принимают к рассмотрению сотни исков. Потому что идеи защищают патентами, а не закрытием кода.
Поверьте очень старому аналитику - любой код можно открыть, было бы желание. Если у вашей компании есть мнение, что код конкурента интересен, арсенал огромен - от реверс инжиниринга до анального криптоанализа. Если кто-то серьезно думает, что например код компании ABBYY никто кроме ее программистов не видел, тот глубоко ошибается. На CI тратят миллиарды долларов.
Закрытый код позволяет получить тактическое преимущество, это хорошо для маленького стартапа, быстро написал, быстро продался.

Другим расхожим стереотипом является существование некого "этического сообщества", где все "для человека, все во благо человека". Никакого "этического" бизнеса не существует, законы экономики - это законы природы, их нельзя придумывать.
Пока некий свободный программист работает just for fun, он может быть этичным. Как только он выходит на рынок, он либо становится волком,, либо вымирает. Ибо "это бизнес, ничего личного".

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

[identity profile] droggy.livejournal.com 2009-05-15 05:53 am (UTC)(link)
Интересно, что сам Столлман вопросы бизнеса не любит рассматривать и все время от них уходит, аргументируя это тем, что не все сферы человеческой деятельности должны подстраиваться под бизнес.

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