Firefox 147 Will Support the XDG Base Directory Specification
Significance of Firefox adopting XDG
- Many see this as an important symbolic win: a major, widely used app finally honoring the XDG Base Directory spec after a ~21-year-old bug.
- People hope this nudges other applications toward compliance and reduces
$HOMEclutter over time. - Some note Firefox already used
~/.cache/mozillafor years, so the big change is moving config/data out of~/.mozilla.
Home directory clutter & XDG benefits
- Several comments complain about having dozens or even hundreds of dotfiles/directories in
$HOME, many of unknown origin. - XDG is praised for:
- Centralizing configs (
$XDG_CONFIG_HOME), data ($XDG_DATA_HOME), and caches ($XDG_CACHE_HOME). - Making backups and cleanup easier (e.g., “back up .config, ignore .cache”).
- Centralizing configs (
- Others draw analogies to Windows and macOS where ignoring platform conventions similarly creates messy user directories.
Security and multiple config paths
- OpenSSH’s refusal to adopt XDG is cited: extra config paths can confuse admins and create brittle setups, especially for security-critical tools like SSH.
- Some argue complexity itself is a security risk (e.g., missing an alternate
authorized_keyspath when revoking access). - Others push back that it’s mainly a manageability issue, not directly a vulnerability, though they accept the complexity argument.
Firefox’s implementation details & migration worries
- Current behavior (per code reading):
- If
~/.mozillaexists orMOZ_LEGACY_HOME=1is set, Firefox continues to use it. - Otherwise, it uses
$XDG_CONFIG_HOME/mozilla.
- If
- There is no official automated migration; manual moves are “at your own risk.”
- Concerns:
- Some profile files may contain absolute paths, so naïve
mvcould break extensions or profiles. - Firefox still does not fully split config vs data vs cache per XDG; everything non-cache goes under
.config/mozilla. - Debate whether partial compliance without migration is worth the effort; some say “better imperfect progress than nothing.”
- Some profile files may contain absolute paths, so naïve
Debate on XDG itself and user control
- One camp calls XDG “petty” and sees
~/.mozillavs~/.config/mozillaas trivial. - Others strongly disagree, emphasizing:
- It’s “my
$HOME,” not a dumping ground. - XDG variables let users relocate config/data cleanly.
- Noncompliant apps complicate backups and housekeeping, sometimes forcing users into tricks like making
$HOMEnon-writable.
- It’s “my
Broader filesystem and partitioning side-discussion
- Thread digresses into Unix directory layout and partitioning:
- Some dislike the traditional Unix tree and multi-partition setups, seeing them as confusing and inflexible.
- Others defend them as crucial for multi-user systems, isolating logs and critical services from user or log-driven disk exhaustion, and enabling different filesystems/policies by mountpoint.