Будучи на первом курсе Северо-Восточного университета, Шон Фаннинг (Fanning) вместе с другими фанатами много времени проводил за посиделками в Интернете. Он заметил, что его приятелям приходится нелегко при обмене музыкальными файлами, записанными в новом цифровом формате МРЗ. И Фаннинг решил создать программу, которая помогала бы людям искать в Интернете МРЗ-файлы, поиск и обмен которыми доставляет столько хлопот. Он воплотил в жизнь несколько задумок, бытовавших в р2р-среде, вроде построения огромной распределенной базы данных, которая позволила бы каждому пользователю предоставлять часть собственного дискового пространства для совместного доступа к файлам. Учащиеся колледжей — заядлые меломаны, не желающие платить за саму музыку и располагавшие ПК и высокоскоростным подключением к Интернету вызвали повальное увлечение Napster.
   Фаннинг в мае 1999 года основал компанию Napster Inc., бросил университет и перебрался на север Калифорнии в самый разгар бума интернет-компаний. Его портрет украсил предпринимательский пантеон. Napster быстро стал самым большим в мире сообществом для совместного доступа к файлам благодаря простоте поиска, дружественному интерфейсу, возможности общаться посредством мгновенного обмена посланиями и ссылками. Общественная сеть усилила воздействие сети компьютерного хранения данных. Бывало, что 70 млн пользователей в месяц обменивались 2,7 млрд файлов [17].
   Общественная система совместного доступа к ресурсам была столь же революционной, как и привлечение р2р-технологии к распределенному совместному использованию файлов. В статье под названием «Рог изобилия общей собственности» («Cornucopia of the Commons») Дэн Бриклин, изобретатель электронной таблицы VisiCalc, «завоевателя рынка» ПК в начале 1980-х, замечает: «Гениальность Napster в том, что базу данных путем добавления информации попутно осуществляют все, кто пользуется данным инструментом для собственной выгоды. Отпадает нужда в каких бы то ни было побуждениях к бескорыстному предоставлению доступа к своим ресурсам, поскольку совместный доступ уже подразумевается… Иначе говоря, никому не надо ломать голову над тем, как побудить кого-то к приложению дополнительных усилий» [18].
   Естественно, Американская ассоциация звукозаписывающих компаний {Recording Industry Association of AmericaRIAA) была не в восторге от скачивания миллионов песен, за которые прежде ее члены исправно получали доходы. Некоторые артисты, особенно группа Metallica, тоже пришли в ярость при виде угрозы своему благосостоянию. Началась судебная тяжба.
   В июле 2001 года председатель Апелляционного суда девятого федерального округа Калифорния Мэрилин Холл Пейтел постановила, что Napster должен приостановить свою деятельность в Интернете, пока не будет поставлен надежный заслон обмену произведениями, защищенными авторскими правами. Группа Metallica и рэп-музыкант Д-р Дре пошли на мировую с Napster, прекратив судебное разбирательство. Было решено, что за артистами сохраняется право определять, какие песни могут выкладываться на Napster, при условии что они «время от времени будут предоставлять некоторые свои произведения». В сентябре 2001 года между Napster и Национальной ассоциацией музыкальных издателей {National Music Publishers' AssociationNMPA) было достигнуто соглашение, по которому Napster стал платной службой предоставления пользователям музыки в соответствии с лицензионными соглашениями с правообладателями. Но к тому времени число загрузок музыки с других служб с совместным использованием файлов превысило величину, которой мог похвастаться Napster в пору своего расцвета, так что платной службе не суждено было появиться на свет [19]. В 2002 году компания Napster объявила себя банкротом.
   Хоть судебные иски и уничтожили Napster, другие ситуативные сети, обогащающие своих участников нередко за счет принадлежащей другим интеллектуальной собственности, процветали. Подобно всем прочим технологиям — ровесникам Умных толп, р2р-технология переживает бурный рост. Появившиеся после Napster схемы совместного доступа к файлам напрямую обратились к выявленным уязвимым местам Napster.
   С точки зрения блюстителя чистоты принципов р2р, вся беда Napster состояла в том, что это была не до конца децентрализованная сеть. Хотя пользователи Napster и хранили все музыкальные файлы, которыми они обменивались, на своих дисках, им для поиска нужной музыки и соединения с теми, у кого она была, приходилось обращаться к центральному серверу. Как раз управление этим центральным сервером и делало Napster предприятием, привлекательным для вложения средств, и в то же время уязвимым с правовой точки зрения [20]. Подобно телефонным компаниям, Napster извлекал прибыль из сведения своих пользователей друг с другом.
   Gnutella же создавалась Томом Пеппером и Джастином Франкелем как полностью децентрализованная система, без центрального сервера [21]. «Название Nullsoft выбрал Джастин Франкель в 1995 году для программы, которую он собирался разрабатывать в часы досуга для собственного удовольствия» [22]. В 1997 году Франкель приступил к созданию программы-клиента, позволявшей проигрывать МРЗ-музыку. Затем в том же году Франкель связался с Томом Пеппером, открывшим веб-узел для Winamp, созданного Френкелем МРЗ-проигрывателя. Программа Winamp, выпущенная как условно-бесплатная (свободная для скачивания, где оплата строилась на доверительной основе), имела оглушительный успех. Подобно тому как браузер Mosaic вмиг сделал популярной Всемирную паутину, Winamp приумножил успех Napster. В 1999 году AOL приобрела Nullsoft.
   Став простым служащим AOL, Франкель принялся за создание бессбойной, непрослеживаемой, возможно, даже неразрушимой программы с совместным использованием файлов. Франкель и его партнер Пеппер, создавая в марте 2000 года Gnutella, ставили перед ней вполне определенные общественные задачи [23]. AOL, собственник Nullsoft, разумеется, не обрадовался такому новшеству, попытавшись прикрыть его, но джинн в виде протоколов самой программы был уже выпущен из бутылки. Неудивительно, что AOL попыталась закрыть GnutellaNet, не дав этой сети разрастись. Ведь она позволяла обмениваться не только музыкальными файлами, но и видеофайлами, текстовыми файлами и порнографией — всем, что допускало преобразование в цифровой формат. В отличие от Napster там не было единственного владельца-толстосума, которого можно было бы призвать к ответу. Gnutella заверила, что ей удалось избежать уязвимости Napster, сделав собственником и контроллером каждого, кто прибегает к услугам клиентской программы Gnutella. Веб-узел GnutellaNet заявляет, что служба Gnutella создавалась как «анонимная», «предназначенная для выживания в ядерной войне» и «защиты от своры голодных стряпчих» [24]. Пожалуй, создатели GnutellaNet недооценили противника. Голливуд присоединился к нападкам звукозаписывающей индустрии на совместный доступ к файлам, как только широкополосная связь позволила наряду с музыкой обмениваться видеофильмами.
   Поскольку пользователи Gnutella соединяются друг с другом, а не с центральным сервером, их ПК выступают одновременно клиентами и серверами. «Сервисное» ПО Gnutella состоит из мини-поисковой машины, объединенной с файловой системой. Описывая сеть пользователей Gnutella как поисковую машину и систему совместного доступа к файлам, создатели Gnutella сравнивают ее с игрой в «телефон»:
   «Обращаясь к GnutellaNet со словами: «Ну-ка, отыщи рецепт клубничного пирога», — вы на самом деле говорите: «Ну-ка, мои друзья, скажите мне, не видали ли вы рецепта клубничного пирога? И заодно спросите своих друзей, а тех попросите, чтобы они спроси— I ли своих приятелей». Очевидно, что после ряда таких опросов у вас окажется куча приятелей, занятых поиском нужного рецепта! И уже ] невозможно узнать, кто же первым задал вопрос».
   Столпом р2р как вероучения является лозунг «каждый клиент — сервер». По мнению некоторых наблюдателей, это не новшество, а, скорее, возврат к одному из основополагающих начал Всемирной паутины. В статье «Gnutella и транзитная Сеть» (Gnutella and the Transient Web) Келли Трулав описывает воздействие Gnutella на Всемирную паутину:
   «Протокол Gnutella восстанавливает исходную симметрию Всемирной паутины, позволяя даже транзитным компьютерам с успехом выступать в качестве серверов. Но до окончательного решения п0ка далеко, так что возможно появление альтернативных систем, тем не менее этот простой и своеобразный протокол ныне в числе зачинателей транзитной сети. Транзитная сеть обладает такой же взрывной силой, как и обычная «постоянная» Сеть, а возможно и большей» [25].
   Ценность Gnutella зависит от добровольного сотрудничества ее пользователей, которым надо как снабжать систему информацией, так и пользоваться информацией, отыскиваемой ими посредством системы. Сделать это становится все труднее при такой огромной и анонимной массе пользователей. Слабым местом обменной сети Gnutella, как вы догадываетесь, является иждивенчество. В статье «Иждивенчество в Gnutella» {Free Riding on Gnutella) Эйтан Адар и Бернардо А. Губерман сообщают, что у сети Gnutella завелось чересчур много иждивенцев: примерно 70% пользователей Gnutella не предоставляет своих файлов, а около 50% ресурсов системы поставляются всего 1 % пользователей. Архитектура системы обеспечивает анонимность и децентрализованное управление, но организационно не побуждает к сотрудничеству, что делает ее уязвимой перед угрозой «трагедии общей собственности» [26]. И остается открытым вопрос: позволит ли людям р2р-технология созидать общественные блага, способные противостоять засилью иждивенчества, или же иждивенчество покончит с рогом изобилия р2р-технологии?
   Джим Маккой, основатель и исполнительный директор Mojo Nation, взялся за создание файлообменной системы с тремя новыми важными свойствами: во-первых, организационно предусмотренное сотрудничество, порождаемое требованием к пользователям давать по меньшей мере столько же, сколько они берут; во-вторых, анонимность не только запросов, но и мест хранения файлов; в-третьих, «роевое распределение», то есть разбивка файлов на множество кусочков и рассредоточение их по сети. Роевое распределение упрощает поиск наиболее востребованных материалов и гарантирует их доступность даже при наличии одних транзитных серверов [27].
   Mojo Nation обладает преимуществами ПО с открытыми исходниками, наподобие Linux; благодаря доступности исходного кода всякий программист имеет возможность его подправить, и тем самым всевозрастающее сообщество разработчиков улучшает ПО. Загружаемая клиентская программа позволяет выставлять информацию в Mojo Nation и извлекать ее оттуда, так как Mojo Nation представляет собой совокупность пользователей, запускающих данную программу. Mojo Nation объединяет в себе доверительное управление, обеспечиваемую шифрованием надежность и распределенную систему учета.
   Mojo Nation позволяет экономить на стимулах, используя крохотные выплаты под названием Mojo для вознаграждения пользователей за распределение файлов в сети и их загрузку в сеть. Предполагается, что каждый пользователь поспособствует своим вкладом, будь то системные ресурсы или электронные деньги, обмену, совершаемому внутри сети. Для пользователей Mojo — своего рода сервер; они, предоставляя ему свою полосу пропускания или дисковое пространство, обеспечивают другие услуги. Рыночный механизм позволяет покупателям и продавцам устанавливать цены, о которых можно будет осведомиться. В итоге пользователи создают своего рода систему репутаций, поскольку качество услуг и надежность поставщиков этих услуг постоянно пересматриваются и отслеживаются агентами, которые следят за досягаемостью поставщиков ресурсов.
   Все файлы, распределяемые в обменной сети Mojo Nation, разбиты на сотни или тысячи частей, и ни один из них не хранится целиком в одном месте. Запрошенный пользователем файл автоматически загружается параллельными потоками с ближайших узлов, где имеются его части. Если какой-то узел находится вне Интернета, то требуемая часть обязательно отыщется на другом узле. Чаще всего запрашиваемые документы распределяются более широко во избежание заторов, которые снижают пропускную способность системы в случае, если большинство пользователей начнет одновременно загружать самые ходовые файлы. Шифрование служит сокрытию следов делающих запрос пользователей и того, какое содержимое участники файлообменной сети хранят на своих ПК в качестве вклада в эту сеть. Mojo Nation прекратила свою деятельность как коммерческое предприятие в феврале 2002 года, и ее место занял некоммерческий проект Mnet.
   Первые пиринговые сети связывали общественные сети в кооперативные предприятия, делящиеся своими вычислительными циклами, файлами и полосой пропускания. Следующие поколения р2р-социотехнологии будут включать р2р-системы, делящиеся решениями и суждениями.
 
   Овцы гадят на траву
   Кори Доктороу, тридцатилетний заядлый любитель электронных аукционов, интернетовский мастер на все руки, и автор научно-фантастических книг, оказался одним из самых ярых поборников р2р-технологий. Узнав, что он работает над р2р-схемой, которая позволила бы людям обмениваться мнениями по любым вопросам, я позвонил ему. Он жил тогда в Торонто. Год спустя я наткнулся на его имя, просматривая список общедоступных беспроводных подключений к Интернету в Сан-Франциско (см. главу 6). Интерес к сочетанию р2р с беспроводной технологией привел меня в квартиру Доктороу в Сан-Франциско. Я предполагал, что у него есть кое-какие соображения насчет продвижения р2р-технологий, и не ошибся.
   Прихожая была украшена светильниками под Тиффани, постерами Star Trek* и какими-то сложными каркасными конструкциями. Жилище Доктороу заполонено бумажными плакатами из Диснейлендов. Оказывается, его любовь к диснеевским сувенирам послужила одним из мотивов создания OpenCOLA.
   * «Star Trek» («Звездный путь» — научно-фантастический телесериал 1965-1969 гг.)
   Вот «домкрат» Доктороу для OpenCOLA:
   «Затея состоит в обзаведении папкой на рабочем столе, в которую можно было бы класть то, что вам нравится, и которая будет пополняться тем, что вам должно понравиться. Разузнает же она, что вам должно понравиться, разыскивая узлы в сети со схожими с вашими вкусами и сообщая вам, что они считают дельным. Программа доставляет документы от узлов и различных интернетовских серверов, кладет их перед носом тех, кому, по ее разумению, они понравятся, и ждет, что будут делать узлы после получения этих документов: заинтересуются или же пренебрегут ими? Все эти отслеживаемые решения обобщаются, так что в итоге образуется «сообразно (релевантно) переключаемая» сеть, где документы автоматически предлагаются вниманию тех, кому они должны прийтись по вкусу» [28].
   Доктороу, соучредитель и вдохновитель OpenCOLA, еще и лауреат премии Джона В. Кемпбелла в области научной фантастики за лучший дебют. Он носит бороду, является заядлым курильщиком и буквально сыплет эпиграммами. Моя любимая сентенция Доктороу касается изображения Napster в качестве решения дилеммы трагедии общей собственности. Доктороу представляет пользователей Napster, поставляющих ими же потребляемый ресурс, в виде «овец, гадящих на траву».
   Я сидел на диване у Доктороу; он курил сигареты с фильтром и сыпал тирадами в ответ на мои расспросы. Высоко над его головой на полке примостился ящичек, обеспечивающий беспроводный доступ к Интернету всем близлежащим фанатам, знающим о данном узле. Его соображения насчет поиска чего-то нужного в неразберихе Сети были столь неожиданны, что для их осмысления мне понадобилось время. «Сообразное (релевантное) переключение» — способ создания своей собственной самообновляемой карты сети запрашиванием общественных сетей тех, с кем у вас общие интересы.
   В пору расцвета интернет-компаний Доктороу с двумя приятелями создал в Торонто фирму по предоставлению технических услуг. Подобно многим компаниям, предоставляющим договорные услуги, они хотели предложить нечто свое. Доктороу со своими компаньонами Джоном Хенсоном и Градом Конном жаждали осуществить свою мечту — создать программный проводник (агент), который бы держал их в курсе того, что их интересует, и сообщал бы им о том, что должно было бы их заинтересовать.
   Они изучали поисковые машины, помогающие людям отыскивать требуемое индексацией каждого документа в Интернете; их интересовало, как некоторым программам социальной фильтрации (вроде тех, что использует компания Amazon) удается рекомендовать людям книги или музыку с учетом вкусов тех, кто совершал уже подобный выбор. Возможно ли создание социального фильтра, который бы отбирал в Интернете все документы, музыку, графику, видео и программное обеспечение, одновременно учитывая вкусы каждого интернет-пользователя, отслеживая, каким образом вкусы остальных сопоставимы с вашими собственными? Почему бы и нет?
   Компьютеры упрощают решение сложных задач. Однако некоторые задачи так и остаются неподъемными для современной вычислительной техники. Доктороу со своими приятелями быстро сообразил, программа, решающая поставленную ими задачу, неосуществима в рамках Сети. «Нам пришлось бы обзавестись серверами, превышающими по мощности весь Интернет» — таков приговор Доктороу. Вот где проявила себя его страсть к собиранию предметов поп-культуры.
   «С ранних лет я собирал старомодный хлам из Диснейлендов. В Торонто за год удается отыскать одну такую штуку на дворовых распродажах или у старьевщиков. Затем я нашел Auctionweb — так назывался вначале eBay, — где обнаружил дюжины таких вещей, а затем тысячи. Я стал выстраивать длинную цепочку запросов и в итоге получил список URL-адресов величиной в 20 Кбайт, который вставляю в свой браузер в пять часов утра по среднеевропейскому времени, единственную пору ночи или дня, когда эти серверы не перегружены и способны обработать мой запрос. Спустя полчаса главный компьютер на Auctionweb сузил список из 5000 адресов до 50, которые могли бы меня заинтересовать. В итоге я не мог уже больше продолжать, поскольку просто не осталось времени, когда бы загруженность серверов позволила обработать мой чудовищный запрос.
   Я уже был готов сдаться, когда на ум пришел спасительный выход. Я стал вести учет всех поголовно, кто когда-либо прежде перебивал мою цену, а затем выяснял, что они предлагают сейчас. Тем самым я мог видеть, кто перебивал цену тех, кто перебивал мою цену, и мог проследить, что они предлагают теперь. Подобный подход оказался не только блестящим средством поиска старого барахла Диснейлендов, как ты можешь судить по виду моих покоев, но и потрясающим средством обнаружения барахла, о существовании которого я и не подозревал! Я предлагаю небольшую серебряную кокарду с фуражки проводника диснеевской железной дороги, цена на которую доходит до 300 долларов; я вовсе не собирался продавать ее за такую сумму, но она познакомила меня с устройством торгов, предлагавших старое железнодорожное барахло, показавшееся мне крайне привлекательным».
   Подобно SETI@home, OpenCOLA нуждается в добровольцах. Помещая документы в папку на своем компьютере в ожидании появления там схожих документов, вы рассчитываете, что другие поступят так же. Ваш клиент через вашу карту сети (и через карты тех, кого вы знаете) прощупывает папки других (эту функцию обычно именуют ползунком*), выискивая списки того, что эти люди (узлы) приняли (сохранив где-то файлы) и отвергли (удалив файлы). OpenCOLA называет эти записи запасниками, представляющими собой файл в их OpenCOLA—папке.
 
   * Ползунок (от англ. spidering или crawl — ползать) — программный поисковый механизм в Сети для автоматического выбора всех документов, на которые есть ссылки в первом выбранном документе; этим он отличается от обычных браузеров, работающих под управлением человека.
 
   «Обнаружив ряд узлов в сети, мой посредник затем обращается к автоматическому поиску всего содержимого их папок, запасников и на пару с ними приступает к отысканию мест, откуда они это все взяли. Если мы с тобой оба любим Wired News, наши узлы объединяются для периодического просмотра Wired News, выявления там новых документов и предложения их вниманию друг друга; на основании того, что делает каждый из нас, мы можем предложить их еще чьему-либо вниманию или же выбросить в мусорную корзину. Напоследок проводник OpenCOLA вновь предлагает документы моему вниманию, наблюдая, что я буду с ними делать. Если я заношу их в файлы, он отмечает, что они мне нравятся; если я их выбрасываю, он отмечает, что они не в моем вкусе. И тогда он, исходя из моих действий, либо расширяет, либо сужает возможность других узлов рекомендовать мне подобные документы».
   Доктороу замечает, что кооперативная природа описываемой им системы покоится не на жестах доброй воли (альтруизме) или принудительном участии. Простой поиск материала с последующим решением сохранить его или отбросить создает информацию, полезную другим. Каждый участник сети сотрудничает, предоставляя файл со своими решениями окружающим, что обусловлено своекорыстием, поскольку открытая папка пополняется интересными документами; открытость папки одновременно побуждает к ее пополнению и позволяет предоставлять информацию всем ищущим ее.
   «Пиринг, по моему мнению, определяется степенью зависимости от закона Меткафа. В конце концов, программа обработки текста остается таковой, единственный ли вы или миллионный пользователь; выгоды от нее те же самые. А вот Napster уже не Napster, если вы оказываетесь единственным его пользователем. В этом случае Napster предстает лишь папкой с МРЗ-файлами. Napster не требует от вас делиться своими файлами, но сама система такова, что присвоенные вами файлы доступны для других, пока вы запускаете у себя программу для присваивания очередных файлов. Одна беда — заторы; чем больше у вас пользователей, тем труднее подключиться к вашей сети. И пиринговая сеть может лишь предоставить общую собственность, где «овцы гадят на траву», то есть каждый пользователь поставляет ресурс, который он же и потребляет».
 
   Массивы и адхократии
   Аддократии среди сотрудничающих людей, разбросанных по всему свету, не единственный способ воспользоваться преимуществом р2р-технологий. Возьмем незанятое дисковое пространство и неиспользуемые вычислительные циклы ЦП на тысячах компьютеров крупной компании в пределах одного здания или всего мира. Если бы компьютеры представляли собой нагреватели, мы имели бы картину, когда почти каждое использующее компьютеры предприятие, нагружая их на полную мощность, держит открытыми окна, обогревая тем самым воздух. United Devices и другие поставщики коммерческих услуг помогают таким компаниям использовать собственную вычислительную технику для решения подходящих задач, находя применение пропадающей зря вычислительной мощи. Если добровольные виртуальные сообщества создают суперЭВМ для лечения рака или поиска посланий из космоса, то страховые компании обрабатывают статистику несчастных случаев, а нефтяные компании проводят геологическое моделирование. Что еще важнее, крупные и государственные исследовательские программы рассматривают распределенные вычисления как новый подход к будущему обеспечению вычислительными ресурсами. Понятие «вычисления в массивах» (grid computing) привлекло внимание могущественных спонсоров. Некоторые государства и корпорации приступили к созданию «питомников» сетевых компьютеров, которые бы по требованию предоставляли вычислительные мощности, что больше походит на поставку электроэнергии, чем на привычную продажу компьютеров.
   Кое-кто выступает против вычислений в массивах, усматривая здесь попытку вернуться к временам мейнфреймов, когда доступом к вычислительным ресурсам обладало лишь компьютерное «жречество», а не простые пользователи. Уже не единожды массовый почин добровольцев подхватывала IBM. Когда IBM, твердыня мейнфреймов, столкнулась с изобретением ПК усилиями Xerox PARC и Apple, там решили воспользоваться этим и сделать основным направлением то, что представлялось технологической контркультурой, созданием собственной версии. Движение за открытые исходники бросило вызов Microsoft и прочим поставщикам патентованного программного обеспечения* благодаря совместным усилиям рассредоточенных коллективов программистов, разрабатывающих программы, открытые для всеобщего использования или внесения изменений. Корпорация IBM способствовала становлению этого движения как ведущего, предоставив миллиард долларов на создание своих собственных программных средств, служб и приложений с открытым кодом [29]. Microsoft включил вычисления в массивах в свой проект .Net**, а в феврале 2002 года корпорация IBM заявила о своей поддержке платформ с открытым кодом для вычислений в массивах и о том, что позволит выпускаемым изделиям работать в массивах [30].