Люди, места, вещи и мысли

Крейген Ситейкер <kragen@pobox.com>

Программы

Программы — это мысли. Информация. Это не то, что люди, места и вещи; их можно бесконечно воспроизводить, как огонь, почти бесплатно. Это банально, это даже стало штампом. Но есть, похоже, конкретные следствия, которые изучены недостаточно хорошо.

Одно такое следствие — что программы не продаются так же хорошо, как рабы, места и вещи; любой из покупателей может сделать бессчетное число копий за ту же цену или дешевле. В настоящее время давление рынка делает продажу программ реалистичной схемой предприятия. Возможно, это делает и реклама: неизвестно, покупают ли люди компакт-диски Red Hat по 50 долларов потому, что им нравится марка Red Hat, или просто потому, что они не знают, что могут купить по сути тот же компакт-диск в дешевом магазине за 2 доллара.

Прошлое и настоящее

Традиционный способ обращения со всем этим — запирать мысли внутри людей, мест и вещей. Юрист может получить изрядную сумму просто за то, что выдаст подходящие мысли, не выполняя никакой по-настоящему творческой работы, или за то, что просто проведет механические процедуры — по сообщениям, в эту категорию попадает большинство завещаний. Я вынужден идти в музей Джорджии О'Киф, чтобы посмотреть старые картины Джорджии, потому что они не разрешают фотографировать. И тогда они могут взять с меня плату за вход. (Отличный музей, между прочим. Если вы туда пойдете, не берите абонемент на четыре дня; экспозиция довольно мала.) Книгу можно продать дороже стоимости печати, потому что мысли трудно отделить от их физического проявления.

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

Это грандиозная перемена.

Программы на запоре: что дальше?

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

Например, у меня есть компакт-диск со сборником телефонных справочников США. При достаточном опыте и времени я могу извлечь списки номеров и разместить их на сайте. (Сначала мне нужно вычислить структуру базы данных, в которой они хранятся.) Я могу проводить статистический анализ, чтобы понять, не скапливаются ли люди с определенными фамилиями в определенных частях города. (Это показало бы, что они, возможно, живут неподалеку от своих семей, или что город разделен по этническому признаку.) Я могу выяснить, какое написание имени Тимур (Темур, Тимер) наиболее популярно, и посмотреть, как связан выбор варианта имени с фамилией человека.

Кроме того, есть несколько сайтов с тем же набором списков номеров или с обновленными версиями. С этими сайтами я ничего из этого делать не могу, потому что списки номеров — идея — заперты на сайте — в месте или в вещи, в зависимости от того, как на это посмотреть.

Другой способ — запирать информацию в вещах. Skipjack, алгоритм NSA, несколько лет был государственной тайной; реализации были вполне доступны, но только в особых защищенных устройствах. Это позволяло им широко внедрять его за железным занавесом, который окружает секретные исследования, и они собирались широко внедрять его и во внешнем мире (я пока что нахожусь вне занавеса). Недавно обстоятельства вынудили их распространять программные реализации алгоритма, так что они его рассекретили (подробности см. на http://www.schneier.com/crypto-gram-9807.html#skip [архив]).

Что мне в этом не нравится

Если у меня самого есть телефонный справочник, это дает мне больше свободы. С другой стороны, для этого мне нужно также установить на свою машину программу, передавая этой программе некоторую степень контроля над моей машиной. В этом конкретном случае программа работает под управлением Windows, так что это требует полного контроля над моей машиной. Так что на самом деле мне гораздо удобнее просто зайти на сайт и заполнить форму, чтобы найти чей-то номер.

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

Меня некоторым образом беспокоит эта тенденция. Мне нравится пользоваться компьютерами общего назначения — хоть я и допускаю, что часто ими трудно пользоваться. Мне нравится свобода, которую они мне дают. Компьютер становится продолжением моей мысли.

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

Что в такой обстановке означает свобода программ? Конечно, нет ничего дурного в том, чтобы выставлять в Интернете сайт, не предлагая мне получить полностью программы и базы данных (даже если бы это было не так, для большинства людей это нереально; например, патентный сервер IBM опирается на многотерабайтную базу данных).

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

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

Как с этим бороться

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

Но преимущества у них есть. Ими гораздо проще пользоваться, чем нынешними компьютерами общего назначения. Кнопка для каждого действия; отсутствие непривычных режимов, в которых кнопки делают что-то другое или вообще ничего не делают. Вывод каждой переменной состояния; не приходится на все нажимать, чтобы увидеть это. Я подозреваю, что это ограничение лежит не в природе компьютеров общего назначения, а существует только на их нынешнем этапе развития.

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

Третья большая проблема — что они требуют установки программ. Если я хочу начать пользоваться своей машиной, чтобы отправлять электронную почту, мне нужно установить на машину почтовую программу. Хотя это значительно дешевле, чем покупка специализированной почтовой машины, это значительно менее удобно, это пугает и запутывает (по крайней мере, мне так говорят). На это уходит больше времени.

Если компьютеры общего назначения должны пережить наступление маленьких дешевых специализированных коробочек, они должны стать такими же простыми в пользовании, надежными и простыми в установке программ, как эти специализированные коробочки. Это требует операционной среды, совершенно отличной от той, которой мы сегодня пользуемся у себя на столе; нет ничего удивительного в том, что GNU/Linux к этому ближе, чем все другое, чем я только пользовался (может быть, Squeak еще лучше, но я его еще не пробовал). Но и GNU/Linux невероятно далека от этого. Это потребует как другой аппаратуры, так и других программ.

Удаленные серверы развиваются по сходным причинам — они просты в пользовании благодаря единообразным интерфейсам браузера, “работают сразу”, их не устанавливают — просто пользуются. Но у них есть и пара других преимуществ: они могут предоставлять услуги, которые требуют больших объемов данных или вычислительных мощностей, которых не может быть на вашей собственной машине, если только вы не хотите потратить на это кучу денег (загружать каждый день базу данных AltaVista было бы очень неэффективным способом поиска по Интернету).

Я думаю, в настоящее время эти преимущества неустранимы — хотя мне было бы интересно распределять большие вычислительные задачи между многими машинами.