Умная толпа - Говард Рейнгольд
Шрифт:
Интервал:
Закладка:
Unix стала ОС всемирной Сети. В свою очередь Интернет предоставил программистам Unix благодатную среду для построения одного из первых глобальных виртуальных сообществ. Деннис Ритчи, один из создателей Unix, писал: «Мы хотели сохранить не просто благоприятную для программирования среду, а систему, вокруг которой могло бы образоваться некое содружество. Мы на собственном опыте убедились, что сама суть совместных вычислений, обусловленных работой на машинах с удаленным доступом и разделением времени, заключается вовсе не в клавиатурном вводе программ через терминал вместо клавишного перфоратора, а в завязывании тесных взаимоотношений» [49].
Однако в 1976 году АТ amp; Т прекратила печатание исходного кода Unix; в итоге «первые, запрещенные к изданию, книги стали трудами, с которых снято более всего фотокопий» [50]. Примерно в одно время с началом образования сообщества Unix научно-исследовательская лаборатория Искусственного интеллекта (ИИ) Массачусетского технологического института (MIT) изменила вид используемых там ЭВМ. Это был удар по хакерской культуре MIT, так как их программные орудия оказались бесполезными. Тогда же многие первые исследователи ИИ перешли на работу в частный сектор, захваченные техническим бумом того времени, вызванным ажиотажем вокруг ИИ и закончившимся крахом. Одним из тех, кто остался в MIT, кого лишили привычного для разработки ПО окружения и кто был не согласен с коммерциализацией AT amp;T и Microsoft того, что он считал общественной собственностью, был Ричард Сталлман.
Сталлман поклялся создать ОС, машинно независимую и открытую, подобно Unix, но которая при любом лицензировании сохраняла бы статус общественного блага. Сталлман, основатель Фонда бесплатного ПО (Free Software Foundation — FSF), приступил к созданию GNU — anmuUnix. Сталлман, домом которому служит его рабочий кабинет, посвятил себя тому, что он сам назвал свободным ПО (подчеркнув, что подразумевает здесь «свободу, подобно свободе слова, а вовсе не бесплатность, вроде бесплатного пива») [51].
Сталлман не только оспорил правомерность системы авторского права (копирайта), но и создал первый исходник свободно распространяемой ОС. Он распространял создаваемое им программное обеспечение в соответствии с общей открытой лицензией, известной как GPL (General Public License). GNU GPL разрешает всем копировать, распространять и изменять программное обеспечение при условии, что они не станут препятствовать остальным делать то же самое. Новый вид лицензирования Сталлман назвал копилефтом (copyleft) [52]. Подобно перфоленте в ящике стола MIT, программное обеспечение GPL доступно для свободного пользования, и каждый свободен работать над ним, но при условии, что исходный код полученного программного продукта будет открыт всем остальным для использования и внесения изменений.
Создание операционной системы — дело нелегкое. В 1991 году GNU представляла полную ОС, которой недоставало главного — ядра. Линус Торвальдс, учащийся Хельсинкского университета, приступил к написанию собственного ядра. Основанный на GNU, код Торвальдса был открытым в соответствии с GPL, так что он решился на судьбоносный шаг, выложив свое детище в Сети с просьбой о помощи в работе над ним. Ядро, известное под названием Linux, привлекло внимание сотен, а затем тысяч молодых программистов. В 1990-е годы неприятие единовластия Microsoft на рынке операционных систем во многом побудило возмущенных молодых программистов подхватить эстафету хакерской этики.
«Открытый исходник» означает не только программное обеспечение, но и способ его разработки и понимание того, как надо поддерживать общественные блага. Вот что писал Эрик Рэймонд насчет различия в «соборном и базарном» подходе к разработке сложного программного обеспечения:
«Наиболее существенная особенность Linux относилась, однако, не к технической, а к социальной стороне. До появления Linux считалось, что создание такого сложного программного обеспечения, как операционная система, возможно лишь согласованными усилиями относительно небольшой, сплоченной группы людей. Эта модель была и остается типичной как для коммерческого, так и для свободного ПО, возводимого в обоих случаях подобно тому, как строились соборы… Развитие Linux шло по совершенно иному пути. С самого начала она создавалась случайными усилиями большого числа добровольцев, координируемыми сугубо через Интернет. Качество разработки достигалось не жесткими стандартами или единоначалием (autocracy), а крайне простым подходом: еженедельно выкладывать исходники и в течение нескольких дней получать отклики от сотен пользователей. Такой подход позволил создать нечто вроде ускоренного дарвиновского отбора посредством мутаций, вносимых разработчиками» [53].
Как раз благодаря тому, что программное обеспечение обдуманно создавалось в виде общественного блага, вы можете теперь для просмотра лежащей перед вами книги набрать ее адрес в сети посредством букв www.smartmobs.com, а не набора чисел; система «доменных имен» в Интернете зависит от программного обеспечения BIND, пожалуй, чаще всего используемого ПО, которое никому не принадлежит и воспользоваться которым может всякий [54]. Когда пришла пора ARPAnet стать сетью сетей, кудесники программирования, создавшие основные протоколы Интернета, осознали, что решения, принимаемые ими в отношении этого программного обеспечения, скажутся на работе будущих поколений изобретателей. Построенные ими первые протоколы по рассылке данных в сети имели ощутимые социальные последствия: «основной их довод состоял в том, что некоторые требуемые сквозные действия (end-to-end functions) могут исправно исполняться лишь самими оконечными системами… Задача сети состоит в максимально эффективной и гибкой передаче датаграмм. Остальная работа возлагается на периферию (fringes) [55] (датаграмму можно представить в виде небольшого куска данных с указанием адреса).
Придерживаясь одного из выявленных Остром организационных начал — в сложных социальных системах уровни управления надстраиваются друг над другом, — архитекторы Интернета пришли к «сквозному» принципу, позволяющему самим изобретателям, а не контролерам Сети решать, что им строить, исходя из возможностей Интернета. При создании в физической лаборатории Женевы ПО для сети Всемирной паутины Тиму Бернерсу-Ли не требовалось разрешения на изменение работы Интернета, так как Интернет претерпевает изменения в подключаемых компьютерах («периферии»), а не в центральной Сети. Бернерс-Ли просто написал программу, работавшую с интернетовскими протоколами, и подвигнул ряд своих коллег на создание узлов Сети; сеть распространялась подобно заразе, а не по разнарядке [56].
В 1993 году Марк Андреессен вместе с другими программистами из Национального центра по приложениям для суперЭВМ {National Center for Supercomputing Applications — NCSA) При Иллинойском университете выпустил Mosaic, «обозреватель» (браузер), сделавший Сеть доступной с помощью «мышиного» интерфейса — «указал и щелкнул». Ведущие создатели Mosaic перешли из NCSA, общественного учреждения, предоставлявшего свое ПО для общего пользования, в компанию Netscape, «закрывшую» код обозревателя. С выпуском Netscape в 1994 году своих акций на рынок Марку Андрерссену привалило богатство. Если интернет-индустрия из ничего превратилась в «величайшую в истории законную сокровищницу» [57], Сеть тоже явилась некоммерческим созданием программистов, родившихся после появления ARPAnet. Добровольцы начали обмениваться ПО в целях улучшения веб-сервера*, созданного программистами NCSA. Подобно тому как обозреватель служит для навигации в Сети, веб-сервер служит для выставления информации в Сети. Эти программисты-добровольцы сошлись во мнении, что сохранение ПО для веб-сервера свободным и открытым — основа поддержания духа новаторства.
*Веб-сервер, или интернет-сервер, — компьютер, предоставляющий пользователям Интернета и интрасетей доступ к службам и страницам WWW
Брайан Белендорф был одним из основателей виртуального сообщества добровольцев по поддержанию программных средств с открытыми исходниками, составляющих до сих пор основу 60% всех веб-серверов. Поскольку ПО самых первых некоммерческих веб-серверов требовало множества «заплаток» (патчей) — дополнительных программных средств, встраиваемых в программу для устранения сбоев, — Белендорф создал интерактивный союз программистов для обмена «заплатками». А так как программа оказывалась в «заплатках» («патченной»), было решено назвать ПО Apache. Ныне Белендорф исполнительный директор Collabnet, одной из немногих выживших интернет-компаний, где методы открытых исходников используются для создания коммерческого ПО. В 1998 году IBM построила на основе Apache линию продуктов электронной торговли, а затем выделила миллиард долларов для поддержания усилий по разработке открытых программных средств.