Автор программы — Евгений Рошал. С 18 июня 2000 года разработкой FAR Manager занимается группа FAR Group. Начиная с версии 2.0 программа распространяется под модифицированной лицензией BSD. Предыдущие версии имели проприетарную лицензию, по которой коммерческое использование программы являлось платным.
Программа FAR Manager наследует двухоконную идеологию, стандартную расцветку и управление с клавиатуры у известного файлового менеджера Norton Commander.
26 октября 2007 года — исходный код альфа-версии 1.80 (с поддержкой Юникода и несовместимая с Windows 9x) выпущен под модифицированной (без пункта о рекламе) лицензией BSD[9]. Это первая свободная версия Far Manager.
13 декабря 2008 года — версия юникодного FAR изменена на 2.0[10].
5 февраля 2011 года — версия юникодного FAR изменена на 3.0[11]. Начиная с build 1825, полностью переработан API плагинов. Плагины версии 1.x по-прежнему могут работать в FAR 3.0.
19 марта 2011 года — для хранения всех настроек используется SQLite[11].
30 сентября 2012 года — для макросов используется скриптовый язык Lua.
В Windows 9x программа могла работать как в оконном, так и полноэкранном режиме. Некоторые недостатки интерфейса, схожие с DOS-программами в оконном режиме (невозможность произвольного изменения текстового разрешения окон, проблемы с закрытием при выключении системы), проявлялись в Windows 9x, но отсутствуют в семействе Windows NT.
Особенности реализации
FAR поддерживает работу с файловой системой NTFS, различные кодировки текстов, может использовать системные функции для копирования файлов, имеет многоязычный интерфейс и систему помощи.
FAR Manager был с самого начала ориентирован на платформу Windows, поддерживал длинные имена файлов. Время от времени пользователи высказывали просьбы сделать версии для других платформ (Linux и Mac OS). Разработчики утверждали, что код программы слишком специфичен для Windows, и портирование на другую платформу потребовало бы больших изменений.
С 2016 года существует форк FAR Manager для Linux, FreeBSD и MacOS, который активно развивается[13].
Подключаемые модули (плагины)
Возможности FAR существенно расширяются благодаря плагинам различного назначения:
управление принтерами, как подключёнными к ПК, так и сетевыми;
подсветка синтаксиса в исходных текстах программ;
работа с FTP-серверами (с поддержкой доступа через различные типы прокси, автоматической докачкой и прочее);
Отображение скрытой файловой системы на сотовых телефонах SonyEricsson.
Некоторые важные плагины (например, для работы с FTP, печати, сравнения файлов, работы с архивами, сетью) входят в поставку FAR. Но подавляющее большинство плагинов доступно для скачивания в интернете, пользователь может устанавливать их в соответствии со своими задачами. В настоящее время насчитывается более 700 плагинов для FAR.
Большинство плагинов написано на Си/C++ и Паскале с использованием оригинального FAR API. Существуют и современные альтернативы: FarNet предоставляет API и инструменты для написания .NET-модулей; модуль PowerShellFar реализует поддержку Windows PowerShell и открывает объектную модель FarNet для управления из скриптов или командной строки; модуль LuaFAR предоставляет API для написания скриптов и плагинов на языке Lua.
Portable-версия
Для запуска со сменных носителей (USB-винчестеров, флешек и т. д.) существует так называемая portable-версия, применяемая для работы без инсталляции (как правило, недолгой) для выполнения задач типа переноса данных, поиска, проведения ремонтных работ и т. д.[14][15].
Unicode-версия
26 октября 2007 года был открыт публичный доступ к SVN-репозиторию с Unicode-версией менеджера.
Версия для Linux, macOS и BSD
В рамках проекта far2l разрабатывается порт Far Manager для Linux, macOS и BSD систем. На 20 сентября 2016 года порт запускается и работает, доступна основная функциональность Far Manager как менеджера файлов и архивов. Также портированы и работают плагины FarFTP, Colorer, MultiArc, TmpPanel. По состоянию на ноябрь 2020 года добавлен плагин NetRocks (аналог NetBox, работают протоколы FTP, FISH, SCP, SFTP, SMB, NFS и WebDAV), поддерживается работа в графическом и консольном режимах, портировано не менее 13 плагинов оригинального Far Manager[16]. На январь 2022 года проект перешёл в стадию beta[17], добавлена поддержка скриптов на python[18] и lua[19].
far2l также поддерживает так называемые расширения терминала. Хотя сам FAR2L является TUI-приложением, он может работать с двумя бэкендами: GUI и TTY. Хотя бэкэнд TTY может работать в любом терминале (например, xterm), он также может работать и внутри встроенного терминала GUI-версии far2l, приобретая возможности, недоступные на «обычных» терминалах (например, распознавание всех возможных комбинаций клавиш клавиатуры с поддержкой не только событий нажатия, но и событий отпускания клавиш). Также GUI-far2l может обеспечивать доступ к общему буферу обмена и уведомлениям на рабочем столе. Эти расширения можно использовать, запустив TTY far2l внутри сеанса ssh-клиента, открытого в GUI-far2l (или используя протоколы SFTP/SCP в NetRocks для удаленного запуска far2l с помощью функции «выполнить удаленную команду»)[16][20].
far2l доступен в Ubuntu Linux, начиная с версии 24.04. Его можно установить командой sudo apt install far2l[21].
Лицензия
В версиях до 1.75.2629 FAR распространялся как shareware (некоторые функции работали только после прохождения платной регистрации), при этом существовала бесплатная так называемая «xUSSR-регистрация» для жителей России и других стран бывшего Советского Союза. В ней в качестве пароля для регистрации требовалось ввести русскими буквами название текущего дня недели. Такая регистрация позволяла использовать версии FAR по 1.61 включительно полностью бесплатно[22], в более поздних версиях требовалась платная регистрация для коммерческого использования.
Начиная с версии 1.75.2629, FAR не требует регистрации и распространяется бесплатно под модифицированной лицензией BSD[23]. В связи с этим, начиная с 18 мая 2010 года, компания RARLabs прекратила продажу Far Manager[24].
Версии 1.8.х, 2.x и 3.x, имеющие поддержку юникода, распространяются бесплатно и с открытым исходным кодом под модифицированной лицензией BSD[25].