Практический взгляд на свободный софт.
25.12.06
Последняя редакция: 09.02.09
Здравствуйте. Меня зовут Иванов Аркадий. Я живу на Камчатке и тащусь от красоты, окружающей меня. Сегодня я главный ИТ-специалист Института Космофизичесских Исследований и Распростарнения радиоволн ДВО РАН. В течение 28 лет мне довелось работать с самыми разнообразными компьютерами и программами, с большими коммерческими системами и с научными.
За это время поменялись архитектуры, операционные системы, языки программирования, взгляды на компьютерный мир и я решил немного поделиться наблюдениями, поскольку на том пути, что я прошёл, были находки, потери, ровные дороги и очень глубокие ямы. Мне довелось профессионально поработать с самыми разнообразными компьютерами фирм DEC, IBM и конечно Intel от 286 до 686 всех видов. Разнообразные платформы пришлось применять для внедрения весьма сложных систем (от систем наблюдения за электрическим полем Земли, до банковских баз данных, больших коммерческих сетевых проектов, связанных с обработкой SMS/MMS, систем обработки телевизионных видеопотоков). Все эти системы отличало то, что они должны работать круглосуточно, безоператорно и максимально надёжно. В этих системах я был разработчиком, программистом, сисадмином, электронщиком и т.д.
Из операционных систем, которые были использованы в этих проектах, мне пришлось использовать Xenix-286, Interactive Unix, SCO Unix, BSDi, UnixWare, AIX, FreeBSD, Linux, естественно DOS и весь ряд Windows от 3.1 до XP + сервера от MS (не говоря уж о системах для компьютеров фирмы DEC). Мне пришлось очень много программировать на разных языках (ассемблеры, Fortran, C, Java, SQL, PHP, shell- ы) во всех этих системах и обслуживать их.
За эти годы я пришёл к выводам:
- Сегодня нет ни одной идеальной программно-аппаратной платформы (компьютер + ОС), подходящей для решения любых задач.
- Если вы получили в свои руки дорогой и нужный вам или вашей фирме программный продукт, авторы которого утверждают, что он должен работать на такой-то платформе, то ставьте этот продукт именно на те платформы, которые указали авторы (даже если вы не любите эти ОС или не знаете как их администрировать). Стоимость нормального коммерческого продукта и цена того, что он автоматизирует, во много порядков превышает стоимость аппаратных и программных платформ. Мне приходилось видеть как крутой дорогущий коммерческий софт и месяцы внедрения стоимостью во многие десятки тысяч баксов были списаны в убытки из-за идиотских расчётов системного администратора и нескольких руководителей, которые сэкономили на покупке SQL-сервера и на покупке нескольких планок оперативной памяти для компьютера.
- Если вы только начали разработку и хотите создать что-либо действительно надёжное, держитесь подальше от закрытых программ и ОС. Если вы возьмёте за основу какой-то закрытый продукт, то лишите себя шанса спроектировать систему точно под свои нужды и возможно много сил, денег и времени потратите на изучение глюков и ограничений закрытого продукта. Возможно через некоторое время вы придёте к покупке дорогого закрытого продукта. Но это будет уже сознательный выбор.
- Разогретый мир потребления изо всех сил пытается убедить вас, что вы должны иметь самый современный компьютер, самую последюю версию Windows. Это самая потрясающая ложь в области программирования, которую я вижу уже десятки лет. Word, Excel, Access сегодня запускаются дольше, чем они делали это на 386-м компьютере в 1994-м году, требуют оперативной памяти в 30 раз больше, дисковой памяти в 10 раз больше, процессора в 30 раз шустрее, а функции для подавляющего большинства пользователей у них те же, что и в 1994-м году. Это просто маркетинговая ложь! Не ведитесь, а ищите программные продукты, которые ориентированы на оптимальное использование компьютера, а не на красивые картинки при инсталляции продукта.
- В мире полно качественного свободного ПО. Вы можете оснастить рабочее место с избытком, не покупая программы, где 90% денег вы тратите на ненужные вам функции. Даже если вы вынуждены строить какую-часть системы на программах с закрытыми кодом, в остальной части стоит постараться использовать открытые программы. Совсем простой пример: вы продаёте компьютер заказчику с предустановленной Windows. При этом вам ничто не мешает оснастить его OpenOffice для работы с документами (и пользователю возможно никогда не придётся тратиться на MS Office), VLC для проигрывания DVD-дисков, WinAMP для проигрывания mp3-файлов, архиватором 7Zip вместо WinRAR, и т.д.
- Сегодня сопровождение Windows стало довольно дорогостоящим и хлопотным делом. Посчитайте, например, сколько вы потратите на антивирусные программы в близжайшие 5 лет и сколько своего личного времени вы потратите на на борьбу с вирусами за это время.
- Linux из всех универсальных(годных и для сервера и для рабочей станции) систем на сегодня самая дружественная система, наиболее полная по программному обеспечению, идущему в её составе. И она открыта. И вирусов для Linux за 12 лет, что я работаю с этой системой, я так и не встретил.
Хочу заметить, что в Linux-е вы имеете иногда слишком большой выбор для решения той или иной задачи. Даже MP3-файл вы сможете проиграть в нём как минимум пятью разными программами.
Сам выбор из этого богатства иногда отнимает больше времени, чем планируешь. Некоторые программы недоделаны, некоторые не разговаривают с вами на родном языке.
Но для большинства задач для вас уже кто-то какую-то программу уже давно сделал. Так что вам остаётся просто выбрать ту, которая вас больше всего устроит или доработать то, что ближе всего к решению вашей задачи.
Статьи и заметки в этом разделе будут посвящены в основном Linux и программам с открытым кодом.
Они совершенно не претендуют на полноту, широту взгляда, актуальность.
Я просто хочу поделиться способами, которыми мне удалось решить ту или иную задачу в какой-то конкретный момент.
Некоторые заметки я адресую сам себе, поскольку мне лень через несколько лет заново изучать программу, которую я один раз уже осваивал.
Вы можете свободно использовать материалы данного раздела при условии обязательной ссылки на автора и сайт.