ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут
- Puppy Linux -
Хороший друг


ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один
- Linux Mint -
С родинкой на щеке!
- CentOS -
Копейка рубль бережёт!
- Fedora -
По следам Red Hat
- Ubuntu Linux -
Мы одной крови!
- Mageia -
Красота и удобства
- openSUSE -
Настоящее немецкое качество
- Slackware -
Линукс из кубиков
- ALT Linux -
Что русскому хорошо





ДЛЯ ДЕЛА: РОЛЛЫ

- ArchLinux -
Гениальное - просто!
- PCLinuxOS -
Просто линукс
- Aptosid -
Почувствуй силу!


ДЛЯ ДЕЛА: СОБЕРИ САМ

- Gentoo -
Каждому своё
- LinuxFromScratch -
Линукс с нуля


ДЛЯ ДЕЛА: ЛЁГКИЕ

- DeLiCate -
Старость в радость!
- SLAX -
Тысяча и один модуль


ЗАЩИТА

- OpenWall -
Не стучите, закрыто!
- Kali -
Вам, хакеры!


ПРИЛОЖЕНИЯ

- Planet CCRMA -
Работа со звуком
- VegaStrike -
Каждому по планете!


ЭКСПЕРИМЕНТ

- коЛинуксы -
Не выходя из Виндоус
- GoboLinux -
Очевидно и вероятно
- ReactOS -
Освободите Виндоус!


РОДНЯ

- BSD-семейство -
На плечах гигантов
- OpenIndiana -
До звёзд рукой подать


АРХИВ (2003-2016)
ФОРУМ




НАШИ ПРОЕКТЫ

MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ
ПИНГВИН В КАРМАНЕ
ЗАКЛАДКИ
СТАТЬИ
КОНТАКТЫ


ПОМОЧЬ






Личный архив ЕЗ

19.02.2007 Служба дни и ночи

Знаете, что больше всего смущает пользователей, только начинающих знакомство с Linux и свободным софтом? Как это свободное программное обеспечение может продаваться. Те, кто уже набил в общении с Линуксом несколько шишек, знают где зарыта собака: лицензия GNU GPL (под которой развивается Linux) не требует безусловно безвозмездной передачи свободных программ, оставляя лазейку для предпринимателей, торгующих записанными на CD копиями. Не надо проклятий - ведь именно эта лазейка позволяет зарабатывать на Линуксе и крупным компаниям, которые вкладывают свои силы, время и миллионы долларов в нашу с вами общую ОС. А получить Линукс бесплатно нынче совсем не сложно, нужно лишь найти ближайших к вам энтузиастов, у которых Linux-дистрибутивы уже есть и которые готовы ими поделиться, к примеру, за скромное вознаграждение в виде баночки пива :-) Известные события в Пермском крае подтолкнули автора этих строк к созданию специального раздела на нашем форуме, в котором вы как раз и сможете поискать своих соседей-линуксоидов [www.knoppix.ru/forum3/viewforum.php?f=20].

А вот на втором месте после сомнительной бесплатности ("свободный" не означает "непременно бесплатный"!) свободного софта стоит такое его странное свойство как извечная экспериментальность. В самом деле, почти каждая программа для Линукса, каждый пакет и уж точно каждый дистрибутив сопровождаются пугающим предупреждением об отказе разработчиков от всякой ответственности и отсутствии гарантий в работоспособности. И действительно, нередко новая версия дистрибутива, который до того работал на ура, виснет на той же самой персоналке ещё на этапе инсталляции. Что это - результат небрежного программирования? Всемирный заговор линуксоидов? Или просто дурная шутка? Как это миллионы энтузиастов за полтора десятка лет не смогли отладить свой инструментарий? Выдохните, расслабьтесь и улыбнитесь: на самом деле всё проще, приятней и даже интересней. Но для того чтобы понять, в чём тут дело, придётся копнуть глубже и вспомнить о крупнейших конкурентах Linux на компьютерном рынке.

Вот так красиво можно представить скучные результаты тестирования Ядра

Глубоко в недрах корпораций Microsoft и Apple Computer трудятся подразделения, для внешнего мира почти незаметные. Дипломированные специалисты, составляющие эти команды, оплачиваются выше среднего по компании, засиживаются за своими персоналками часто от зари до зари, не пропуская ни одного релиза ни единой программы. При этом штат их измеряется тысячами, а значимость результатов труда столь велика, что без одобрения руководителей данных подразделений ни одна программа не будет пущена в тираж. Именуют эти тайные отделы не менее таинственной аббревиатурой QA. Что расшифровывается как Quality Assurance, а на русский переводится как "контроль качества".

В народе за QA-специалистами закрепилось уничижительное прозвище "тестер". Действительно, смысл существования QA-подразделений - в сквозном, доскональном тестировании выпускаемого программного обеспечения. Ведь "сырой" продукт никто не купит (впрочем, купят, конечно, пиарщики свой хлеб тоже не даром едят :-), но в перспективе такой бизнес выйдет себе дороже). Вот и гоняют QA-инженеры пакеты и утилиты, системы и подпрограммы день и ночь, выявляя ошибки, указывая программистам и дизайнерам на грубые места интерфейсов. Но давайте задумаемся, что именно приходится им тестировать? Не будет большим преувеличением утверждать, что операционные системы от Microsoft и Apple работают нынче только на архитектуре x86 (процессоры компаний Intel и AMD), возможно - с включенной поддержкой 64-разрядных команд. А Apple ещё и принудительно ограничивает список периферийных устройств, устанавливаемых в её персоналки. Таким образом тестерам Microsoft и Apple, проверяющим какую-то программу, приходится иметь дело только с одной её версией, скомпилированной для интеловской архитектуры. Но даже с привлечением энтузиастов со стороны, компаниям-гигантам не всегда удаётся "вылизать" свои продукты до блеска. Так не секрет, что Microsoft(r) Windows(tm) 2000 была выпущена с более чем пятьюдесятью тысячами известных багов, около трети из которых считались серьёзными. "Заплатки" для Microsoft Windows XP выпускаются ежедневно. Mac OS X тоже постоянно "чинят". А ведь в этих случаях мы имеем дело только с одной архитектурой и одной, раз и навсегда скомпилированной версией системы!

Исправь баг и продай обновление (Б.Гейтс, "Как заработать миллиард")

Обратимся теперь к Linux, а точнее - к ядру свободной операционной системы. Попробуйте с ходу вспомнить, для какого числа архитектур существует версия линуксового ядра. x86, IA-64 и AMD64, 680x0 и MIPS, ARM и PowerPC, Alpha, Sparc, IBM S/390, множество уникальных архитектур (Nintendo Gamecube, Sony Playstation, устаревшие процессоры). При этом на каждой Linux поддерживает массу периферийных устройств, часто оригинальных, и работает не только на персоналках и серверах, но и электронных часах, наладонниках, смартфонах и коммуникаторах, специализированных сетевых устройствах, игровых приставках, на мейнфреймах, на суперкомпьютерах. И всё это многообразие умещается в одном Ядре. Сегодня Linux перенесена на большее число платформ, нежели любая другая ОС. Определение "грандиозно" недостаточно выразительно для того чтобы в полной мере описать кругозор совсем ещё юного Тукса. Но обратная сторона такой широты интересов - в невозможности гарантировать работоспособность Ядра везде и всегда.

Представьте, что некая команда энтузиастов написала драйвер для нового USB-устройства. Лучшее, что они могли сделать для проверки работоспособности своей программы - прогнать её во всех режимах на имеющемся в наличии оборудовании. После того как грубые ошибки вычищены, драйвер отправляется Эндрю Мортону - второму по важности после Линуса Торвальдса человеку в иерархии Linux, который включает новые драйверы в состав экспериментальной версии Ядра (ядра Мортона имеют в названии приставку -mm). По истечении некоторого времени драйвер попадает в основную ядерную ветку, которой занимается сам Линус, и уже отсюда расходится по всему миру, по миллионам компьютеров. И вот тут-то начинается самое интересное. Большинство линуксоидов компилируют Ядро под собственные нужды, с учётом специфики своей аппаратной конфигурации. Как поведёт себя новый драйвер на вашем компьютере? А на компьютере вашего знакомого? А на сервере вашего провайдера, где установлен процессор иной архитектуры? Глубоко спрятанная ошибка может проявиться внезапно на каких-то особых конфигурациях ядра, при взаимодействии с другими драйверами в необычных ситуациях - и вариантов таких не счесть.

Линус: чистить баги тоже прикольно!

Но почему же не устроить глобальный, один на всю планету QA-центр для тестирования ядра Linux, не воссоздать ту модель, что сравнительно успешно эксплуатируют Microsoft и Apple? Да, действительно, на протяжении последних семи лет такие попытки предпринимались неоднократно, но сегодня даже зарезервированные для них доменные имена свободны. По всей видимости дело в том, что приверженцы Linux - народ очень разношёрстный. У каждого пользователя, каждой группы энтузиастов, каждой компании, принимающей участие в разработке Ядра, свои собственные интересы. Этакий здоровый эгоизм. И проверять сразу всё нет ни сил, ни желания, ни времени.

А теперь - уф! - переведите дух и попробуйте осознать: всё, что вы прочли выше, относится только к линуксовому ядру! Спору нет, Ядро - важнейший компонент операционной системы, но на голом ядре не полетишь. Любая инсталляция Linux включает ещё и сотни системных и прикладных программ, которые - как и полагается в UNIX-совместимой среде - работают, опираясь друг на дружку. Представили? А теперь вообразите, сколь сложна задача протестировать даже один отдельно взятый дистрибутив на все сто процентов, выловить все ошибки. Невозможная задача. Задача без решения.

Суперчеловек Эндрю Мортон вычищает больше багов, чем Линус

Впрочем, я не собираюсь писать эпитафию. Контроль качества в мире Linux конечно же существует, только организован он иначе, нежели для проприетарного софта. Во-первых, за качеством своих свободных программ и дистрибутивов следят многие крупные компании. Их мотивация понятна: выпускаемый дистрибутив должен быть красивым и гладким, чтобы его покупали. Во-вторых, следят за качеством и разработчики независимых дистрибутивов, таких как Debian. Сообщество Дебиан разработало свод правил, которому неукоснительно следует - и так добивается успеха. К примеру, в стабильную версию дистрибутива нельзя включать программу с незакрытым серьёзным багом. В результате получается один из самых качественных дистрибутивов Linux. В-третьих, линуксоиды, которым небезразлично будущее свободной операционной системы, при поддержке таких гигантов как IBM и SGI сумели основать как минимум один могучий проект, в рамках которого разрабатываются тесты и методики тестирования Ядра и прикладных программ. Это Linux Test Project [ltp.sourceforge.net], знакомство с которым - обязательное условие приёма на должность QA-инженера во многих западных компаниях. Кроме того, и в само Ядро постепенно проникают средства, помогающие выявлять ошибки: минувшей осенью, к примеру, японец Akinobu Mita встроил в ядро Linux механизм называемый "впрыском сбоев" (injecting faults). С его помощью можно имитировать сбои периферийных устройств (жёсткого диска, сетевой карты и т.д.), отслеживая как поведёт себя Ядро.

Вот вам три компонента глобального QA-процесса в мире Linux. Но список этот был бы неполон без самой главной движущей силы - нас с вами, рядовых пользователей свободной ОС. Именно нашими, обычных юзеров силами, отслеживается большинство ошибок в Линуксе, и благодаря нашим с вами стараниям они вычищаются. Для того чтобы помочь Линуксу взобраться на следующую ступеньку эволюционной лестницы не нужно быть программистом. Достаточно внимательно следить за теми программами, с которыми вы работаете, и при обнаружении странностей рассказывать о них на форумах и в рассылках. Серьёзный баг повезёт найти не каждому, но если уж таковой обнаружился и ваши коллеги по форуму/рассылке о нём не знают - не поленитесь написать разработчику программы или мэйнтейнеру пакета, возможно заполнить отчёт об ошибке (баг-репорт). За нас этого никто не сделает - и кроме нас этого делать некому. Так за работу, друзья. Включайте свои десктопы и удачных вам поисков!

------------------------------------------------------------------------------------------------------------

Этот текст всегда доступен по адресу Knoppix.ru/190207.shtml


При частичной или полной перепечатке, переводе, переработке материалов сайта ссылка на Knoppix.ru обязательна.
(c) Knoppix.ru 2003 - 2016