Свободная система для свободных людей

(С) Костромин В.А.
март 2005 г.
Линуксцентр

2005-05-24

назад | к началу | вперед

Стадия становления

Версия 0.02 Linux появилась 5 октября 1991 г. Она сопровождалась следующим известным заявлением Торвальдса:

Листинг 3. Сообщение о выходе версии 0.02.

Тот факт, что Линус выложил код своей ОС в Интернет, был решающим в дальнейшей судьбе Linux. Хотя в 1991 году Интернет еще не был так широко распространен, как в наши дни, зато пользовались им в основном люди, имеющие достаточную техническую подготовку. И уже с самого начала Торвальдс получил несколько заинтересованных откликов.

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

Получил Торвальдс отзыв и от Андрю Таненбаума, автора MINIX. К сожалению, отзыв этот был довольно недоброжелательный. В своем письме Таненбаум писал: "Я все же придерживаюсь той точки зрения, что использование монолитного ядра в 1991 году является фундаментальной ошибкой. Радуйтесь тому, что вы не мой студент. У меня вы не получили бы высокой оценки за такую работу :-)"

Линус позже признавался, что это был самый тяжелый момент в истории его занятий Linux. Все же Таненбаум был знаменитым профессором и все, что он говорил, заслуживало внимания. Но в отношении Linux профессор был не прав, а Линус был упрямым парнем и не мог просто так признать себя неправым. К тому же Таненбаум озаглавил свое письмо "Linux устарела" и опубликовал его в телеконференции, что сильно задело Линуса, так как ему показалось, что оно подрывает его социальный статус, которым он очень дорожил. И Торвальдс ответил Таненбауму достаточно резко:

Листинг 4. Из ответа Л.Торвальдса на письмо Э.Таненбаума.

">для меня MINIX - хобби, которым я занимаюсь по вечерам

>Моя основная работа - преподавание и

>исследования в области операционных систем.



Вы хотите этим оправдать ограниченность minix? Извините, но вы не правы. 

У меня оправданий гораздо больше, и все-таки linux побеждает minix почти 

по всем параметрам. Не говоря уж о том, что большая часть хороших кодов 

для minix, похоже, написана Брюсом Эвансом.



Re 1: Для вас minix хобби - но ведь minix приносит доход, a linux 

раздается бесплатно. Теперь по поводу хобби. Поместите minix в свободный 

доступ, и одна из моих главных претензий к ней отпадет. Linux для меня 

в большой степени хобби (серьезное хобби, самого высшего сорта). 

Я не беру за нее денег, и она даже не является частью моей учебной работы. 

Я сделал ее в свободное время на собственной машине.



Re 2: Вы работаете преподавателем и исследователем. Прекрасное объяснение 

для умственной неполноценности minix. Остается надеяться, что Amoeba не 

такая фигня, как minix.



>1. МИКРОЯДРО ИЛИ МОНОЛИТ



Да, linux - монолитная система, и я согласен, что микроядро лучше. 

Если бы у вашего сообщения не был такой спорный заголовок, я бы, вероятно, 

согласился с большинством ваших высказываний. С теоретической 

(и эстетической) точки зрения linux проигрывает. Если бы ядро GNU было 

готово прошлой весной, я бы и не взялся за свою разработку: беда в том, 

что оно не было готово тогда и не готово до сих пор. Linux выигрывает 

прежде всего потому, что она уже готова.



>MINIX - система с микроядром [пропущено, но без 

>потери смысла] . LINUX - монолитная система.



Если бы это было единственным критерием качества ядра, вы были бы правы. 

Однако вы не пишете о том, что микроядро в minix сделано плохо и возникают 

проблемы с многозадачностью (в ядре). Если бы я сделал ОС, у файловой 

системы которой были бы проблемы с многозадачностью, я бы не стал так 

поспешно осуждать других: наоборот, я бы из кожи вон лез, чтобы все забыли 

о моем провале. Да, я знаю, что для minix есть масса заплаток, 

обеспечивающих многопоточную работу, но это лишь заплатки, и Брюс Эванс 

говорит, что все равно остается множество проблем синхронизации."

Линус говорит, что спор с создателем Minix вскоре перешел в обмен личными посланиями - перепалка была слишком резкой, чтобы вести ее публично. Несколько месяцев было тихо. Потом Таненбаум прислал Линусу ссылку на пятистрочное объявление в журнале "Byte" о выпуске коммерческой версии Linux. "В своем последнем сообщении Эндрю спрашивал, этого ли я хотел - чтобы кто-то продавал мой труд. Я ему ответил коротко: "Да", и больше он мне не писал", - рассказывает Линус.

Более подробно с перепиской Линуса Торвальдса, Андрю Таненбаума, Теда Тсо (Ted T'so), Дэвида Миллера и других участников этого спора вы познакомиться, если перейдете по следующим ссылкам "Linux is Obsolete", obsolete.
С полным текстом можно также ознакомиться по адресу: http://groups.google.com/groups?threadm=12595%40star.cs.vu.nl.

Тем временем работа над Linux продолжалась. В таблице 1 приведены основные вехи этого первого этапа развития Linux.

Таблица 1. Развитие Linux от версии 0.01 до 1.0.

Версия

Дата выхода

Комментарий

0.01

17.09.1991

Несколько драйверов устройств и драйвер диска, (бинарных) программ не было

0.03

26.10.1991

Уже могла использоваться, включала оболочку shell, компилятор языка C и несколько утилит

0.10

12.1991

Это все еще не более, чем скелет Linux. Поддерживала только жесткий диск от AT, не имела программы login (сразу загружалась оболочка bash).

0.11

12.1991

Версия 0.11 обеспечивала поддержку многонациональных клавиатур, включала драйвер флоппи-дисковода, поддержку VGA, EGA, Hercules и т.д. Системой стали по-настоящему пользоваться несколько человек.

0.12

05.01.1992

Первая версия, которая распространялась под лицензией GPL. Включала возможность свопинга ОП на диск. Именно в январе 1992 г. пользоваться Linux стали не только те немногочисленные энтузиасты, с которыми у Торвальдса уже сложились постоянные контакты, но и сотни неизвестных ему людей.

0.96

04.1992

Нумерация версий была изменена и версия 0.96 следовала сразу за 0.12. Первая версия, способная запускать систему X Window.

0.99.14

12.1993

Серия 0.99 имела много под-версий, пока Linux не добралась до версии 1.0

1.0

16.04.1994

Выход релиза 1.0 после более чем двух лет развития

Первоначально Линус Торвальдс не хотел продавать свою разработку. И не хотел, чтобы ее продавал кто-то другой. Это было четко прописано в уведомлении об авторских правах, помещенном в файл COPYING самой первой версии - 0.01. Причем требование Линуса налагало значительно более жесткие ограничения на распространение Linux, чем те, которые провозглашались в лицензии GNU: не разрешалось взимать никаких денег за передачу или использование Linux. Но уже в феврале 1992 г. к нему стали обращаться за разрешением брать плату за распространение дискет с Linux, чтобы покрыть временные затраты и стоимость дискет. Кроме того, необходимо было считаться и с тем, что при создании Linux использовалось множество свободно распространяемых по Интернету инструментов, самым важным из которых был компилятор GCC. Авторские права на него оговорены в Универсальной общественной лицензии (GPL), которую изобрел Ричард Столман. Торвальдсу пришлось пересмотреть свое заявление об авторских правах, и, начиная с версии 0.12 он тоже перешел на использование лицензии GPL.

Весной 1992 года Орест Збровски сумел перенести под Linux систему X Window. Обмен информацией между сервером и клиентам в этой системе осуществляется с помощью сокетов, или, точнее, Unix Domain Sockets. Этот же способ используется для передачи информации в Интернет. Поэтому, как пишет Торвальдс, "мы с большим воодушевлением принялись разрабатывать сети для Linux поверх этих самых Domain Sockets, хотя они вовсе не были для этого предназначены. Я был настолько уверен, что все получится, что даже сделал скачок в нумерации версий. В марте 1992 года я планировал выпустить версию 0.13. А вместо этого, получив графический интерфейс пользователя, уверился, что мы на 95% достигли цели - выпуска полноценной, надежной операционной системы, пригодной к тому же для работы в сети. И поэтому выпустил версию 0.95." Но разработка сетевой подсистемы оказалась делом значительно более сложным, чем это казалось вначале. Поэтому пришлось использовать трехуровневую систему нумерации.

Для появившихся к этому времени коммерческих компаний, продававших Linux, было очень важно, чтобы была наконец выпущена версия Linux с номером 1.0. Это имело значение скорее по психологическим, чем по технологическим причинам: кому хочется торговать операционной системой версии 0.96? Поэтому в конце концов и Линус Торвальдс согласился выпустить версию 1.0, когда почувствовал, что система стала наконец работоспособной. Университет Хельсинки предоставил для проведения презентации Linux 1.0 главную аудиторию факультета информатики. Презентация была проведена 16 апреля 1994 года с большой помпой. Репортаж об этом событии даже показали по финскому телевидению.

назад | к началу | вперед