В китайском вы сразу же получаете в свое распоряжение сложные вещи, которые можно комбинировать ограниченным образом. Это больше напоминает подход VMS: есть множество сложных вещей с интересным смыслом, которые можно использовать только одним способом. И в Windows то же самое.
В Unix, напротив, основная идея: «Чем меньше, тем красивее». Здесь есть небольшой набор простых базовых строительных блоков, из которых можно строить бесконечно сложные конструкции.
Именно так, кстати, обстоит дело и в физике. Эксперименты позволяют открыть фундаментальные законы, которые, как предполагается, крайне просты. Сложность мира возникает за счет множества удивительных взаимосвязей, которые можно вывести из этих простых законов, а не из внутренней сложности самих законов.
Простота Unix не возникла сама по себе. Unix со своей концепцией простых строительных блоков была кропотливо разработана Деннисом Ричи и Кеном Томпсоном в Bell Labs компании AT&T. Простоту вовсе не следует отождествлять с легкостью. Простота требует проектирования и хорошего вкуса.
Если вернуться к примеру с языками, то пиктографическое письмо – например, египетские или китайские иероглифы – обычно древнее и кажется «примитивнее», а подход, использующий строительные блоки, требует гораздо более абстрактного мышления. Точно так же и простоту Unix не следует путать с отсутствием изощренности – совсем наоборот.
Из этого вовсе не следует, что создание Unix было вызвано какими-то сложными причинами. Как часто бывает в компьютерной области, все началось с игр. Нужно было, чтобы кто-то захотел играть в компьютерные игры на PDP-11. Именно из этого выросла Unix – из персонального проекта Денниса и Кена, пожелавших играть в «Звездные войны». А поскольку этот проект никто не воспринимал всерьез, AT&T не занималась коммерческим применением Unix. AT&T была регулируемой монополией и все равно не могла, например, продавать компьютеры. Поэтому создатели Unix стали бесплатно предоставлять ее вместе с лицензиями на исходные тексты всем желающим, в особенности университетам. Они относились к этому просто.
В результате Unix получила широкое распространение в университетских кругах. К моменту произошедшего в 1984 году разделения (В 1984 году телефонная составляющая AT&T – Bell System – по решению суда была разбита на 7 региональных компаний Bell. – Прим. пер), когда AT&T получила наконец право заняться компьютерным бизнесом, университетские специалисты (в частности, сотрудники Калифорнийского университета в Беркли) уже в течение нескольких лет работали над усовершенствованием Unix под руководством таких корифеев, как Билл Джой и Маршал Кирк Маккусик. При этом многие не утруждались документированием своей деятельности.
Однако к началу 90-х Unix стала операционной системой номер один для всех суперкомпьютеров и серверов. Бизнес приобрел огромные масштабы. При этом, к несчастью, существовало великое множество конкурирующих версий этой системы. В основе одних лежала базовая разработка AT&T (так называемые варианты «System V»), которая была относительно контролируемой. Другие создавались на основе кода BSD (Berkeley Software Distribution), созданного в Калифорнийском университете в Беркли. А некоторые представляли из себя смесь обеих систем.
Одна из разработок на базе BSD заслуживает особого упоминания. Это проект 386BSD, выполненный Биллом Джолицем на основе кода BSD и распространявшийся через Интернет. Позднее он разделился и породил бесплатные BSD-версии: NetBSD, FreeBSD и OpenBSD. Он вызывал большой интерес в Unix-сообществе.
Поэтому AT&T внезапно спохватилась и подала в суд на Калифорнийский университет в Беркли. Исходный код принадлежал AT&T, но в дальнейшем большая часть работы была выполнена в Беркли.
Руководители Калифорнийского университета утверждали, что университет имел право распространять или продавать за символическую плату свою версию Unix. Они продемонстрировали, что сотрудники университета проделали очень большую работу и фактически переписали все, что было предоставлено корпорацией AT&T. Судебный процесс закончился соглашением после того, как корпорация Novell купила Unix у AT&T. В основном из системы должны были быть исключены части, выпущенные AT&T.
Вся эта юридическая возня пошла на пользу новому отпрыску Unix, дав ему время возмужать и распространиться по миру. По существу она позволила Linux завоевать рынок. Но я забегаю вперед.
Раз уж я все равно отклонился, то хочу кое-что объяснить.
У Unix сложилась репутация магнита, притягивающего сдвинутых маргиналов компьютерного мира. Оспаривать эту репутацию не имеет смысла. Она справедлива.
Честно говоря, вокруг Unix действительно собралось много чокнутых. Я не имею в виду тех, кто рассылает угрожающие письма. Или тех, кто травит соседских собак. Просто люди с очень альтернативным образом жизни.
Вспомните: ведь Unix зародилась в конце 60-х – начале 70-х, когда я спал в бельевой корзинке в квартире бабушки с дедушкой. Ее создавали технари из поколения «дети – цветы». Идея свободы Unix в большей степени связана с духом той эпохи, чем с самой операционной системой. Это было время безудержного идеализма. Революция. Свобода от власти. Свободная любовь (с этим я пролетел – да и что бы я с ней делал?). И относительная открытость Unix, пусть и объяснявшаяся отсутствием на тот момент коммерческих интересов, привлекала к системе людей такого типа.
Впервые я столкнулся с этой стороной Unix году в 1991-м, когда Ларе Вирцениус затащил меня на собрание в Техническом университете Хельсинки (который, как всем известно, расположен не в самом Хельсинки, а по другую сторону границы – в Эспо. Они просто хотят ассоциироваться со знаменитым Хельсинки, хотя бы только по названию). Выступал Ричард Столман.
Ричард Столман – это бог свободного ПО. Он начал работать над альтернативой Unix в 1984 году, назвав ее системой GNU. GNU – это аббревиатура для «GNU is Not Unix», один из многих рекурсивных акронимов, в которых одна из букв обозначает сам акроним – типичная компьютерная шуточка, недоступная посторонним. С нами – хакерами – не соскучишься.
Еще важнее, что РМС (как он сам себя называет) написал Манифест свободного программного обеспечения и лицензию на бесплатное распространение ПО – Универсальную общественную лицензию (GPL). По существу именно он ввел понятие намеренного бесплатного распространения исходников в противовес их случайному распространению, которое первоначально имело место при разработке Unix.
Честно говоря, я не вникал во все эти социально-политические вопросы, которые были – и есть – так милы сердцу РМС. Я даже не очень-то знал о созданном им Фонде свободного ПО и его целях. Раз я почти ничего не помню из его выступления в 1991 году, похоже, оно не повлияло на мою жизнь. Я интересовался программированием, а не политикой – политики мне и дома хватало. Но Ларе был идеологом, а я потащился за ним.
Ричард был первым в моей жизни классическим длинноволосым бородатым хакером. У нас в Хельсинки таких мало.
Может, я и не проникся полностью, но что-то из его речи, видимо, запало мне в душу. В конце концов, я ведь использовал GPL для Linux. Ну вот – я снова забегаю вперед.
IV
2 января 1991 года. В этот день магазины впервые открылись после Рождества и моего двадцать первого дня рождения – двух главных дней моего финансового года.
Получив свои рождественские и «деньрожденные» деньги, я принял грандиозное экономическое решение купить компьютер за 18 тысяч марок, что составляло примерно три с половиной тысячи долларов.