Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

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

(история операционной системы Linux)

(С) Костромин В.А., март 2005 г.

Предупреждение: этот раздел не закончен, это просто черновики, цитаты и наброски!


Назад Оглавление Вперед

1. Естественный отбор. 2. Все что делается, делается силами энтузиастов. нет таких денег, за которые кто-то будет работать лучше, чем энтузиасты бесплатно.

Феномен Linux

Летом 1997 года Эрик Рэймонд (Eric Raymond) написал статью ?Собор и Базар?, сыгравшую важную роль в истории. Обычную модель разработки программ (в университетах или коммерческих компаниях) он сравнил с постройкой собора -- сначала создаётся план, а затем определённая команда под руководством начальников производит строительство. ?Сообщество Linux скорее напоминает шумный базар, с множеством различных подходов и направлений. То, что на этом базаре рождается согласованная стабильная операционная система, кажется чудом из чудес? -- написал Рэймонд, и посвятил статью описанию того, как ?базар? реально и продуктивно работает. Этой статье суждено было сыграть значительную роль в дальнейшем развитии свободных программ.

В этом разделе я попытаюсь проанализировать феномен Linux, ответить на такие вопросы "Какие факторы обусловили успех Linux?" и "Что мешает быстрому и широкому распространению этой ОС?".

Приведем очень важную для понимания всей проблемы цитату из документа, опубликованного на сайте Opensource.org.

"Иск SCO невозможно понять, если не иметь в виду те "сейсмические смещения", которые происходят в настоящее время в программной отрасли. Источник этих смещений - приблизительно двоекратное увеличение мощностей компьютерного оборудования, происходящие каждые восемнадцать месяцев - эта тенденция наблюдается с середины 1970-х (её также называют законом Гордона Мура - прим. редакции).

Это означает, что сложность программного обеспечения, предназначенного для эксплуатации всех возможностей новейшего оборудования также удваивается каждые 18 месяцев, повышая сложность разработок до немыслимого прежде уровня.

В середине 1990-х годов в отрасли начали понимать, что традиционная модель разработок программного обеспечения себя постепенно исчерпывает: из-за неё, по мере усложнения программной продукции, становится всё труднее выпускать программы с низким количеством дефектов.

Велось множество разговоров о "программном кризисе" и попытки решить эти проблемы путём всяческих усовершенствований традиционного процесса.

Таковые попытки состояли преимущественно из повышения формальности, ужесточения условий, введения централизации и статистического мониторинга в процесс разработки программного обеспечения.

Подобные меры промышленного контроля приводили к весьма отрадным результатам в XX веке. Однако разработка софта - это не сборка автомобилей... Аналогии с контролем над промышленным процессом оказались в корне порочными, и все подобные попытки провалились, лишь подняв стоимость программного обеспечения без повышения его надёжности.

Помощь пришла с неожиданной стороны - от разношёрстного сообщества программистов и инженеров, занимавшихся разработками в области Интернета и систем UNIX. С 1960-х годов они отрабатывали новый стиль создания программного обеспечения, опровергавший исходные предпосылки "промышленного" подхода к процессу написания программ.

Вместо централизации и крупных программистских коллективов - отдельные небольшие группы программистов. Вместо контроля над процессом и иерархии - рецензирование на равных и открытые стандарты. А самое важное, такой "Интернет-стиль" отказался от секретности в пользу прозрачности и того, что потом назвали "открытыми исходниками".

Ранними примерами подобных разработок стали Berkeley Unix (1977), проект GNU (1983) и X Consortium (1983). Все три проекта процветали в рамках сообщества UNIX. Когда в 1991 году Линус Торвальдс выпустил Linux, он действовал в рамках уже давно и прочно укрепившейся традиции.

Больше того, в 1997 году, к вящему изумлению всех заинтересованных, стало очевидно, что это было ответом (или хотя бы частичным ответом) на потребности программной отрасли. Степень дефективности и стоимость открытых разработок оказалась значительно ниже, чем у коммерческого программного обеспечения. Наиболее опытные программисты переключились на новый режим. Взрывной успех Linux и участие со стороны IBM - всё это последствия динамизма развития открытых разработок.

Мы не просто так использовали термин "сейсмические смещения". Как и в случае с прошлыми технологическими революциями, один из возможных эффектов нынешней стало то, что экономист Йозеф Шумпетер (Joseph Schumpeter) назвал "творческим разрушением". Происходит разрушение бизнес-модели многих компаний, в основе которой лежит прежняя модель "закрытых" разработок программного обеспечения.

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

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

Этот процесс вызывает панику у компаний вроде SCO и Microsoft, которые рискуют потерять всё, если им не удастся адаптироваться. Но с объективной точки зрения происходящее не должно вызывать никакой тревоги.

На самом деле происходит следующее: корпоративная бесхозяйственность вытесняется из области разработок ПО, поскольку рынок стремится к равновесию и пытается достичь его более эффективными способами.

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

Преимущества Linux

Самым существенным преимуществом ОС Linux по сравнению, скажем, с Microsoft Windows и другими коммерческими системами является свобода ее распространения и открытость исходных кодов. Это главный фактор, из которого вытекают такие достоинства Linux как относительно низкая стоимость, привлекательность для самой активной части программистского сообщества, обеспечение свободного обмена идеями и наработками и так далее.

Открытость кода привлекает закрытые организации. Раз код доступен, его можно проверить на закладки, программные бомбы и другие неприятные сюрпризы. Поэтому Linux активно используют в военных структурах США. Недавно в прессе прошли сообщения о том, что Linux будет объявлена государственной операционной системой Китая. Точнее, государственной должна стать операционная система Red Flag на базе Linux, разработанная в Китае.

В России ситуация с операционными системами для специальных применений довольно запутанная. Поиски основы для защищенной операционной системы начались не с Linux. Из Unix с открытым кодом первой ОС, на которую решили возложить <специальные> задачи, была FreeBSD. В МО ПНИЭИ, где родилось знаменитое семейство <Верб>, не разрабатывают защищенные ОС, но, выпуская продукты на базе FreeBSD, дорабатывают их, создавая замкнутую программную среду. Сертифицированный шифратор IP- потоков ШИП основан на FreeBSD 2.2.8,

Cтоимость. Как бы не силилась Microsoft доказать, что в долгосрочной перспективе Windows обходится дешевле, сколько бы ни заказывала специальных исследований с заранее заданным выводом, спорить с очевидными фактами трудно. Использование лицензионного ПО от Microsoft требует существенных затрат. Даже для крупных компаний, располагающих большими средствами, эти расходы существенны. Минимальный стандартный набор из операционной системы и офисного пакета обойдется примерно в 300 долларов, а в пересчете на сотню и тем более тысячу рабочих мест это выливается в десятки и сотни тысяч долларов инвестиций. А приобретя одну копию Linux (пусть даже в самом дорогом варианте за несколько тысяч рублей) вы можете установить ее на неограниченное число компьютеров. Правда, это только начальные вложения. Различные "исследовательские" компании строят свои обоснования выгодности Windows в долгосрочной перспективе на том, что для поддержки и обслуживания систем на основе Windows требуются менее квалифицированные администраторы, которым можно меньше платить, чем специалистам по Linux.

Привлекательность для наиболее творческой части программистов. Одна из главных причин успеха Linux заключается в том, что открытая природа этой ОС означает возможность для увлеченных программистов влиять на нее - в альтернативных системах это исключено. Давайте вспомним приведенное выше описание того, как начиналась разработка Unix, проекта GNU и ОС Linux. Все три проекта имеют очень большое сходство - все они были начаты практически одним человеком, потом были поддержаны другими добровольцами, которые работали не за деньги, а на чистом энтузиазме. Не из под палки, не из-за денег! Деньги играют свою положительную роль как средство обмена результатами труда людей, но если они становятся целью, они уже перестают играть положительную роль, а скорее тормозят прогресс.

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

Пока Linux последовательно завоевывала плацдарм на компьютерах каждого крупного производителя серверов, операционные системы с хорошей технической репутацией, такие как BeOS, Amiga и OS/2 потерпели крах, а Apple Mac OS и различные версии Unix потеряли свое значение.

Линус Торвальдс в своей книге пишет: "Ясно, что одна из причин популярности среди студенчества как открытых исходников, так и Linux, крайне проста - неприятие истеблишмента. Расклад тут такой: с одной стороны, огромная коварная корпорация Microsoft и злобный, жадный, отвратно богатый Билл Гейтс, а с другой - любовь и бесплатный софт для всех плюс скромный (с виду) народный герой Линус Б. Торвальдс. Эти ребята заканчивают учебу и приходят на работу в корпорации, принося с собой любовь к Linux."

Гейтс писал: "По существу вы препятствуете созданию хороших программ. Кто может себе позволить выполнять профессиональные обязанности бесплатно?" Линус парировал: "Модель открытых исходников дает людям возможность удовлетворить свою страсть, получить удовольствие, сотрудничать с лучшими программистами мира, а не только с теми, кто оказался в штате той же компании. При этом разработчики стремятся завоевать авторитет среди своих коллег, и это оказалось превосходным стимулом".

Гораздо лучше быть везде и заполнять все ниши. Что Microsoft и сделала. Представьте себе жидкий организм, который заливает любое обнаруженное пространство. Если одна из ниш потеряна - не беда. Организм заполоняет весь мир, затекая во все дырки. То же самое сейчас происходит с Linux. Она оказывается всюду, где к ней есть интерес. У Linux нет какой-то одной своей ниши. Она маленькая, гибкая и всюду пролезает. Ее можно найти на суперкомпьютерах во всяких крутых местах вроде Национальной лаборатории им. Ферми и НАСА. Но туда она перетекла из серверного пространства. А в него, в свою очередь, попала из мира настольных компьютеров - здесь я начинал. В то же время Linux стоит и на встроенных устройствах - от тормозов с антиблокировочной системой до часов.

Линус же выбрал совершенно другую модель поведения. Он не только сделал исходный код системы полностью открытым, но и позволил участвовать в создании своей программы каждому. Теперь любой человек был вправе не только изучать исходные коды системы, но наравне с самим Линусом вносить в нее изменения. Кто угодно мог прислать заплатку или модуль и потребовать включить его в систему. Если требование было обоснованным, оно немедленно выполнялось. Причем заплатка или модуль добавлялись в систему не безлико - имя создателя включалось в общедоступные "списки почета" и даже оставалось в исходных кодах Linux. Таким образом, появился очень сильный стимул для участия в проекте - удовлетворение собственного эго от участия в создании системы.

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

The Debian distribution is produced by a volunteer organization. It's installation is less easy: you have to answer questions during the installation the other distributions deduce automatically. Nothing complicated as such, but requiring understanding of and information about hardware most PC users don't want to worry about. On the other hand, after installation, Debian can be upgraded to each new release without re-installing anything.

Надежность и безопасность. По сравнению с рядовым коммерческим ПО в операционной системе с открытым исходным кодом во много раз меньше багов.

К такому заключению пришел четырехлетний исследовательский проект, выполненный компанией Coverity, специализирующейся на анализе кода, которая планирует обнародовать свой отчет во вторник. В 5,7 млн строк кода, составляющего последнюю версию ядра операционной системы Linux, было обнаружено 985 ошибок. По данным Карнеги-Меллонского университета, обычная коммерческая программа аналогичного размера содержит в среднем 5000 ошибок.

<Linux-очень хорошая система в смысле плотности багов, - сказал Сет Халлем, глава Coverity, компании из Сан-Франциско, которая производит инструменты обнаружения ошибок для ПО, написанного на языках программирования С и С++.

Инструменты анализа кода обычно используют принципы проектирования ПО для анализа исходного кода программы и выявления любых возможных проблем. Microsoft широко применяет такие инструменты в своих внутренних разработках, и простейшие версии подобных программ начинают появляться во многих компиляторах. Эти инструменты используются и для <приручения> дикого кода, наводняющего веб.

Хотя у Coverity нет никаких данных об относительной частоте ошибок в операционной системе Microsoft Windows, ее информация, вероятно, подольет масла в огонь споров между приверженцами Linux, Mac OS X и Windows о том, какая из операционных систем безопаснее.

Например, недавний отчет показал, что в Red Hat Linux меньше критических ошибок, чем в Microsoft Windows. Другое исследование, проведенное Forrester Research по заказу Microsoft, отдает предпочтение Windows, что не удивительно.


Coverity не анализировала исходный код Microsoft Windows потому, что не имела доступа к этому коду, сказал Халлем. В Mac OS X от Apple Computer много проприетарного кода, но в качестве ядра операционной системы используется ОС с открытым исходным кодом BSD.
Халлем подчеркнул, что исследование Linux - а именно, версии ядра 2.6 - показало, что процесс разработки open source приводит к созданию безопасной операционной системы. <Существуют другие опубликованные отчеты, в которых приводится плотность ошибок для Windows, и я могу утверждать, что Linux сопоставима или лучше, чем Windows>, - заявил он.

Исследование показало, что ядро Linux превосходит по своему качеству заурядный коммерческий код. Согласно апрельскому отчету рабочей группы National Cybersecurity Partnership о жизненном цикле программного обеспечения, который ссылается на анализ методов разработки, проведенный Институтом программирования при Карнеги-Меллонском университете, проприетарное ПО в целом содержит от 1 до 7 ошибок на тысячу строк кода. Для программы в 5,7 млн строк, как в версии 2.6 ядра Linux, это дает от 5700 до 40 тыс. ошибок.

Microsoft для обследования Windows использует аналитические инструменты, подобные инструментам Coverity. Один из них, PREfast, установлен на рабочей станции каждого программиста для выявления в коде простых проблем. Другой инструмент, PREfix, каждую ночь обрабатывает исходный код Windows, вылавливая более сложные ошибки. Халлем признает, что применяя подобные инструменты, Microsoft, скорее всего, уменьшила число дефектов в Windows.

Coverity планирует регулярно публиковать отчеты о багах в Linux и доводить результаты до сообщества разработчиков.


Роберт Лемос (Robert Lemos), CNET News.com

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

Факторы, сдерживающие распространение Linux

Хроника дальнейших событий

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

25.02.2005. Объединение Mandrakesoft и Connectiva Европейская Linux-компания Mandrakesoft объявила о достижении соглашения по приобретению Conectiva - ведущей Linux-компании в Бразилии и Латинской Америке. Поглощение позволит значительно расширить возможности Mandrakesoft. Сделка обойдется французам в 1,79 млн. евро (2,3 млн. долларов) - именно такова стоимость всех акций Conectiva. "Это слияние сулит большие перспективы Mandrakesoft и Conectiva. Вполне очевидно, что оно усилит нас в коммерческом и технологическом отношениях, - заявил Жак Розенцвейг (Jaques Rosenzvaig). - Кроме того, объединение позволит единой компании стать ведущим мировым Linux-поставщиком".

28 марта 2005 г. стало известно, что Южная Корея собирается начать акцию по популяризации использования открытой операционной системы Linux в публичном секторе. По сообщению, поступившему от Министерства информации и связи Южной Кореи, в этом году государственным ведомствам, желающим использовать Linux и другое программное обеспечение с открытым кодом (open-source), будет выделено 3 миллиарда вон (около 2,95 миллионов долларов США) Стоит отметить, что адаптировать Linux Министерство рекомендовало восьми агентствам еще в прошлом году.

Марчело Тосатти (Marcelo Tosatti) объявил о выпуске новой стабильной версии ядра из ветви 2.4.30. Данный релиз не содержит новых функций, а лишь исправляет некоторые ошибки. Полный список сделанных изменений можно найти здесь.

7 апреля 2005 г. Компания MandrakeSoft сменила своё имя - а вместе с ним и имена всех своих продуктов [www.mandrakesoft.com/company/press/pr?n=/pr/corporate/2551]. Прикупив не так давно Linux-разработчика Conectiva, MandrakeSoft тогда же пообещала внести изменения в свои торговые марки - и вот результат: синтетическое словечко Mandriva образовано прямым слиянием "Mandrake" и "Conectiva", все линукс-дистрибутивы компании теперь будут называться аналогично - MandrivaLinux. Нравится вам это или нет, но решение принято. Впрочем, здесь не только игра в слова, есть и более серьёзный мотив для смены имён. Уже несколько лет MandrakeSoft судится с некоей компанией Hearst Corporation, у которой есть личные претензии к названиям с приставкой Mandrake. Отказ от старого имени решает эту проблему и позволяет заняться тем, для чего собственно MandrakeSoft или Mandriva и существует - работе над самым дружелюбным к пользователю Linux-дистрибутивом.

Заключение

Хотя книга Линуса Торвальдса и получила название "Рассказ нечаянного революционера" (вероятно, это журналисткий прием, привнесенный Д.Даймондом), но пройденный операционной системой Linux путь от хакерского проекта одного студента до получившей всемирное распространение профессиональной операционной системы, не похож на революцию, он скорее может служить примером эволюционного развития программной системы. В процессе создания и развития операционной система Unix были разработаны базовые принципы построения современных операционных систем. Система Minix профессора А.Таненбаума послужила примером переноса теоретических положений в практически используемые программные продукты. Проект GNU, начатый Ричардом Столлманом в середине 1980-х годов, заложил фундамент движения открытых исходников. И, наконец, стремление Линуса Торвальдса к совершенству привело к рождению Linux, которую в наши дни используют уже сотни тысяч людей по всему миру. И не только одиночки-энтузиасты, но и большие компании вроде IBM, Oracle, Hewlett Packard и Novell. Даже если Linux по каким-то причинам вдруг прекратит свое развитие, эта система навсегда войдет в историю вычислительной техники как воодушевляющий пример проекта, разработанного всемирным сообществом энтузиастов.


Назад Оглавление Вперед