A look at Firefox forks [LWN.net]


Ignore previous instructions; subscribe to LWN today

Every article on LWN.net is written by humans, for humans. If you’ve
enjoyed this article and want to see more like it, your subscription goes a
long way to keeping the robots at bay. We are offering a free one-month trial subscription (no credit card required) to get you started.

By Joe Brockmeier
March 4, 2025

Mozilla’s actions have been rubbing many Firefox fans the
wrong way as of late, and inspiring them to look for alternatives.
There are many choices for users who are looking for a browser that
isn’t part of the Chrome monoculture but is full-featured and suitable
for day-to-day use. For those who are willing to stay in the Firefox
“family” there are a number of good options that have taken vastly
different approaches. This includes GNU IceCat, Floorp, LibreWolf, and Zen.

How we got here

Mozilla has been disappointing a lot of Firefox users for years,
but it seems the pace is accelerating. Its announcement on
February 19 that it needs to “diversify” beyond Firefox did not
inspire confidence, and it annoyed many who would like to see Mozilla
go all-in on its flagship browser (and increase its market share)
rather than chasing AI or dabbling in advertising. But a recent and
more alarming example is its introduction of terms of use for the
browser and the removal of its pledge not to sell users’ personal
data. Though it has backpedaled
somewhat
since, and rewritten its terms of use, the damage has been
done.

Firefox forking is hardly a new phenomenon. Debian began
maintaining forks of Mozilla applications with minimal changes but
different names due to conflicts between the Debian Free
Software Guidelines
and Mozilla’s trademark-usage
policy
. (LWN covered this in 2005.) The
era of Iceweasel,
Debian’s brand name for Firefox, came to an end in 2016. Note that the name Iceweasel is not merely a play on the name
“Firefox”; its origin is one of Matt Groening’s Life in Hell
comic strips (here),
which contained a fictional
quote
attributed to Friedrich Nietzsche.

Love is a snowmobile racing across the tundra and then suddenly it
flips over, pinning you underneath. At night, the ice weasels come.

The GNU project also adopted the name IceWeasel for the GNUzilla
project—basically Mozilla source code with any non-free
code
, such as the Adobe Flash
Player
, stripped out. In 2007, Karl Berry announced
that GNUzilla would be adopting the name IceCat for its version
not because we have anything against weasels” but to avoid
confusion with Debian’s version.

GNU IceCat

IceCat has the distinction of being the oldest Firefox fork still
in development. Ray Dryden applied
for GNUzilla to become part of the GNU Project in August 2005,
and test releases based on Firefox 1.5.0 were available later
that year. IceCat, as with all of the forks covered in this article,
is available under the Mozilla Public License (MPL) 2.0. However, the
scripts and other tools used to create an IceCat release from Firefox
are licensed under the GPLv3.

GNUzilla does not distribute binaries of IceCat. The project
recommends using GNU Guix to
install IceCat on x86_64 Linux systems, and also makes its scripts
available in its Git repository to
compile IceCat from Firefox’s extended-support releases (ESRs). It
may, however, also be packaged for a user’s favorite Linux
distribution. Fedora 41, for example, currently has
IceCat 115.20.0esr—which is based on Firefox 115.20.0;
both were released on February 4.

Current-day IceCat has several changes that distinguish it from
Firefox. The most immediately obvious is its use of the LibreJS add-on to
block “nonfree nontrivial JavaScript while allowing JavaScript that
is free and/or trivial
“. In practice, this means that a significant
number of sites will not work unless the user adds exceptions for
the JavaScript used by the site. Users can choose to add exceptions for
individual scripts blocked by LibreJS or to add an exception for the
entire site. Even LWN, which uses a minimal amount of JavaScript,
has scripts that are blocked by LibreJS.

IceCat includes the JShelter
extension, which attempts to block not just malware, but browser fingerprinting
and user tracking as well. It modifies the JavaScript environment that
is available to web pages to try to confuse fingerprinters and make it
more difficult to carry out attacks using JavaScript. It may block
APIs or return fake values to thwart these attempts. Like LibreJS, it
can be modified or turned off
entirely
for specific sites. There is a paper from 2022 that
explains the extension’s approach in great detail, and an extensive FAQ that may be of use
in troubleshooting interactions between JShelter and web sites.

In a similar vein, IceCat includes a fork of
the Third-party
Request Blocker
extension that (as the name implies) blocks
connections to third-party resources without user consent. It is a
little concerning that the page
describing the extension describes it as “seemingly maintained by
‘sw’
“, and its last update was in March 2020. The home page
listed for the extension is no longer available. Despite the lag in
development, it still seems to be working and blocking plenty of
third-party requests. A visit to a site like The Guardian, for instance, shows
seven sites blocked. As the screenshot shows, site layout and images
are often affected by IceCat’s default settings. Usually the sites are
still usable, but far less aesthetically pleasing.


[GNU IceCat]

One thing that worked well for me was to enable just enough
to see the page text and then use the reader view to read a site’s
articles or other content. (Sadly, none of the forks offer a “browse
everything in reader view by default” option.)

In all, IceCat ships with eight extensions that either attempt to
enhance user privacy, block non-free software, or unbreak sites that
are affected by its other extensions. It includes a “LibreJS/USPS
compatibility” plugin to offer an alternative shipping calculator for
the US Postal Service site as well as
an extension to replace JavaScript blocked by LibreJS on the Library
Genesis
sites.

The project has an extension-finder service called Mozzarella, which (of course)
only lists extensions that are free software. However, the extensions
may be outdated compared to their counterparts listed in Firefox’s
add-on catalog. For example, the Privacy Badger extension in the Mozzarella
catalog
was last updated in June 2023. The Firefox
catalog version
was last updated on January 29, 2025.

Right now, three people are listed as maintainers for GNUzilla:
Ruben Rodriguez, Amin Bandali, and Mark H. Weaver. The development
mailing lists are a bit on the quiet side. The last-archived
conversation currently for the gnuzilla-dev list is from
August 2024. The bug-gnuzilla
list is a little more lively—its last activity was in
December 2024.

IceCat is probably a good choice for folks who are more concerned
with the free software ethos and privacy than with
functionality.

Floorp

The Floorp project is a much
newer entrant. It is developed by a community
of Japanese students
called Ablaze. Development is hosted on GitHub,
and the project solicits donations
via GitHub donations. According to its donations page, donors who
contribute at the $100 level may submit ads to feature in the new tab
page—but the ads, which are displayed as shortcuts with a
“sponsored” label, can be turned off in the settings. I’ve been unable
to find any information about the project governance or legal
structure of Ablaze.

Its contributors
page lists seven primary maintainers and 39 code contributors, as well as
many people who have contributed to its language packs and
translations, or who maintain packages. Floorp does not offer native
packages for Linux distributions, but it does provide a Flatpak via
Flathub and precompiled
releases for x86_64 and ARM64
.


[Floorp browser]

Originally Floorp was based on Chromium but switched to Firefox in
early 2022. The first Firefox-derived version was Floorp v7 (announcement in
Japanese), and it was based on the Firefox rapid releases, but the
project switched to the ESR releases as their base with v8. The most
recent release, version 11.23.1, was announced on
February 15, and is based on (according to
about:config) the Firefox ESR 128.8.0 release,
which came out on March 4. It would
be nice if the project were more explicit in its release notes about which
version of Firefox a release was based on. This is not merely for
curiosity’s sake—it would help users track whether Floorp was
receiving the most recent security updates. The project has said that
it plans to
move back to the rapid release versions of Firefox with v12, which is
currently in beta.

The project promises “strong tracking protection” and that
it does not track users or have any affiliation with advertising
companies. However, the project does not give details on how its
tracking protection differs from Firefox’s. It still uses Google as
its default search engine and includes the Firefox
browser sync
feature. It also uses Mozilla’s add-ons repository,
and should work with most Firefox add-ons
that are compatible with the corresponding Firefox version.

Floorp does have a number of interesting features and enhancements
that may tempt users. It has a dual-sidebar layout that allows users
to access bookmarks, history, and other tools on the left-hand side,
while the right-hand has the Web Apps panel. Users can add web sites
to open in the Web Apps panel, which can be useful while (for example)
doing research for an article while keeping a version of the article
open in the panel.

In addition to the Apps panel, Floorp has a split-view feature that
lets users open two pages side-by-side by selecting a tab and clicking
“Split this Tab”. Each split has its own history and URL bar. Floorp’s
layout is great for wide-screen monitors, and I like the ability to
open sites in split view rather than juggling multiple browser
windows.

Another interesting inclusion in Floorp is its Workspace
feature
. This allows users to group tabs by categories like
“work”, “comics”, “shopping”, or whatever makes sense for the users’
browsing habits. I’ve found this useful for working on projects and
stories for LWN—I might have a dozen tabs open for a specific
story, which I can group into a single workspace. Workspaces can also
be assigned to Firefox’s multi-account
containers
. For example, a user might want to log in to the same
site using different accounts—without having to sign in and out
repeatedly. Combining the workspace and multi-account containers can
be useful in a number of scenarios.

Firefox’s tabs have seen little feature advancement in the past few
years. Floorp adds a few much-needed enhancements here, allowing users
to move the tab bar to the bottom of the window, use a multi-row tab
bar, and even a vertical tab bar. However, the Floorp implementation
of the vertical tab bar will go away in v12, now that Mozilla has
finally
added
vertical tabs in Firefox 136.0.

Overall, Floorp is an interesting project with some nice
enhancements to the Firefox UI. However, the development roadmap seems
a bit more haphazard than I would like—switching back and forth
between Firefox rapid release and ESRs, for example. That may not
dissuade other folks, though.

LibreWolf

The LibreWolf project got its start in 2020. Its focus is primarily
around privacy, security, and the removal of “anti-freedom
features, such as telemetry and DRM, from Firefox. It lists seven core
contributors on its home page and points to its Matrix room for
development discussions. Its development is hosted on Codeberg.

LibreWolf is available in the Arch User Repository (AUR) for
Arch Linux users; and the project offers its own package repositories
for Debian-based distributions and for Fedora. It recommends its Flatpak packages
for most other distributions. The most recent version of LibreWolf is
135.0.1,
which was a minor update based on Firefox 135. The first LibreWolf 135.0 release came out on February 9, about five days after
the upstream Firefox version.

LibreWolf has the normal configuration options one would expect for
a Firefox fork, but it also has the option of using a special
configuration file called librewolf.overrides.cfg to set
preferences that can take effect across multiple profiles rather than
having to tweak the configuration for each profile. It also makes
preferences easy to back up and move to a new machine. The documentation explains
where to find this file, depending on the installation method, and offers
several suggestions for possible preference changes.

LibreWolf is mostly notable for what it doesn’t have
rather than what it does. That is, it removes other features from
Firefox that have not been well-received by many users such as Pocket
integration, telemetry, and more. Firefox Sync is disabled by default
but it can be enabled in settings.

LibreWolf does include the uBlock Origin add-blocker add-on
as part of its standard installation. It should be noted that uBlock
Origin is being disabled
for Chrome users
as Google phases
out support
for the WebExtension
API
V2 in favor of V3, which will curtail features that uBlock
Origin and other add-ons require to function. To its credit, Mozilla
has committed
to continuing its support for Manifest V2 and V3. LWN covered Manifest V3 and
its impact on content blockers in 2021.

For the most part, users would be hard-pressed to spot many
differences between LibreWolf and Firefox at first (or second) glance,
so a screen shot of LibreWolf seemed a bit unnecessary. That approach
is likely to appeal to many users who are uneasy with things like
telemetry and Pocket, but don’t want an entirely new browsing
experience.

Zen

The Zen browser project is the most recent entrant. Its development
began last year with an
announcement on Reddit
. It is currently in beta, with its most
recent version, 1.8.2b
based on Firefox 135.0.1, released on
February 25. Kudos to the Zen project, by the way, for
proudly including the Firefox version alongside the project version in
its “About” dialog—information that literally every other
Firefox fork seems intent on hiding. Zen lists 12 people in the main
project team, and about 90 contributors to the
browser. Development for Zen is hosted on GitHub,
and discussion takes place on Discord (link goes
to a Discord invitation).

Like Floorp, the project solicits donations to
assist with development, but little information seems to be available
about its governance or structure to provide transparency about how
the money is spent.

Unlike the other forks, it is not immediately obvious that Zen is
an offshoot of Firefox. It does not look at all like the standard
Firefox interface, even before users start customizing it. Even
Floorp, which allows significant customization, still bears some
resemblance to Firefox on first use. Zen sports a tab sidebar on the
left that blends the Workspace concept from Floorp and vertical tabs,
with a set of default bookmarks (“Essentials”) as icons at the
top. The browser menu is located in the top-left corner, indicated by
a button with three dots. The window title bar is hidden and only
appears if a user hovers the mouse at the top of the window for a few
seconds.


[Zen browser]

While Zen looks modern and interesting, its sleek user interface
and configurability comes at the cost of intuitive usability in some
cases. For example, one might expect that setting Zen to light mode in
the “Language and Appearance” settings would also change the browser’s
interface to light mode. It does not, as shown in the
screenshot. Instead, a user has to go to the “Add-ons and Themes”
settings to select a light theme. It would help a great deal if Zen’s
user guide
were more complete, but it only has a little bit of documentation to
offer at the moment. To be fair, it is still a beta project, so it may
be much improved by the time the Zen browser has its first stable
release. For now, users will need to be ready to dig through Reddit
and other forums for tips.

Features like glance, which pre-fetches a link and gives a preview
of it before opening it in a new tab or window, are useful, but not at
all obvious how to use, even if one is aware the feature exists. (On
Linux, activate glance with Alt+click.) Likewise, Zen’s
split-screen mode requires the user to select multiple tabs and then
right-click to select “Split Tab”. Rearranging the splits is also not
intuitive. That said, the additional features are compelling if one is
willing to do some searching to figure things out.

The Zen interface can be customized extensively to suit individual
tastes via the settings. If those options aren’t enough, Zen has its
own set of add-ons and extensions called Mods to modify the interface
or add features. This ranges from a green-hued theme called Matcha to tweaks
to further minimize the sidebar
. Most Firefox add-ons should work
with Zen as well, though some may clash with its user-interface
changes.

Currently, Zen isn’t fully baked enough for me to consider
switching to it. Others may be more adventurous in their
browsing habits than I am, though. I can say that it has stabilized
significantly since I first tried it shortly after its first public
release. The project does bear keeping an eye on, and the Mozilla
folks could do worse than to copy some of the ideas (and code) that
the project is experimenting with.

Others

The Firefox fork rabbit hole is surprisingly deep. There are a few
alternatives I chose not to try—but mention here for
completeness—and probably a few that I’ve missed. The Basilisk project
is a kind of retro-Firefox project that aims to retain technologies that
Firefox has removed. This includes the deprecated Netscape Plugin Application
Programming Interface
(NPAPI) plugin support, ALSA support on
Linux, XUL extensions,
and more.

Waterfox is a browser that
began in 2011
as an independent project
by Alex Kontos while he was a
student. It was acquired
and then un-acquired
by Internet-advertising company System1. Its site
does not, at least at the moment, have enough specifics about the browser’s
differences and features to compel me to take it for a test drive.

The Pale Moon project is
another browser that has forked off of Mozilla Firefox code and no
longer tracks it directly. It uses
the Goanna
fork of the Gecko rendering engine and still supports NPAPI
plugins and XUL extensions. The project promises no telemetry or data
gathering. It offers a somewhat nostalgic look and feel
that is similar to Firefox in the mid-2000s.

For those who pine for the days of the Netscape suite that included
the browser, mail client, HTML editor, IRC chat, and more, there is SeaMonkey. The project
uses code from Firefox and Thunderbird, though it is not directly
based on recent versions. According to its site, it backports security
fixes from Firefox and Thunderbird ESRs that apply to SeaMonkey. The
project also maintains the Composer HTML editor and ChatZilla IRC
client that are no longer maintained by Mozilla. SeaMonkey is still
packaged for a number of Linux distributions, and binaries are
available for Linux on x86_64 and x86 as a tarball. It might be a good
option for users who are still using 32-bit x86 Linux systems.

Still dependent on Mozilla

Regardless which Firefox fork one chooses, it is important to
remember the downsides. First and foremost, all of the forks are
dependent on Mozilla to do the heavy lifting. The bulk of development
is carried by Mozilla, the direction of Firefox is set by Mozilla, and
choosing to run a fork puts the user one step removed from security
and bug fixes. This does not mean users shouldn’t consider one
of these forks, but they should be aware of the potential
downsides.

There is some precedent for soft forks displacing the original
upstream. For example, the Go-oo fork of
OpenOffice.org became LibreOffice after Oracle consumed Sun. That fork
has clearly overtaken OpenOffice.org in the Linux community as the
go-to desktop office suite and its development has eclipsed that of
its counterpart Apache OpenOffice. Go-oo, of course, had corporate
support as well as community support. For a Firefox fork to be truly
independent and sustainable, it would need a similar effort behind
it. Thus far, no such movement has materialized.

A recent question on the LibreWolf issue tracker drives that point
home nicely. User “kallisti5” asked if
LibreWolf was prepared to fork Firefox “if Mozilla continues
farther down this path?
” One of LibreWolf’s contributors, “ohfp”,
replied that the project was “absolutely not prepared to do
that
” due to limited time and energy to work on the project as it
is. “We would not even remotely be able to fork and maintain a
browser fully, let alone to continually develop and improve
it.

Another downside to the forks is that there are far fewer eyes on
their code and communities. When Mozilla makes an important move,
whether it’s positive or negative, users are likely to hear about it
quickly. As of now, the forks get relatively little attention.

Folks who want to jump ship from Mozilla’s ecosystem entirely,
while still sticking to open source, have some options. Ladybird,
which LWN covered in
June last year, is an attempt to create a new browser from whole
cloth. It is an interesting effort, but not ready for day-to-day use
for most folks. Qutebrowser, Nyxt, and NetSurf are also worth a
look—though they may have some drawbacks for day-to-day use in
terms of site compatibility and features. We will take a look at some
of those options soon.





Source link