Pale Moon: проблемы с подпиской на Firefox


Pale Moon — это браузер, который пытается исправить все, что не так с Firefox. Но, будучи форком Firefox, он приносит с собой некоторые интересные проблемы. Теперь команда Pale Moon рассматривает возможность начать все сначала из-за оттока базы кода Firefox.

У Pale Moon нет большой доли рынка. Однако пользователи, как правило, с энтузиазмом используют его. Это форк Firefox Extended Support Release 24, который кажется разумным выбором для создания другого браузера. Ведь расширенная поддержка предполагает, что ошибки будут исправлены.

Pale Moon сохраняет оригинальный полностью настраиваемый пользовательский интерфейс Firefox и добавляет ряд дополнительных функций для повышения эффективности и безопасности. Его сторонники утверждают, что он пошел по пути, что Firefox должен был упасть, вместо того, чтобы копировать Chrome и игнорировать основные функции.

Форк Firefox не изолирует вас от решений Mozilla. В сообщении на форуме Pale Moon MoonChild, ведущий разработчик проекта, поднял вопрос о том, как развивать MoonChild в будущем, и предлагает, чтобы лучший вариант — начать все сначала.

Проблема в том, что в то время как сообщество Pale Moon добавляло новые функции, сеть двигалась дальше. Разветвленная версия Firefox может иметь расширенную поддержку, но это не означает, что Mozilla возвращается и добавляет такие функции, как ES6, promises и новую поддержку CSS. Кроме того, Mozilla радикально меняет архитектуру Firefox. Простой факт заключается в том, что у Pale Moon нет персонала для внедрения обновлений кода, который они унаследовали.

Вы можете подумать, что код в последней версии Firefox можно использовать для реализации обновления, но, как сообщает MoonChild:

«… код Mozilla был очень нестабильным, не только с точки зрения продукта (хотя это была одна из основных причин, по которым мы сделали форк, когда мы это сделали), но и с точки зрения фактической структуры кода. Это в основном из-за некоторой быстрой изменения, которые начали происходить со многими изменениями рефакторинга после изменений рефакторинга, соображениями e10s и FirefoxOS, которые фундаментально изменили некоторые из базовых структур, не говоря уже об изменениях в стиле кодирования, что делает перенос кода все более сложным (и регулярно невозможным), потому что они основаны (и были разработаны для) измененных базовых структур «.

Он продолжает:

«Код Mozilla стал чрезвычайно сильно зависеть от шаблонов, классов, перегрузки, виртуализации функций и многих, многих функций-заглушек и перенаправлений, чтобы« переложить ответственность »на правильный модуль для обработки вещей, что очень затрудняет работу с базой кода. . »

Существует также небольшой вопрос, что Mozilla перешла на использование Visual Studio 2013, в котором были внесены критические изменения в исходную базу кода, которая использовала VS2012. Проще говоря, Pale Moon не может скомпилировать новый код с помощью своего компилятора и не может скомпилировать свой старый код с помощью нового компилятора.

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

«Этот повторный форк будет сделан на последней стабильной версии кода Mozilla, к которой еще не приложили кувалду, и которая предлагает функции и возможности, которые мы как проект все еще хотели бы (например: Sync 1.1, двоичные компоненты XPCOM в расширениях, XUL, XBL, полная поддержка тем и т. д.) «.

Это все равно будет означать, что Pale Moon может поддерживать множество старых функций Firefox, которые делают его таким привлекательным, но это будет означать, что ему придется заново реализовать все расширения и модификации кода — а это не очень хорошая перспектива. Однако, когда вы думаете об этом с точки зрения резкого выбора между работой над чужим неизвестным недокументированным кодом или переработкой кода, который вы создали и знаете, это не кажется плохой идеей.

Что бы ни решило сообщество Pale Moon, это урок для всех нас, что разветвление кодовой базы из-за того, что вы недовольны направлением исходного продукта, — это не совсем то решение, которым кажется. Как только вы начинаете видоизменять вилку, вы вносите несовместимость с оригиналом и больше не можете использовать в своих интересах прогресс, который он делает. В случае Firefox проблема усугубляется радикальными изменениями в архитектуре, которые внедряются, и высокой скоростью оттока кода. Все это может показаться очевидным, но когда вы разветвляете кодовую базу, которая намного больше, чем может работать ваше сообщество, вы обречены быть оставленными позади.

Проблема в том, что если Pale Moon переконфигурируется, то, скорее всего, то же самое произойдет и через несколько лет.


Добавить комментарий