librewolf/issues
25
145

Patch Architecture Documentation #2761

Closed
opened 2025年12月21日 17:32:50 +01:00 by RavenRandomz · 4 comments

I am curious on why librewolf is a repository of patches applied to the firefox repository versus a direct fork of the repo itself. I looked through the docs, issues, and FAQ for the past hour. Maybe I missed it, so I apologize if this is written somewhere, but I have found no explanation to the pros of the patch architecture versus a direct fork.

My familiarity with the manual patches is only with the history of Linux, git, email lists, and gnu diff; please forgive my ignorance on this design choice. I think it might help incoming devs if the answer to this question was documented somewhere. I'd be happy to even make a markdown in the docs directory, too.

So with that out of the way: Why is librewolf mainly a collection of patches and settings instead of a git fork which could stay in sync with firefox (and revert, cherry-pick or make commits that removes anti-privacy code when pulling from firefox)? We could see the resulting source code upfront.

I want to study the code, and maybe become a contributor. I'm sure there is a valid reason to why this is the architecture chosen ^_^

Firefox's steady decline is pushing me to abandon ship.

I am curious on why librewolf is a repository of patches applied to the firefox repository versus a direct fork of the repo itself. I looked through the docs, issues, and FAQ for the past hour. Maybe I missed it, so I apologize if this is written somewhere, but I have found no explanation to the pros of the patch architecture versus a direct fork. My familiarity with the manual patches is only with the history of Linux, git, email lists, and gnu diff; please forgive my ignorance on this design choice. I think it might help incoming devs if the answer to this question was documented somewhere. I'd be happy to even make a markdown in the docs directory, too. So with that out of the way: Why is librewolf mainly a collection of patches and settings instead of a git fork which could stay in sync with firefox (and revert, cherry-pick or make commits that removes anti-privacy code when pulling from firefox)? We could see the resulting source code upfront. I want to study the code, and maybe become a contributor. I'm sure there is a valid reason to why this is the architecture chosen ^_^ Firefox's steady decline is pushing me to abandon ship.

At least from a users perspective I think this makes it way more approachable.

If you look into the repo, you see directly what makes LibreWolf different from Firefox. You don't need to dig through the whole source-code of a browser, and try to figure out what is Firefox, what is LibreWolf or what is missing because it never was merged to LibreWolf.

At least from a users perspective I think this makes it way more approachable. If you look into the repo, you see directly what makes LibreWolf different from Firefox. You don't need to dig through the whole source-code of a browser, and try to figure out what is Firefox, what is LibreWolf or what is missing because it never was merged to LibreWolf.

Otherwise one could not resonably ensure that librewolf does not have more vulnerabilities than firefox.

Otherwise one could not resonably ensure that librewolf does not have more vulnerabilities than firefox.

I appreciate your help!

I'm curious, how will the patches be organized as librewolf begins to diverge more away from firefox? Or what will librewolf do in the event of a "rouge Mozilla" event where the original firefox halts development or switches licenses? Maybe I'm just speculating for uncertain futures. Or perhaps yall are seeking a more conservative approach to leverage Firefox's development resources since its still not too hostile towards modding for privacy?

Finally, would y'all like for me add what y'all have said to the documentation? (The top level docs folder only has one md file, where would I add it?) It's the least I could do for y'alls time ^_^

I appreciate your help! I'm curious, how will the patches be organized as librewolf begins to diverge more away from firefox? Or what will librewolf do in the event of a "rouge Mozilla" event where the original firefox halts development or switches licenses? Maybe I'm just speculating for uncertain futures. Or perhaps yall are seeking a more conservative approach to leverage Firefox's development resources since its still not too hostile towards modding for privacy? Finally, would y'all like for me add what y'all have said to the documentation? (The top level docs folder only has one md file, where would I add it?) It's the least I could do for y'alls time ^_^

I think that, at the moment, it is too early to think about a "rogue Mozilla" case.

In general, LibreWolf aims to be Firefox with sensible and privacy focused defaults, so it is also not really planned to massively diverge from Firefox itself. If this were to change in the future, I am sure things would be re evaluated.

Regarding the documentation. It depends a bit on what you would like to add, but most of it is on the website. You may want to submit any changes related to that here: https://codeberg.org/librewolf/website

I think that, at the moment, it is too early to think about a "rogue Mozilla" case. In general, LibreWolf aims to be Firefox with sensible and privacy focused defaults, so it is also not really planned to massively diverge from Firefox itself. If this were to change in the future, I am sure things would be re evaluated. Regarding the documentation. It depends a bit on what you would like to add, but most of it is on the website. You may want to submit any changes related to that here: https://codeberg.org/librewolf/website
Sign in to join this conversation.
No Branch/Tag specified
main
No results found.
Labels
Clear labels
Branding
Issues that relate to our logo or the branding of our browser and website.
Broken Upstream
Issue is also present in Firefox
Build
Alpine
Issues specific to the Alpine Linux build of LibreWolf.
Build
AppImage
Issues specific to the AppImage release of LibreWolf.
Build
AUR
Issues specific to the AUR build of LibreWolf.
Build
Debian
Issues specific to our official release for Debian based distros.
Build
DebianOBS
Issues specific to the non-official OBS build of LibreWolf.
Build
Fedora
Issues specific to our official release for Fedora.
Build
FedoraCOPR
Issues specific to the non-official COPR build of LibreWolf.
Build
Flatpak
Issues specific to the Flatpak release of LibreWolf.
Build
Gentoo
Issues specific to the Gentoo build of LibreWolf.
Component: Infrastructure
Issues related to infrastructure provided by LibreWolf
Component
Builds
Issues related to how we build LibreWolf
Component
Patches
Issue with one of the patches in our source code.
Component
Settings
Issues related to the settings of LibreWolf.
Component
UI
A purely cosmetic issue in our browser.
Component
Website
Issues with our website.
Docs
Change required
A needed change in our documentation.
Docs
FYI
Issues that document a change, or how stuff gets patched, built or configured.
Flag
Caution
Change that might be tricky or that needs to be carefully evaluated. Best suited for core members.
Flag
Good first issue
Suited for a first contribution as it is a straightfoward task!
FreeBSD
Issues related to the FreeBSD release of LibreWolf.
Linux
Issues realted to one or all our Linux releases.
macOS
Issues realated to the MacOS release of LibreWolf.
Needed
Help
We are stuck :-(
Needed
Info
Closing in ten days if no details are provided.
Needed
Testing
We are almost there!
Prio
High
Issues with a high priority
Prio
Low
Prio
Normal
Prio/Urgent
Issues needing immediate attention
Repositories
An issue with our repositories.
Research
Collecting informations to document something or to evaluate a change.
Source
Issues related to the source code of LibreWolf.
Status
Blocked
An issue blocked by another one.
Status
Duplicate
Look for existing issues.
Status
Icebox
Change that is not happening soon or issue that cannot be tested.
Status
Known issue
An issue that we are aware of but that we cannot fix at the moment.
Status
Not Planned
The requested feature is currently not planned
Status
Upstream
Either we upstreamed the issue or a fix is coming directly from Mozilla!
Status
Won't fix
Does not require a fix.
Type
?
What?
Type
Bug
Ouch...
Type
Discussion
Let's have a talk...
Type
Feature
A feature request.
Type
Question
Not a issue but just a user question
Type
Task
This needs to be done
Windows
Issues related to the Windows release of Librewolf.
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
librewolf/issues#2761
Reference in a new issue
librewolf/issues
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?