Международная конференция разработчиков
и пользователей свободного программного обеспечения

Вячеслав Занько: реаниматор midnight commander

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

Д.К.: Когда ты познакомился с Linux?

Это был 1999 год, я работал на Брестской импортной базе. Там был настоящий IBM-овский мэйнфрэйм, у него было по-моему 32 COM-порта, на них терминалы…И на маинфрейме был Xenix – версия Unix, которую выпускала Microsoft. На Xenix крутилось “самописное” программное обеспечение по учету для складских помещений, реализованное на С. Мне была поставлена задача: перевести это все на платформу PC. Сразу допускать к мэйнфрэйму побоялись: ведь если бы я там что-нибудь грохнул, то встала бы колом вся импортная база. Начальник сказал: “Я тебя на Unix боевой так сразу не пущу, вот тебе Redhat 5.2, разбирайся. Это почти Unix. Разберешься – пущу.”

Диск он мне дал 30 декабря, а 31 декабря стало интересно, что за Redhat такой. Мы как раз тогда начали отмечать… И, вот, знакомясь с Redhat, я случайно грохнул свой тогдашний рабочий Windows со всеми своими наработками – не знал ведь, как там диск разбить правильно. Вот так и началось мое знакомство с Linux. Сначала конечно, отпугнуло, а потом через недельку еще подход сделал, разобрался немного и понеслось-поехало.

Но тогда я Linux только изучал, на уровне команд. И кстати, среди первых обнаруженных программ тогда был mc. Нашёл методом тычка: vc… nc… mc… оппа, панельки! :)

А писать не начал, так как задача была просто изучить UNIX-технологии. И потом на Foxpro для DOS написать аналог ПО, которое выполняло складской учет.

Д.К.: А когда начались собственные попытки что-либо написать под Linux?

Это было на несколько лет позже, где-то в 2003. Есть такая фирма CIS, “Компьютерные информационные системы”, они тогда очень активно работали в банковской сфере, выпускали кассовые аппараты, в основном для обменных пунктов. И в свое время для них я сделал CisLinux – специально “заточенный” Linux под это оборудование. Написал даже драйвер для фискальной ISA-карты.

А потом на определенное время пошел работать на военных, но это особая тема.

Д.К.: Когда и как родилась идея оживить midnight commander?

Это был ноябрь 2008 года, и мне просто надоело для того, чтобы переименовывать файлы, скачивать их с ftp в кодировке cp1251, перекодировать в utf-8, менять название, опять перекодировать в cp1251 и закачивать назад на хостинг. Муторно. Я помнил, что когда-то раньше mc работала перекодировка, решил разобраться…
Исправил, запостил на linux.org.ru – и пошел флейм, как всегда на .LORe: “mc не нужен”, “закопайте”. А кто-то посоветовал: “делай fork”.

К тому времени я уже увидел, что кроме перекодировки проблем в mc очень много. И поехало… Сначала сделал русский форк, mc.redhat-club.org. Потом мы, тогдашние разработчики, нарисовались в официальной рассылке mc, заявили: вот мол, мы тоже есть, хотим участвовать в разработке, и либо вы оживляйте ее , либо мы перехватим на себя. Тогда появился Patrick Winnertz (один из мэйнтэйнеров Debian) – он предложил площадку и домен, midnight-commander.org, на котором мы сейчас обитаем. В оригинальном mc на savannah.gnu.org сейчас и баг-трекер закрыт, и cvs вроде бы неактивен… Но мы до сих пор не являемся официальными разработчиками.

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

Руководитель основного mc не отзывается, а в их рассылке есть ответ от одного из старых разработчиков – предложение пересмотреть свои патчи, взять за основу mc из cvs и заново применять патчи по одному, чтобы старая гвардия могла решить, соглашаться или нет с изменениями. Но у нас уже 800 коммитов за последние 3 месяца — проще застрелиться.

Д.К.: Да уж, в такой ситуации гораздо проще иметь два mc… И можно предугадать, чем все закончится.

Осталась около 100 незакрытых багов, планируем сделать mc версии 4.7, но всю сотню в ней закрывать не будем, а то это очень долго не закончится…. Решили, что если не будет принято решение на момент готовности релиза, мы просто к названию mc добавляем “+”.

Д.К.: Как формировалась команда?

Когда я открыл сайт mc.redhat-club.org, сначала появились люди с пожеланиями, а потом появились и патчи… И я стал предлагать некоторым участвовать, чтобы не я принимал их патчи, а они сами.

Это была первая волна команды, но сейчас она уже полностью обновилась. Когда нам предлагался Патриком хостинг, то от него поступило и предложение сменить репозиторий, перейти с svn на git. Старые разработчики не захотели осваивать git, а для меня этот проект был уже чем-то личным. И я все-таки освоил git в достаточной степени, чтобы в нём работать.

Потом появились новые разработчики после письма в списке рассылки о наборе участников. Сейчас у нас пятеро активных разработчиков, и все русскоязычные – трое из Беларуси, двое из России. Это Андрей Бородин (andrew_b, Россия), Илья Маслаков (il.smind, Россия), Михаил Поболовец (styx, Беларусь), Сергей Трофимович (slyfox, Беларусь). Патрик исполняет больше административные функции — сопровождает сайт.

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

Д.К.: Количество опций растет?

Есть планы переделать сам конфиг в стиле firefox — редактирование переменного списка опций. Запланировано много, запланированы еще и плагины… Но до этого еще очень много работы.

Д.К.: А как распределяются роли в команде?

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

Д.К.: А остальные?

Все равноправны. Каждый что-то смотрит, пересматривает чужой код, что-то предлагает. У нас демократия.

Д.К.: Знаю, что у тебя есть еще один собственный проект fnt, по реорганизации протоколов сети FIDO?

Да. Телефонные линии, модемы – это все ведь очень устарело. В основу предполагается положить использование протокола XMPP (Jabber) – это сразу дает возможность использовать vcard, т.е. информацию о пользователе, аватары. Удобства современных интернет-технологий объединяются с преимуществами сети fido – когда есть четкая иерархия и нарушителя можно легко вычислить и отключить – вплоть до узла и так далее… И децентрализация, отвязка от конкретного сервера.

Но с этим проектом очень много работы — переплетаются много различных технологий, та же SASL-авторизация, TLS, xmpp, работа с базами данных. А еще – взаимодействие со стандартными ftn-технологиями, которых тоже достаточно много. Поэтому практическое воплощение пока еще очень неблизко.

Д.К.: Каковы с твоей точки зрения востребованность и перспективы свободного ПО в Беларуси в непрограммистском секторе?

В непрограммистском секторе народу абсолютно все равно, что там у него в компьютере крутится. Человек, который раньше с компьютером не работал, с равным успехом садится что за Windows, что за Linux, и начинает осваивать с примерно такими же трудностями и порогами вхождения. А какие-то конкретные перспективы абсолютно неясны, так как люди покупают компьютер как DVD-плеер домой — просто пользоваться.

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

В 2005 году на LVEE у меня был доклад по переводу на Linux Брестского областного ЖКХ. Сейчас там около 80 компьютеров (в два раза больше, чем было), из них около 5 под управлением Windows. Как сказал сисадмин областного ЖКХ – это специальная “песочница” для вирусов :)

Д.К.: Приходится им чем-то помогать с сопровождением?

Нет. Два сервера, работающие на горячую замену, общее сетевое хранилище, клиентские бездисковые станции… Все просто.

Д.К.: Какие доводы в пользу внедрения свободного ПО обычно действуют на начальство?

Цена, конечно же. Цена и все-таки то, что у Linux и Unix есть определенная репутация по части стабильности. Возьмем любого простого пользователя: если он что-то и слышал про Linux – то в первую очередь, что там нет вирусов.

Д.К.: Насколько часто белорусские фирмы склонны платить за лицензии на ПО?

По ситуации трехгодичной давности – не сказал бы, что сильно склонны. Но сейчас кое-что меняется. Смотрят на Россию, на Украину, на то что у нас есть закон, хотя он пока не применяется… Но за лицензии платят в основном небольшие конторы. Те, у которых, скажем, под 200 рабочих станций – им просто страшно думать, что надо за все платить. Именно поэтому я думаю, что наибольшие перспективы у свободного ПО в секторе юридических лиц, которые считают свои деньги. А домашние пользователи пока будут пользоваться контрафактом.

Беседовал Дмитрий Костюк

Сетевые решения 2009