Эрик Реймонд (Eric S. Raymond), один из основателей организации OSI (Open Source Initiative), стоявший у истоков движения открытого ПО, написавший в свое время известное эссе "Собор и Базар", представил в своём блоге программные тезисы на тему вреда от использования закрытого ПО. Представляем изложение его мыслей.
Предваряя свои выводы некоторыми размышлениями, Реймонд говорит о том, как часто рассуждения людей становятся слишком привязанными к теории, до такой степени, что игнорируется реальность, которую эта теория должны была описать. В плоскости этических и моральных суждений это проявляется в том, что люди забывают, почему собственно устанавливаются правила - чтобы избежать губительных последствий. Вместо этого мы стремимся привязать себя к правилам и языку правил, и в итоге начинаем походить на фанатиков, то есть тех, кто удваивает усилия после того, как уже забыта цель, по определению Сантаяны.
Задавая вопрос "когда правильно а когда неправильно использовать закрытое ПО?" мы должны трактовать его точно также как трактуем любой другой этический вопрос, то есть сначала чётко определить, каких именно губительных и вредных последствий мы хотим избежать, а затем путём рассуждений перейти от избежания вреда к минималистскому правилу, которое бы как можно меньше ограничивало возможность выбора. Не важно, насколько человеку интересна или не интересна данная тема, в любом случае большинство согласится, что закрытое ПО для микроволновки или лифта приносит гораздо менее беспокойства, чем опе рационная система с закрытыми исходниками. Игры с закрытыми исходниками гораздо менее беспокоят, чем текстовый процессор с закрытыми исходниками. Любое закрытое ПО, используемое для общения между людьми, вызывает беспокойство в частности о том, что его авторы могут использовать свою привилегированное положение для шпионажа или введения цензуры. За всем этим стоят вполне очевидные порождающие шаблоны, но чтобы их обсудить, необходимо сначала рассмотреть категории вреда от использования закрытого ПО.
Основной и капитальный вред, который, по опыту, мы можем ожидать от закрытого ПО - что оно гораздо хуже спроектировано, и гораздо менее надёжно, чем открытое ПО. Важность этой категории вреда меняется в зависимости от сложности программы - чем сложнее программа, тем больше в ней ошибок, поэтому преимущество открытых исходников здесь выше, и вред от закрытого ПО гораздо серьёзней. Также этот вред меняется в зависимости от того, насколько серьезен ожидаемый вред от ошибки - чем он серьёзней, тем более ценны становятся открытые исходники. Мы назовём такой вред "вредом от ненадёжности".
Другая категория вреда - потеря возможностей, которые можно было бы реализовать при условии, что программу возможно изменить в своих нуждах, или же попросить кого-то сделать это для вас. Степень этого вреда зависит от ожидаемой ценности модификации - больше для ПО с относительно общим назначением, меньше - в супер-специализированном ПО, плотно завязанном на одной задаче и единственной инсталляции. Мы назовём такой вред "вредом от невозможности изменить код".
Ещё одна категория вреда - закрытое ПО ставит нас в асимметричное положение относительно тех людей, у которых есть привилегия просмотреть и изменить код. Эту возможность можно использовать чтобы ограничить наш выбор, контролировать наши информацию и вытягивать с нас финансовые отчисления. Назовём это "вредом посредничества".
Закрытый исходный код увеличивает расходы по миграции на другое ПО, сильно затрудняя попытки избавиться от зависимости. Текстовые процессоры, использующие проприетарные форматы, не поддерживаемые в других программах, являются тут классическим примером, но также существует и другое подобное ПО. Назовём такой вред "вредом привязки к вендору".
На магнитных носителях эры ранней компьютеризации сохранились крайне важные исторические данные, записанные в рамках программы космических исследований США в 60-х годах. Эти носители в прекрасном состоянии, но их нельзя прочесть, потому что там использовались секретные, проприетарные форматы записи информации, реализованные только на аппаратном уровне, и спецификации к ним больше не существуют. Это иллюстрирует типичный и постоянный риск закрытого ПО, который становится всё сильнее по мере увеличения важности коммуникаций посредством ПО. Мы назовём такой вред "вредом от амнезии".
И наконец, о некоторой программе говорится, что у неё "положительные сетевые внешние факторы", если ценность этой программы для определённого индивидуума повышается с увеличением количества людей, которые её используют. Положительные сетевые внешние факторы имеют последствия, подобные последствиям от вреда привязки к вендору, они увеличивают расходы по миграции на другое ПО.
Вооружившись этими тезисами, давайте рассмотрим случаи из жизни.
Обратившись к прошивкам для лифтов и микроволновых печей, мы видим: небольшой "вред от ненадёжности" (относительно просто исправить, последствия ошибок не серьёзные - скорей всего устройство просто застынет на месте/перестанет работать). Небольшой вред от невозможности изменить код - неясно, какую функциональность ещё можно добавить, имея возможность изменить прошивку. Небольшой "вред посредничества" - трудно представить, каким образом тостер или лифт можно обратить против пользователя, только если они не будут частью достаточно широкой сети подглядывающих и контролирующих пользователя технологий, и изменение кода прошивки отдельных её компонентов также мало что изменит. Нет "вреда привязки к вендору" и нет положительных сетевых внешних факторов.
В итоге - прошивки узкоспециализированных технологических устройств являются наиболее допустимым случаем использования закрытого ПО, хотя, скажем, домашний маршрутизатор уже может представлять головную боль в связи с недавними зафиксированными случаями манипуляций с DNS, внедрения рекламы в браузер и тд.
С другой стороны масштабной шкалы - настольные операционные системы с показаниями для "вреда от ненадёжности" от умеренного до очень высокого, в зависимости от набора приложений и издержек неиспользованных возможностей от сбоев системы. Очень высокий "вред от невозможности изменить код" даже если вы и не программист, поскольку закрытые исходники означают, что исправления, обновления и новые возможности доходят до пользователя не тогда, когда вы на них обращаете усиленное внимание, но только тогда, когда вендор посчитает это нужным. Очень высокий урон от "вреда от посредничества" (вспомните, сколько хлама приходит по умолчанию с типичной Windows-системой), а также от "вреда привязки к вендору" и "амнезии" (закрытые проприетарные форматы, проприетарное потоковое видео и прочее). Высок уровень также для положительных сетевых внешних факторов.
Текстовые процессоры (и все подобные типы офисного программного обеспечения, которые также подразумеваются в этой категории) идут почти на уровне операционной системы. Вред от ненадёжности - от среднего до высокого, высокий уровень "вреда от невозможности изменить код" (по тем же самым причинам, что и для ОС). Уровень "вреда посредничества" ниже, чем для ОС, но только потому, что для текстовых процессоров не придумали приемлемого предлога для сбора отчётов о вашей деятельности или показа потоковой рекламы. Очень высокий уровень "вреда привязки к вендору"и "амнезии". В целом, здесь общий уровень вреда ниже, чем для ОС, в основном потому, что последствия миграции на другое аналогичное ПО для подобных программ менее болезненны, чем при смене ОС.
Единственный вывод, который можно из всего этого сделать, звучит так: противопоставлять что-то закрытому ПО, а также отказываться его использовать нужно в прямой пропорции ко вреду, который он наносит. Звучит просто и очевидно, так ? Но тем не менее, некоторые личности, (их мы не назовём, но укажем инициалы - Р, М и С), настаивают на том, что подобная позиция неэтична и беспринципна вплоть до роковых последствий. И эти личности выглядят абсолютно похожими на тех, кто удвоил усилия, но забыл о первоначальной цели. Но, действительно, наша "мягкотелая", "беспринципная" норма описывает в том числе и реальное поведение в том числе и тех, кто фанатично проповедует о дьявольской сути закрытого ПО. Но разве кто-то, даже среди самых стойких проповедников "свободного ПО", хотя бы пальцем пошевелил, чтобы ликвидировать закрытые прошивки для лифтов? Этого не происходит. Настольное ПО и мобильные ОС - вот их цели, и это логично соответствует нашим выводам, ведь это ПО гораздо более важно. И поэтому мы прагматично возвращаемся к сопоставительной оценке последствий вреда от закрытого ПО, даже если фанатики сами себе в этом и не признаются.
Имея на руках вышеуказанный анализ, мы в итоге приходим к заключению, которое вряд ли кого-то удивит: самые большие усилия по сопротивлению закрытому ПО необходимо оказывать на поле закрытого настольного ПО и закрытых мобильных операционных систем, поскольку именно от них исходит наиболее серьёзный вред и наиболее высокий положительный внешний эффект привязки. Мы можем расслабиться и не беспокоиться насчёт того, на каком ПО работают микроволновые печи и лифты. Нам нужно продвигать открытое ПО на домашние маршрутизаторы, поскольку они управляются всё более и более сложным и функциональным ПО. И если мы иногда поиграем в Angry Birds, Civilization или World of Warcraft, то это не станет актом ужасного лицемерия.
Нам остался только один вопрос: каким должен быть соответствующий этический шаг в ситуации, когда для закрытого ПО нет открытой альтернативы? И наиболее здоровым ответом тут будет - вспомните в конце концов, что в мире в целом существует и другой вред, гораздо более серьёзный, чем самый сильный вред, наносимый закрытым ПО, вспомните, что целью всех наших этических правил является уменьшение вреда как такового, и поступайте соответственно.