2005 г
Выполняю свое обещание - несколько сгладить мрачно апокалиптическую картину, нарисованную мною в прошлой заметке, относительно перспектив коммерческого использования свободного софта. Но для этого нам придется вернуться к тому, кому и зачем нужен Linux (буду говорить так для краткости, но на самом деле все сказанное относится и к FreeBSD, а частично - и к другим BSD-системам).
Однажды на одном из форумов я затеял опрос - для чего пользователи переходят на Linux и прочие свободные ОС POSIX-семейства. И, как и ожидалось, смысл большей части ответов можно резюмировать так: чтобы получить надежную и устойчивую систему, идеально заточенную под конкретные задачи данного пользователя.
Другое дело - что задачи у всех бывают разные. Большинство обращается к Linux сотоварищи или для разработки софта, или для администрирования. Или - для того, чтобы в домашних условиях учиться тому или другому занятию. Некоторые авторы полагают, что только для этих целей свободные POSIX-системы и пригодны. Но при этом забывают еще об одной категории, самой многочисленной - так называемых простых пользователях. А у них задачи - еще более разнообразны. Для кого-то компьютер - это гейм-станция, для иного - музыкальный центр. А некоторые, как это ни странно, выполняют на компьютере свою непосредственную работу. Обычно никак с компьютерами не связанную. И если перспективы Linux в области игр или мультимедиа не вполне ясны, то как рабочий инструмент для очень многих и многих он оказывается оптимальным.
Будучи, наверное, одним из первых в истории Руси простых (то есть профессионально не связанных ни с разработкой, ни с администрированием) пользователей, целиком перешедших на Open Source, не могу отказать себе в удовольствии поделиться собственными впечатлениями. Так вот, для меня Linux, а потом и FreeBSD, оказались идеальной средой для работы с текстами - не исходными, а обычными, написанными по преимуществу на русском языке. Средой для сочинения текстов новых, их оформления и распространения. А главное - для обработки и использования сочиненного ранее - а за свою жизнь насочинял я немало.
Не гордыни ради, а токмо представления масштабов для: около ста статей, полторы монографии, отчетов и проектов разного рода - несть числа, и это - только по геологии; а уж околокомпьютерных сочинений сколько - уже и не упомню. Так вот, лишь в средствах шелла и сопутствующих утилитах нашел я методы эффективной борьбы со всем этим изобилием - нахождения нужных текстов, извлечения из них фрагментов, компиляции или, напротив, расчленения, и так далее.
И такие задачи возникают перед многими. В годы, предшествовавшие приобщению к POSIX'ивизму (и превращению в чукчу-писателя), одним из источников средств к существованию для меня было эникейство в индивидуальном порядке. И практически все мои клиенты приобретали компьютеры с одной целью - выполнять дома ту работу, ради которой ранее им приходилось ходить на службу (а возможность слушать музыку или там в игрушки поиграть - рассматривалась в качестве необязательной опции).
А были среди них люди самых разных профессий - научные работники и переводчики, редакторы и бухгалтера, даже одна поэтесса и одна певица, сочинявшая собственные аранжировки (или как это называется - именно в этом случае я, увы, оказался совершенно некомпетентен). И, конечно, требования к компьютеру (вернее, наличному на нем софту) у них были разные. Но задача обработки текстов (а для финансовой сферы - еще и цифр) стояла перед всеми.
Так вот, практически для всех для них (кроме певицы, вероятно) Linux был бы ничуть не худшим решением, нежели DOS/Windows, а для некоторых - просто лучшим (особенно если бы за софт пришлось платить всамделишние деньги). При одном условии - если бы кто-нибудь его им поставил и заточил адекватно задачам - ведь задачи же, как мы уже выяснили, были разными.
И тут впору вспомнить, что любой дистрибутив Linux или BSD-системы представляет собой лишь полуфабрикат готовой индивидуальной системы для практического использования. И любой из них может быть превращен в закаленное и отточенное орудие для выполнения данной задачи, имеющее все необходимые функции - и ни одной лишней. Другое дело, что с FreeBSD на это затрачивается часик-другой, с Source Based Linux (типа Gentoo или Archlinux) придется повозиться сутки. А с пакетными дистрибутивами результата не будет, пока не оставишь от них камня на камне (или - rpm'а на rpm'е:-)).
Реально ли это? Мой личный опыт (уже не эникейщика, а POSIX'ивиста) показывает - более чем. Может ли это выполнить каждый отдельно взятый пользователь (не имеющий, напомню, специального образования и специфических навыков) на отдельно стоящем персональном компьютере? Теоретически - ну конечно же, может. Для этого только что и нужно, как прочитать несколько толстых книжек по Linux и, особенно, Unix (скажем, "Секреты UNIX" Джеймса Армстронга, объемом в какие-нибудь тысячу с небольшим страниц), пару сотенок мануальников и HOW-TO'ёв (с побочной пользой - практикой в английском:-)), научиться сочинять простенькие шелл-скрипты и макросы для текстового редактора, ну и освоить еще несколько мелких дел.
Правда, возникает вопрос - а когда этот пользователь будет заниматься своей непосредственной работой? Ну, это - его личное дело ("Меньше спите. Или больше работайте" - как сказал персонаж из "Территории" Олега Куваева). Главная загвоздка тут в другом: в один далеко не прекрасный день такой пользователь с ужасом обнаруживает, что копаться в конфигах или разбираться с опциями компилятора для него стало интереснее, чем переводить контракты, подводить квартальные балансы или даже вычислять P/T-условия выплавления базальтовых магм.
И в этот миг на свете станет еще одним переводчиком, бухгалтером, геологом меньше - и одним POSIX'ивистом больше. Что, конечно, прекрасно - да вот только если так пойдет дело - кто же будет хотя бы начислять им зарплату? Да и за что - ведь вся их деятельность превратится в процесс обеспечения самих себя новыми задачами по настройке и совершенствованию собственной системы...
И вот тут наступает Час POSIX'ивиста. Именно его может позвать наш бухгалтер/переводчик/геолог для оборудования своего рабочего места. Которое будет включать в себя не просто установку системы, а полный комплекс по ее обработке (рашпилем там, или алмазным надфилем - это уже зависит от задач и субстрата, сиречь исходного дистрибутива, - но к этому мы еще вернемся). Причем в той степени, какая потребуется, чтобы избавить пользователя от необходимости приобретать хоть какие-то знания о внутреннем устройстве системы.
Возникает вопрос - а можно ли это выполнить в рамках UNIX-подобной системы? Ведь традиционно считается, что пользователь Linux должен читать горы мануальников, разбираться в правах доступа и т.д. (см. перечисленное выше). Отвечаю: именно в POSIX-системе такое возможно. Потому что обычно индивидуальный пользователь ее - не просто пользователь, но и сам себе админ. То есть он вынужден устанавливать и настраивать систему, устанавливать и обновлять прикладной софт, и так далее.
Здесь же речь идет о создании некоего комплекса, того, что именовалось на заре советской компьютеризации Автоматизированным Рабочим Местом - АРМом бухгалтера, переводчика, геолога. То есть - монофункциональной системы с сознательно урезанными до необходимого уровня возможностями. Пользователь такой системы не должен в сущности даже иметь root-аккаунта: все, что от него требуется - это уметь включить питание, элементарным нажатием двух-трех клавиш запустить пару-тройку (или пару-тройку десятков - сколько требуется для выполнения произваодственной задачи) приложений или утилит с требуемыми опциями (а создание скриптов, обеспечивающих такую возможность - одна из задач нашего POSIX'ивиста) и выйти с сохранением данных и корректным завершением сеанса; например, по нажатию сакраментальной комбинации из трех пальцев, а уж о корректности всего остального должен позаботиться POSIX'ивист.
И устанавливать программы такому пользователю не придется. Весь комплекс необходимого для его задач софта будет установлен единовременно. Обновления? А нужны ли они, если комплекс этот будет тщательно продуман изначально, подогнан как под задачи, так и под железо? Ведь классические программы в стиле Unix way меняются мало (в смысле качества - давно уже лучше некуда, а в смысле функциональности - в том-то и суть Unix way, чтобы не прикручивать к утилите find функции заварки кофе). По настоящему (не удовлетворения любопытства для) необходимость в обновлениях связана а) с обеспечением безопасности и б) появлением нового оборудования, не поддерживаемого софтом. Но в данном случае ни то, ни другое не актуально: root'овых прав у пользователя нет вообще, а оборудование в таком АРМе не меняется до полной физической амортизации.
А, вообще говоря, все описанное в предыдущих абзацах, - не более чем изобретение велосипеда. Именно по такой схеме начиналась всеобщая PC'фикация все страны (тогда еще - Советов). То есть: IBM PC/XT с "черным" DOS'ом (необходимости в NC "по делу" - не возникает) и программой бухучета (или там учета кадров), запускаемой batch-файлом, вызываемым нажатием Any Key:-). Правда, реализация этого, как правило, оставляла желать лучшего, но речь сейчас - об идее. И представьте, как это может быть реализовано на базе современного "железа" - раз, и с полной возможностью лишить пользователя возможности (пардон за тавтологию) совершить потенциально опасное действие в принципе - два.
Конечно, возникает вопрос. Создание такой системы (при качестве реализации выше среднего уровня) - весьма кропотливая работа. Ее, в сущности, можно сравнить с ружьем штучного разбора (да еще и с ручной высокохудожественной гравировкой). И много ли заработает наш POSIX'ивист-индивидуал на столь же индивидуальных пользователях?
Скорее всего, не очень. Потому что вопрос этот адресован не ко мне. И упирается в повышение материального благосостояния советского (пардон, российского) гражданина - а тут уже Unix way бессилен. Однако...
Однако все сказанное относится не только к обеспечению трудящегося-индивидуала. А имеет силу и для любого трудового коллектива - будь то частная фирма или госпредприятие. И даже, я бы сказал, большую силу. Потому что функционально ограниченные АРМы (на которых, в частности, невозможно резаться в tetris или linе, смотреть порнографию по Сети и заниматься прочими увлекательными занятиями в рабочее время) востребованы скорее в служебной, нежели домашней, обстановке. А тут уже:
- совершенно другие масштабы - это понятно;
- соврешенно другие объемы кропотливой ручной работы - ведь АРМы для ста банковских операционисток, выполняющих одинаковую работу, будут практически идентичными, и достаточно отрихтовать руками один экземпляр - а дальше просто тиражировать его;
- совершенно иные условия работы - ведь все эти сто АРМов можно единовременно инсталлировать по локалке;
- и, как следствие совершенно иные соотношения трудозатрат/трудоооплат.
Впрочем, для последних более существенна проблема спроса - есть ли он? Ну, во-первых, отсутствие спроса в настоящее время прямо связано с отсутствием предложения (часто ли в советских магазинах спрашивали черную икру? - спросом не пользовалась...). А во-вторых, даже не смотря на отсутствие предложения, спрос есть (свидетельством чему - Заметки тетки-бухгалтера, опубликованные еще пару-тройку лет назад в онлайновой Компьютерре).
Предвижу возражение и с другого фланга: а не является ли идея таких АРМов профанацией идеи свободного софта? Одним из краеугольных камней которого, как известно, является свобода выбора. В какой-то мере - да, но по сути - нет. Потому что начинающий пользователь свободной POSIX-системы все равно свободы выбора не имеет: он просто в силу отсутствия знаний не в силах выбрать адекватный почтовый клиент или текстовый редактор из того легиона программ, который лежит на полудюжине сидюков любого т.н. user-ориентированного дистрибутива Linux. Свободу эту он получит только тогда, когда изучит их все, то есть превратится в POSIX'ивиста, - но этот вопрос мы уже обсудили, не так ли?
Тем не менее, у него есть свобода выбора другого - заниматься всем этим самому или предоставить это дело тому, кто может это осуществить по уровню знаний и должностной инструкции, то есть тому же нашему POSIX'ивисту. А вот у последнего эта самая свобода выбора сохраняется в полном объеме - и, более того, он имеет не только право, но и реальную возможность ею воспользоваться.
Более того, рискну высказать крамольную с точки зрения абстрактного свободолюбия мысль: существует немало сфер человеческой деятельности, где свобода выбора не только не полезна, но и просто противопоказана. И пример с банковскими операционистками тут далеко не единственный...
Итак, "кратко резюмирую сегодняшний базар". Будущее коммерческого использования свободных POSIX-систем - не в дистрибуции Linux на десктоп каждой секретарши на смену Windows-десктопу, дабы она могла им управлять, как кухарка - государством. А в создании специализированных монофункциональных систем на базе некоего дистрибутива общего назначения.
Я хотел еще тут поговорить о том, каким должен быть дистрибутив, выбираемый в качестве базы для наших гипотетических АРМов, и какими качествами должен обладать их создатель. Но понял, что эта тема столь широка, многогранна и необъятна, что решил отложить ее до следующего "выхода в эфир".