стали просить разрешения брать за них долларов по пять, чтобы покрыть временные затраты и стоимость дискет. Трудность была в том, что это нарушало мои авторские права.

Пришла пора пересмотреть мой девиз: Linux не продается. К тому времени о Linux было столько разговоров в онлайне, что я уже не сомневался: никто не может просто забрать программу себе – чего я больше всего боялся вначале. По крайней мере, такой поступок вызвал бы бурю негодования. Если бы кто- то попытался присвоить Linux и превратить ее в коммерческий продукт, он столкнулся бы с сильным противодействием: куча фанатов Linux – а их становилось все больше – закричала бы: «Эй, это же Linux! Так нельзя!», только не так вежливо.

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

Чтобы вы не думали, что я становлюсь в позу благодетеля человечества, хочу указать еще на один важный мотив моего решения. Дело в том, что при создании Linux я использовал множество свободно распространяемых по Интернету инструментов – пристроился на плечи гигантов. Самым важным из этих инструментов был компилятор GCC. Авторские права на него оговорены в Универсальной общественной лицензии (GPL), которую еще называют «левым правом» (copyleft) и которую изобрел Ричард Столман. В условиях этой лицензии речь не идет о деньгах. Можно получить хоть миллион баксов, если кто-то готов его заплатить, главное – открыть исходники. И тот, кому ты даешь или продаешь исходники, имеет те же права, что и ты сам. Это замечательная схема. Но в отличие от многих ярых фанатов GPL, которые требуют, чтобы всякая программная новинка становилась достоянием человечества на условиях этой лицензии, я считаю, что автор программы имеет право сам решить, что с ней делать.

Итак, я отказался от собственного описания авторских прав и перешел к GPL, которую Столман составил при участии юристов. (Из-за этого она и занимает несколько страниц.) Новое уведомление об авторских правах было включено в версию 0.12. Помню, как после этого лежал ночью без сна – все думал, как отразятся коммерческие интересы на Linux. Теперь мои тогдашние страхи кажутся смешными, поскольку коммерческий интерес был сравнительно невелик. Что-то заставляло меня быть очень осторожным. Я, в частности, боялся (да и сейчас боюсь), что кто-нибудь просто заграбастает Linux себе, наплевав на авторские права. В то время меня волновало, что будет невозможно засудить какого-нибудь американца за нарушение авторских прав. Меня это и сейчас волнует. Очень легко возбудить против кого-то иск за такие нарушения, но обидно, что кто-то будет продолжать делать это, пока его не вынудят остановиться.

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

Вообще говоря, я смотрю на проблему авторских прав с двух сторон. Возьмем человека, который зарабатывает 50 долларов в месяц. Можно ли ожидать, что он заплатит за программу 250 долларов? Я не считаю, что он поступит аморально, если нелегально скопирует программу, а сэкономленную сумму, равную своей зарплате за пять месяцев, потратит на еду. С моральной точки зрения это вполне допустимо. И было бы аморально, да и просто глупо, преследовать такого «нарушителя». Что касается Linux, то кому какое дело, соблюдает ли человек GPL, если он использует программу для собственных нужд? Вот когда кто-то собирается на ней зарабатывать, игнорируя GPL, – это я считаю аморальным, будь то в США или в Африке. Но и тогда все зависит от масштабов. Жадность всегда отвратительна.

X

Minix и Linux

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

У него были все основания кипятиться. До появления телеконференций Linux я постоянно использовал конференцию Minix для объявлений о Linux и поиска тех, кого моя операционная система могла бы заинтересовать. Любого бы это зацепило.

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

В конце 80-х – начале 90-х это направление было очень популярным. А успех Linux угрожал ему. Поэтому Эндрю регулярно выступал с язвительными репликами.

Теоретически необходимость микроядра обосновывается следующим образом. Операционные системы сложны. Для их упрощения применяется модульный подход. Вся соль микроядра в том, чтобы оставить у ядра, которое является основой основ, как можно меньше функций. Его главная задача – обмен информацией. А все возможности компьютера реализуются в виде сервисов, которые обеспечивают коммуникационные каналы микроядра. Предполагается, что вы разбиваете проблемы на такие мелкие части, что вся сложность пропадает.

Мне это казалось глупым. Да, каждая отдельная часть получается простой. Но при этом их взаимодействие становится гораздо более сложным, чем при включении ряда сервисов в состав ядра, как это сделано в Linux. Представьте себе человеческий мозг. Каждая его составляющая проста, но их взаимодействие превращает мозг в очень сложную систему. В этом-то все и дело: целое больше частей. Если взять проблему, разделить ее пополам и сказать, что каждая половинка вполовину проще, то при этом вы игнорируете сложность интерфейса между половинками. Сторонники микроядра предлагали разбить ядро на пятьдесят независимых частей так, чтобы каждая часть была в пятьдесят раз проще. Они умалчивали о том, что взаимодействие между частями окажется сложнее исходной системы – при том, что и части сами по себе не будут элементарными.

Это самое главное возражение против микроядра. Простота, обеспечиваемая микроядром, является мнимой.

Исходно Linux была намного меньше и намного, намного проще. Она не навязывала модульность, поэтому многое делалось гораздо проще, чем в Minix. Вот, например, что мне не нравилось в Minix: если у тебя одновременно работает пять разных программ и они хотят прочесть пять различных файлов, эти задания будут выполняться последовательно. Другими словами, пять различных процессов пошлют файловой системе запросы: «Можно мне прочесть файл X?» Демон файловой системы, который занимается чтением, примет один из них и пошлет ответ, потом другой – и так далее.

В Linux, где ядро монолитно, каждый из пяти процессов пошлет системный вызов ядру. Ядро должно действовать очень осторожно, чтобы не перепутать вызовы, но при этом оно очень естественно готово к обслуживанию любого числа процессов, выполняя все, что им нужно. Поэтому Linux работает намного быстрее и эффективнее.

Плохо было и то, что с исходниками Minix – согласно лицензионному соглашению – почти ничего нельзя было делать. Вот, например, Брюс Эванс провел коренную переделку Minix, которая ее значительно улучшила. Однако нельзя было намертво встроить эти изменения в систему. Разрешалось только приделывать заплатки. Просто кошмар какой-то! По закону он не мог сделать загрузочный модуль, чтобы облегчить людям модернизацию. Поэтому для получения сколько-нибудь полезной системы модернизацию приходилось проводить в несколько этапов, что было крайне неудобно.

Единственный раз я принялся отвечать Эндрю Таненбауму в начале 1992 года. Представьте себе, что в

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату