После определенного периода разработки под Linux уже стабильно работал ряд важнейших утилит GNU. Скомпилированное ядро Linux с небольшим комплектом скомпилированных уже в Linux утилит GNU составляло набор инструментов для разработчика программного обеспечения, желающего использовать свободную операционную систему на своем персональном компьютере. В таком виде Linux уже не только годился для разработки, но и представлял собой операционную систему, в которой можно было выполнять какие-то прикладные задачи. Конечно, первое, чем можно было заниматься в Linux – писать программы на Си.
Первоначально, чтобы получить компьютер с работающей системой Linux, разработчики пользовались специальными комплектами дискет со скомпилированным ядром Linux и утилитами: с этих дискет можно было загрузить Linux и работать. Однако это не слишком удобно, когда нужно работать в Linux постоянно, да и объем дискет накладывал существенные ограничения на дальнейшее расширение системы и включение новых утилит.
Когда задача получить компьютер с постоянно работающей на нем системой Linux стала востребованной и довольно распространенной, разработчики в хельсинкском и техасском университетах стали создавать собственные наборы дискет, с которых скомпилированное ядро и основные утилиты можно было записать на жесткий диск, после чего загружать операционную систему прямо с него. Эти наборы дискет – первые прототипы современных дистрибутивов Linux – комплекты программного обеспечения, на основе которых можно получить работающую операционную систему на своем компьютере. Нужно отметить, что в дистрибутив Linux с самого начала входили программные продукты GNU. На самом деле, всякий раз, когда говорится ”операционная система Linux”, подразумевается ”ядро Linux и утилиты GNU”. Фонд свободного ПО даже рекомендует называть это операционной системой GNU/Linux.
Однако скопировать все нужные программы на жесткий диск еще недостаточно, чтобы получить подходящую для нужд пользователя операционную среду (пусть даже это очень профессиональный пользователь).
Поэтому первые наборы дискет можно только условно назвать дистрибутивами. Чтобы получить работающую операционную систему, требуются специальные средства установки и настройки программного обеспечения. Именно наличие таких средств и отличает современные дистрибутивы Linux. Другая важнейшая задача дистрибутива – регулярное обновление. Программное обеспечение, особенно свободное, – одна из самых быстро развивающихся областей, поэтому мало один раз установить Linux, нужно еще регулярно обновлять его. Первым дистрибутивом в современном понимании, получившим широкое распространение, стал Slackware, созданный Патриком Фолькердингом (кстати, этот дистрибутив сохранился и до наших дней). Он был широко известен пользователям Linux уже к 1994 году.
Несмотря на то, что с появлением первых дистрибутивов установка Linux уже не требует самостоятельной компиляции всех программ из исходных текстов, использование Linux оставалось уделом разработчиков: пользователь этой операционной системы в тот период ее развития мог заниматься почти исключительно программированием. По крайней мере, чтобы решать в ней другие повседневные прикладные задачи (например, чтение электронной почты, написание статей и т. п.), он должен был сначала некоторое время позаниматься программированием и даже разработкой самой системы Linux, чтобы создать для себя соответствующие прикладные программы или заставить их работать в Linux.
Однако разработчики – тоже люди, которые пишут и электронные письма, и статьи, и даже рисуют картинки. Все программное обеспечение для Linux было открытым, поэтому вскоре стало появляться все больше прикладных программ для Linux, которые использовались все более широким сообществом, отчего программы становились надежнее и получали все новую функциональность. В конце концов возникает идея, что из Linux и GNU-приложений для Linux целенаправленными усилиями небольшой группы разработчиков можно делать целостные операционные системы, подходящие для очень широкого круга пользователей, и продавать эти системы пользователям за деньги как аналог и альтернативу существующим коммерческим операционным системам.
Выгода операционной системы, целиком состоящей из свободного программного обеспечения, очевидна – собирающие эту систему не должны никому платить за входящие в нее программы. Более того, дальнейшая разработка и обновление имеющихся программ ведется сообществом разработчиков также совершенно бесплатно не нужно платить сотрудникам, которые занимались бы этим. В итоге затраты фирмы, собирающей дистрибутив Linux для пользователя, ограничиваются оплатой программистов, интегрирующих разрозненные приложения в систему и пишущих программы для стандартизации процедур установки и настройки системы, чтобы облегчить эти задачи неподготовленному пользователю, а также затратами на само издание полученного дистрибутива. Для конечного покупателя это означает принципиальное снижение цены на операционную систему.
Первой успешной компанией, работающей по такой схеме, стала RedHat, появившаяся в 1995 году. RedHat адресовала свои разработки не только профессиональным программистам, но и обычным пользователям и системным администраторам, для которых компьютер – в первую очередь офисное рабочее место или рабочий сервер. Ориентируясь на уже существующие на рынке предложения для такого класса пользователей, специалисты RedHat всегда уделяли большое внимание разработке приложений с графическим интерфейсом для выполнения типичных задач по настройке и администрированию системы. Бизнес RedHat развивался довольно успешно, в 1999 году эта компания акционировалась – сразу после выпуска акции росли в цене очень энергично, однако потом ажиотаж схлынул. В настоящее время доля RedHat на рынке серверов и рабочих станций Linux очень велика. Благодаря RedHat в сообществе пользователей Linux широкое распространение получил формат пакетов RPM.
Практически одновременно с RedHat появился проект Debian. Его задача была примерно той же – создать целостный дистрибутив Linux и свободного программного обеспечения GNU 1), однако этот проект был задуман как принципиально некоммерческий, проводимый в жизнь сообществом разработчиков, нормы взаимодействия в котором полностью соответствовали бы идеалам свободного ПО. Сообщество разработчиков Debian – международное, участники которого взаимодействуют через Internet, а нормы взаимодействия между ними определяются специальными документами – полиси (policy).
Сообщество разработчиков не извлекает никакой прибыли от продажи Debian – его версии распространяются свободно, доступны в Internet, могут распространяться и на твердых носителях (CD, DVD), но и в этом случае их цена редко сильно превышает стоимость носителя и наценку, окупающую затраты на издание. Первоначально разработка Debian спонсировалась Фондом свободного программного обеспечения. Адресатами дистрибутивов Debian всегда в первую очередь были профессиональные пользователи, так или иначе связанные с академической разработкой программного обеспечения, которые готовы читать документацию и собственноручно организовать нужный профиль системы. Ориентация на такую аудиторию предопределила некоторые тенденции развития Debian: в нем никогда не было обилия ”простых” графических средств настройки среды, всевозможных мастеров, однако всегда уделялось много внимания средствам последовательной и единообразной интеграции программного обеспечения в единую систему. Именно в Debian появился менеджер пакетов (APT). В настоящее время Debian – самый популярный дистрибутив Linux среди профессионалов в области информационных технологий.
Всякий раз, когда свободное программное обеспечение оказывается востребованным, немедленно возникает множество альтернативных решений – так произошло и с дистрибутивами Linux.
После 1995 года возникло (и продолжает возникать) огромное количество коммерческих компаний и свободных сообществ, которые ставят своей задачей подготовку и выпуск дистрибутивов Linux. У каждого из них – свои особенности, своя целевая аудитория, свои приоритеты. К настоящему времени на рынке дистрибутивов выделилось несколько лидеров, которые предлагают более или менее универсальные решения и наиболее широко известны. Помимо уже названных RedHat и Debian следует назвать в ряду дистрибутивов, ориентированных на рядового пользователя, немецкий SuSE и французский Mandrake (сейчас - Mandriva), среди адресованных специалистам – Gentoo.
Но помимо ”крупных” игроков на рынке дистрибутивов есть гораздо большее количество менее распространенных дистрибутивов. Теперь перед пользователем, желающим установить Linux, встает вопрос выбора дистрибутива. Критерии выбора – задачи, которые предполагается решать с помощью Linux, уровень подготовки пользователя, технологии и предстоящие контакты с тем сообществом, которое занимается разработкой дистрибутива.
GNU и Linux | История Linux в России |