Открытый и закрытый процессы разработки
Каковы же были причины раскола в среде разработчиков, разделившего все существующее в настоящий момент программное обеспечения на свободное и несвободное?
С одной стороны, еще до формирования понятия "свободное программное обеспечение" в академической среде возник весьма эффективный способ разработки, который приводил к созданию программ, удобных для пользователей-программистов: каждый мог участвовать в разработке и изменять разрабатываемую программу. Первоначально история UNIX-систем была основана на том, что люди писали и дописывали программное обеспечение для своих нужд. Смысл свободного программного обеспечения, по Столлману, как раз и состоит в том, что любой, кто хочет что-то сделать с программой --- может это сделать. Это приводило к развитию программного обеспечения в той форме, которая была удобна тем, кто с ним работает.
С другой стороны, при таком способе разработки исходный код программы не является скрываемым от посторонних глаз объектом собственности, и возможность его свободного копирования не позволяла зарабатывать столь же много денег на разработке программного обеспечения, как позволила бы закрытая модель. Совершенно очевидно, и это явственно наблюдалось в пресловутом открытом письме Гейтса, что если исходный текст программы не является секретным, а все копии программного продукта не признаются объектом собственности автора программы, то очень много денег на программном обеспечении заработать достаточно проблематично, в отличии от случая, когда программное обеспечение и все его копии объявляются объектом собственности автора --- в частности, их нельзя копировать или сдавать аренду без разрешения правообладателя.
Причиной существования двух точек зрения на программное обеспечения является то, что программа, по своей природе --- нематериальный объект, обладающий свойством безущербного копирования. Суть безущербного копирования состоит в следующем. Для создания материального объекта требуются значительные переменные издержки: сырье, трудовые и энергетические затраты, причем для производства нескольких предметов все эти затраты часто можно примерно считать равными затратам на производство одного, умноженным на количество предметов. Для нематериальных объектов, к которым относятся и программные продукты, при производстве нескольких копий продукта затраты примерно такие же, как и при производстве одной копии продукта. Такая же ситуация с большинством творческих произведений -- многие из них легко тиражируются, особенно в цифровой форме.
Обратите внимание на три следствия, вытекающих из нематериальной природы программного обеспечения.
- При производстве программных продуктов, в отличие от объектов материальной собственности, переменные, относительно числа копий, издержки --- малы. Акт копирования программного обеспечения практически ничего не стоит. Таким образом, при больших тиражах нематериального объекта сырьевыми и энергетическими затратами можно пренебречь. Более того, и энергозатраты, и затраты на расходные материалы можно свести практически к нулю, если продукт распространяется по сети общего пользования.
- В противовес этому, трудозатраты на создание таких нематериальных объектов могут быть очень велики, в особенности, если это творческий продукт --- в этом случае измерить их практически невозможно.
- На этой особенности можно построить очень выгодный бизнес. Нужно только скрыть от внимания потребителей возможность безущербного копирования, сказать, что это объект собственности и сказать: "мы правообладатели этого продукта и всех его копий, мы определяем политику его распространения". После чего при большом объеме продаж мы можем получать прибыли, измеряющиеся в тысячах процентов, которые каким-то образом перераспределяются внутри компании-правообладателя. Мы имеем дело с принципиально новым видом собственности, который не измерим по правилам, которые применяются к материальным объектам.
Если исходить из радикальной позиции, то деньги в случае программного обеспечения и подобных объектов --- неприменимый способ измерения стоимости такого продукта. Возможно, что позиция, заключающаяся в том, что все программное обеспечение должно быть свободным, и что нельзя брать деньги за копирование, может быть даже экономически оправдана. Существование несвободного программного обеспечения не только позволяет создать бизнес с потенциально неограниченной нормой прибыли, но и все больше ставит под сомнение деньги как эквивалент товаров и услуг.
Учитывая возможности построения на производстве программного обеспечения бизнеса с потенциально огромной нормой прибыли, может показаться странным, что свободное программное обеспечение вообще существует. Кажется, что его разработкой должны заниматься фанаты, которые готовы потерять возможность получения сверхприбыли ради несомненно приятной, но абсолютно безденежной идеи совместной работы и открытого обмена идеями. Тем не менее примеры многих компаний, построивших свой бизнес на открытом программное обеспечении, вполне показательны. В чём же технологические потери при переходе на закрытый способ разработки?
- Открытый способ разработки придерживается следующего правила --- копирование не причиняет ущерба разработке. Из неограниченного рамками закона копирования производитель можно извлечь определенную выгоду. Выгода от неограниченного копирования в том, что чем больше людей будут знать о программе, тем больше людей будут иметь возможность ею воспользоваться, тем больше людей захочет её улучшить и тем больше вероятность того, что найдётся тот, кто действительно это сделает или предложит, как это сделать. Таким образом, свободное программное обеспечение позволяет привлечь более широкий круг пользователей, тестеров и даже эпизодических разработчиков. Поэтому круг разработчиков свободного программного обеспечения может быть очень широким.
- Разработчикам свободного программного обеспечения крайне выгодно распространение не только самих программных продуктов, но и полной информации о них. Вокруг открытых программных продуктов может быть создано открытое информационное пространство, поскольку никакая часть информации о программном продукте не является коммерческой тайной, включая его исходные тексты. Следует отметить, что организация информационного пространства это весьма сложный процесс: информации не только должно быть как можно больше, кроме того она должна быть как можно более разумной и структурированной, должна быть рассчитана в первую очередь на то, что ей воспользуются.
Итак, что же теряют разработчики теряем, переходя на закрытый способ разработки?
- Законодательно, для того, чтобы кто-то мог написать ограничивающее лицензионное соглашение о программном продукте, он должен оставаться хозяином всех копий программного продукта. Покупатель получает некоторые ограниченные права на использования программного продукта, но при этом не получает никаких прав собственности на него: основная фраза в несвободной лицензии на программное обеспечение --- "this software is licensed, not sold". Полным собственником всех копий программного продукта, организованных и разрабатываемых по закрытому способу, обязана оставаться некая единая организация. А уже это накладывает на весь процесс сильные технологические ограничения.
- Главное ограничение состоит в том, что, вообще говоря, мы не можем позволить утекать информации, особенно исходным текстам программного продукта. Информация становится главной коммерческой тайной и оберегаемой "интеллектуальной собственностью". Коммерческая тайна и "интеллектуальная собственность" становятся управляющим механизмом бизнес-процессов. Невозможно допустить ситуацию, когда наши конкуренты узнают о нашем программном продукте достаточно информации, чтобы воспроизвести его и начинать брать за копирование аналогичного программного решения на, допустим, 20% процентов меньшее денег.
Таким образом, большие деньги можно сделать только если всё, что может быть воспроизведено путём очень дешёвого копирования, держится в тайне, и защищается от копирования законодательством. В первую очередь это исходный текст программного продукта. В результате из-за ограничений в информационном плане обычно теряется качество программных продукта, поскольку открытое информационное пространство желательно для любого программного продукта. Любому продукту нужна реклама, нужно распространение информации о себе, нужна возможность изучения классифицированными пользователями для выявления ошибок и особенностей функционирования. Но в случае закрытой разработки информация, становящаяся открытой, жестко ограничивается. Не допускается разглашение того, что называется коммерческой тайной, либо предоставление доступа к этой информации возможно только на коммерческих условиях или условиях неразглашения. Например, преподаватели ВУЗов в последнее время теоретически могут получить ограниченный доступ к исходным текстом ядра ОС Windows --- на условиях довольно сложной и ограничивающей их лицензии. Неэффективными для создания открытого информационного пространства оказываются даже лицензии, подобные Microsoft Shared Source Reference License, запрещающие программирование с использованием взятой из исходных кодов информации для всех целевых платформ кроме некого множества.
В заключении приведем сравнительную таблицу, подытоживающую два подхода к разработке программного обеспечения.
Открытый способ разработки |
Закрытый способ разработки |
Копирование не наносит ущерба разработке и способтвует рекламе продукта |
Копирование считается наносящим убытки, для распространения информации о продукте создаются демо-версии и негласно допусается некоторый объем пиратских копий |
Совместная разработка: может присоединиться любой полезный человек |
Корпоративная (закрытая) разработка, ограниченный круг участников |
Открытое информационное пространство с точки зрения как объема, так и доступности информации |
Ограниченное информационное пространство: либо по объему, либо есть социально-технологические ограничения для доступа |
Нет "хозяина всех копий" |
Существует единственный собственник всех копий |
Таким образом, закрытый способ разработки обычно увеличивает издержки на тестирование, сохранение коммерческой тайны, расходы на предотвращение заимствования решений конкурентами и недопущение нелегального копирования программного продукта пользователями. С точки зрения большинства разработчиков программных продуктов, закрытый подход выглядит менее интересным способом существования. Раньше считалось, что при закрытом подходе жить хлебнее, но на сегодняшний день зарплаты разработчиков в компаниях, ведущие бизнес на открытом программном обеспечении, принципиально не отличается от зарплат при закрытом подходе разработки, как показывают независимые исследования.
Сведения о ресурсах
Готовность (%) |
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
Maintainer |
Start date |
End date |
90 |
1 |
1 |
1 |
|
1 |
|
|