На мой взгляд, единственное отличие софтостроения от всего остального бизнеса заключается в отсутствии реального антимонопольного регулирования, адекватного особенностям отрасли. Является ли причиной тому здоровый консерватизм, непонимание темы или продажность законодателей, обсуждать не хочется. Интересно другое: имеет ли вообще решение проблема монополизма в софтостроении? Или мы и наши потомки обречены на «Единую ОС» и «Единый текстовый редактор»?
Рискну назвать две «болевые точки» (они же ноу-хау) монополистов ПО: это закрытые форматы данных и закрытые межпрограммные интерфейсы.
Начну с первого. Человек создает документы (тексты, деловую графику), формат которых недокументирован (в открытых источниках) и формально никому не известен. Строго говоря, файлы, созданные этим человеком, полностью ему не принадлежат: утрата лицензии на создавший их софт лишает пользователя и законного доступа к данным. Интересное следствие этой ситуации в том, что он не может передать документ[Не бумажную копию, а структуры, зависимости и все, что на самом деле создано автором] своим партнерам, не имеющим этого софта.
Закрытые межпрограммные интерфейсы фактически лишают разработчика возможности написать полноценную программу, поскольку никто не знает, как взаимодействовала с окружением та программа, взамен которой он написал свою. Достаточно вспомнить претензии к пакетам компании Microsoft, которая использовала в них недокументированные функции системы (созданной ею же), тем самым добиваясь большей производительности и, как следствие, несправедливого преимущества над конкурентами, которые вынуждены пользоваться более медленными программными интерфейсами, описанными в документации[Кристина Хаджинс-Бонафилд, «Как обуздать технологического гиганта» // «Сети и системы связи» №8, 1998, а также russian.joelonsoftware.com/Articles/HowMicrosoftLosttheWaronA.html ]. То же самое касается и справочной системы Windows[PC Magazine, июль, 1995, стр. 317].
И после некоторой критической массы софта его производитель становится неуязвимым для конкурентов: фактически им надо написать весь объем плюс разрушить стереотипы пользователей.
Именно сочетание закрытых форматов и закрытых интерфейсов делает бессмысленными любые инвестиции новичков и навечно закрепляет монополию тех, кто однажды оказался удачливее других.
Эта абсурдная ситуация будет сохраняться до тех пор, пока мировые лидеры не начнут проводить реальную антимонопольную политику, адекватную особенностям этого вида бизнеса.
Технически это сделать нетрудно, причем никого не надо наказывать и штрафовать. Можно просто лишить правовой защиты закрытые форматы данных и программы, их создающие[Разумеется, при соблюдении всех процедур и с предупредительным выстрелом в воздух]. Созданный файл (комплект файлов) должен целиком принадлежать пользователю, который должен иметь возможность этот файл дарить, продавать, редактировать, не будучи связанным какими-то обязательствами с владельцами инструментов (разработчиками ПО), с помощью которых этот файл был сделан. Не приходится сомневаться, что любая компания предпочтет открыть свои форматы данных, чтобы не потерять защиту программы. Так же можно поступить и с межпрограммными интерфейсами. Заверения в том, что их как бы и не существует, а весь этот монстр есть один большой монолит, следует выслушать с сочувствием и ответить, что, к сожалению, законами не предусмотрена защита неделимых монстров. После чего монстр будет немедленно препарирован его владельцами.
Можно ли гарантировать успех этой инициативы? Видимо, нет, но открытое обсуждение может сильно поднять ее шансы.
Предположим, такие решения приняты, а монополия по-прежнему сохраняется. Что делать? Думать дальше! Анализировать, какие дыры нашла монополия в новых законах и как ей удалось туда просочиться. Если она обошла закон с флангов из-за его узости, нужно расширять и модифицировать формулировки.
Не знаю, что должно для этого произойти, но любая ненормальная ситуация в конце концов нормализуется. В качестве первого шага следует просто признать проблему и думать, каким образом можно ее решить. А создание параллельных миров «платного ПО» и «бесплатного ПО» оставить фантастам.
ОПЫТЫ: Бородатая программистка. Как хитрый студент выходил замуж по расчету