Оригинальная статья вышла в журнале «mozillaZine»; ниже публикуется её перевод. Распространение статьи приветствуется.
О положении союза SeaMonkey
Приветствуем всех, кто пользуется набором программ SeaMonkey и поддерживает его.
Самое важное: проект SeaMonkey жив, и мы не планируем прекращать его развитие и поддержку. Но, если мы хотим и впредь выпускать лучший и единственный «комбайн» на платформе Mozilla Gecko, нам понадобится ваша помощь.
Для начала — о текущем состоянии дел
SeaMonkey версии 2.46 была выпущена в конце декабря после многомесячной борьбы с проблемами инфраструктуры и сборки. Хотя мы по-прежнему используем инфраструктуру проекта Mozilla, можно считать, что мы находимся в свободном плавании. Вскоре мы планируем выпустить окончательную версию 2.48, основанную на коде Firefox 51. Да, мы делаем это с опозданием из-за проблем инфраструктуры и сборки, но уже хотя бы не так поздно, как это было с версией 2.46. Необходимость основываться на коде Firefox 51 означает, что исправления, касающиеся безопасности, будут вновь устаревшими по сравнению с текущим состоянием проекта Firefox. Поверьте, мы тоже от этого не в восторге.
Проект SeaMonkey развивается лишь усилиями энтузиастов, работающих над ним в своё свободное время. Те, кто составляет ядро команды (досчитайте до 7), преданы своему делу, но, с учётом огромного количества изменений в коде, постепенно становятся перегружены.
Вышесказанное означает, что проблемы не исправляются настолько быстро, насколько нам бы этого хотелось. От того, что Mozilla всё в большей и большей степени пускает на самотёк стареющую инфраструктуру (поскольку процесс сборки Firefox перемещается в «облако»), выпуск новых бинарных сборок SeaMonkey отнюдь не становится легче. Это также означает, что, если хотя бы один из ключевых членов проекта SeaMonkey отойдёт от дел, надо всем проектом нависнет угроза стать просто мёртвой грудой неподдерживаемого кода, что ещё хуже.
Кроме того, постоянно навёрстывать отставание от Firefox — это, мягко говоря, трудно. Mozilla планирует прекратить поддержку классических модулей расширения и тем оформления с выходом версии Firefox 57, которая уже не за горами. XUL, одна из ключевых технологий под капотом SeaMonkey, тоже скоро пойдёт под нож — её поддержка будет прекращена в ближайшем будущем. Базирующиеся на современных web-стандартах технологии, призванные заполнить получившийся вакуум, являются незрелыми и до сих пор находятся в активной разработке. В сухом остатке мы имеем то, что, по-видимому, потребуется почти полностью, с нуля, переписать текущую программу. Если бы не наши друзья из проекта Thunderbird, нам бы пришлось ещё хуже.
Хорошая новость состоит в том, что в финансовом отношении мы чувствуем себя слегка лучше, чем год назад. DuckDuckGo отныне является для SeaMonkey поисковой машиной по умолчанию. Каждый раз, когда для поиска в SeaMonkey вы используете именно эту машину, проект получает финансовую помощь. Маленькое отступление для любителей конспирологических теорий :) Отсутствие простого и удобного способа изменить поисковую машину по умолчанию в версии 2.46 — это известная проблема, путь обхода которой был задокументирован в Примечаниях к выпуску (Release Notes) с самого начала. В настоящее время проблема уже исправлена.
Что входит в наши планы
После выхода версии 2.48 мы переключимся на код Firefox 52 ESR для версий ветки 2.49.x. Это значит, что кодовая база будет более или менее заморожена в течение нескольких циклов выпуска, и в новые версии будут включаться лишь исправления и обновления, касающиеся безопасности.
Проблему с инфраструктурой мы уже не раз обсуждали. Хоть она и является критической, у нас пока нет окончательного плана её решения (в т. ч. в силу недостатка в рабочих руках). В этом смысле проект Thunderbird находится с нами в одной лодке, и мы надеемся придумать что-нибудь вместе. В случае наихудшего исхода мы можем попросить члена нашей команды, Adrian Kalla, заняться выпуском наших официальных бинарных сборок. Такое решение обсуждалось и ранее, но до сих пор не было принято в качестве окончательного, так как в этом случае мы потеряли бы возможность автоматически отправлять диагностическую информацию (crash symbols) на сервера Mozilla в случае сбоев.
Переключение на ветку ESR даёт нам возможность работать над исправлением проблем в текущем дереве исходного кода в течение чуть большего времени, не опасаясь при этом, что неисправленные проблемы попадут в релиз. В любом случае, мы должны будем оперативно исправлять проблемы до следующего релиза в ESR-ветке.
Наиболее критической проблемой является добавление в одной из следующих версий поддержки технологии WebExtensions. Совершенно неясно, насколько долго мы будем в состоянии поддерживать классические модули расширения.
В природе существует уже много «форков» платформы Gecko. У нас нет планов по переходу на один из них в качестве основы SeaMonkey. Мы полагаем, что у каждого из этих проектов не хватает собственных разработчиков, чтобы «переварить» изменения в кодовой базе, планируемые проектом Mozilla. Web-технологии, в свою очередь, тоже постоянно эволюционируют, и мы опасаемся, что у других проектов не хватит пороху, чтобы выжить в этой гонке.
Кроме того, мы не планируем самостоятельно поддерживать устаревшие технологии наподобие классических модулей расширения или NPAPI. Мы будем прилагать все усилия, настолько долго, насколько возможно. Но как только их поддержка будет удалена из основного дерева исходного кода, мы ничего не сможем сделать. У нас слишком мало разработчиков, чтобы поддерживать собственный «форк».
Справедливость вышесказанного может измениться в зависимости от того, насколько успешным будет проект Mozilla в будущем.
Чего нам не хватает
Создание собственной инфраструктуры, потенциально в содружестве с проектом Thunderbird, будет стоить денег. Если вы чувствуете, что можете помочь проекту таким образом, пожалуйста, рассмотрите возможность сделать пожертвование: https://www.seamonkey-project.org/donate/.
Но в гораздо большей степени нам не хватает людей. Даже если вы не являетесь разработчиком, вы всё равно можете помочь. Например, написание статьи наподобие этой занимает определённое время. Аналогично, для поддержки веб-сайта, увы, недостаточно день-деньской просто на него таращиться.
Поэтому, если хотите помочь, вы можете применить свои навыки в одной из следующих областей:
- Разработка. Большая часть кода — это смесь JavaScript либо XML/CSS с одной стороны, C++ с другой и технологий Mozilla наподобие XUL. В коде SeaMonkey в настоящее время не так уж много HTML, но, возможно, нам придётся это изменить. Окружение для сборки в хвост и в гриву использует Python.
- Графический дизайн. Пиктограммы срочно нуждаются в «подтяжке лица» для экранов с разрешением HiDPI. В проекте Mozilla есть планы перейти на формат SVG, что подразумевает массовое преобразование существующих растровых изображений. С учётом того, что пользователи SeaMonkey в своей массе — это «олдфаги», любое изменение пользовательского интерфейса — задача не из лёгких.
- Веб-сайт. Некоторые разделы безнадёжно устарели, и, опять же, кто-то должен писать примечания к каждому новому выпуску.
- Поиск и сортировка ошибок. Мы бы не отказались, если бы ещё несколько человек занялись разбором отчётов об ошибках, воспроизведением проблем и их классификацией в Bugzilla. Хотя мы и пытаемся взять ситуацию под контроль, нам особенно не хватает таких людей в сфере ошибок на платформе macOS. Создание длиннющих обсуждений в новостных группах — это прекрасно, но, если никто не оформит проблему в Bugzilla, в конечном счёте она так и останется неисправленной.
- Всё остальное, о чём мы не упомянули. Если мы что-либо забыли, вы всё равно можете развивать SeaMonkey в интересующем вас направлении. Просто задумайтесь на минутку — и сообщите нам.
В качестве заключения — вряд ли SeaMonkey завоюет рынок браузеров в обозримом будущем. SeaMonkey — это нишевый продукт и таковым и останется. Слишком многим людям уже не интересен классический «комбайн», к тому же, большинство пользователей склонны использовать «хипстерские» решения. Мы не пытаемся изменить это равновесие. Каждому своё.
Мы надеемся, что SeaMonkey и впредь будет отвечать нуждам опытных пользователей вроде нас самих, а также всех тех, кому нужно «другое» решение — гибкое и не пытающееся изобрести новый велосипед с выходом каждой новой версии. Мы пытаемся прислушиваться к советам/требованиям/предложениям, исходящим от вас, наших пользователей. Конечно, мы вряд ли сможем реализовать всё, что хочется, и ещё чёрта в ступе в придачу. Но мы верим, что сможем добиться хотя бы чего-то, и при этом не отстать безнадёжно от жизни. Решать — вам.
Если вы хотите помочь проекту, отправьте нам (Совету SeaMonkey) письмо (seamonkey-council at mozilla dot org), попросите руководства к действию в официальных группах технической поддержки, либо же просто начните работу над вашим любимым неназначенным багом из Bugzilla.
Мы ждём ваших откликов.
Совет SeaMonkey.