Offer: an existing body of patches for Firefox (and some questions)
Hi all!
Love the work you're doing here. I'm an old hand at patching Firefox to remove crapware and add features. I've been doing so for about five years now. I am interested in merging any/all of my work with another project, because maintaining a patch set as one person is becoming an impossible burden, especially as Mozilla adds more and more crap to central parts of the browser code.
Here are my patches: https://github.com/afontenot/firefox-clean/
I didn't specify a license for the repository, but I'm willing to license under whatever is necessary to make it possible for your project to use them. (They might, legally speaking, already be MPL 2.0 if they constitute derivative works of Firefox, but I don't really know how "derivative works" functions legally for patches.)
The main differences I see between my approach and yours is that I have attempted to rip out as much of the bad code as I could. See here for removing code for adding sponsors to the new tab page for example. (This has grown increasingly threadbare as my time and patience for working on this has diminished.) You guys only seem to be forcing this code to disabled in preferences, i.e. here. (Sorry if that's mistaken, the structure of the project is not yet obvious to me.)
I also have some feature patches:
- Add a "restart" button to the file menu. IIRC Firefox used to have this a long time ago, then it got removed but was possible to add back, then the removal of XUL addons made it impossible to add without code changes. I find a restart button very useful for testing stuff in the browser that requires a restart, or instantly fixing issues with memory overuse.
- [WIP] add the ability for the user to remove the menu button (three horizontal bar / hamburger menu) entirely. This button doesn't serve any purpose for users who use the menu bar, as I do.
If LibreWolf's goals turned out to be closely enough aligned to mine, I look forward to contributing to the project in the future!
I have a few questions that I hope it's okay to leave down here. If you think any of them merit "upgrading" to proper issues, let me know. Or maybe they're better discussed somewhere else. (I know you have chat rooms, but they didn't seem appropriate for a complex post that would quickly get lost.)
I want to be clear that I'm not waltzing in with a set of goals for you to adopt, let alone demands! I hope only to have a discussion about what the goals are.
- Is it possible for me to generate a "clean" LibreWolf build without the security improvements? Personally, as a power user, I'm mostly happy with Mozilla's defaults. I'd rather install uBlock Origin myself, and configure any
about:config
options myself too. The reason I'm interested in a project like LibreWolf is because I believe Mozilla has become user-hostile, and I want a browser project run by-and-for users. I just want Pocket removed, ads removed, anything that requires connections removed or disabled by default, DRM disabled / removed, and user-hostile choices reverted.
- I understand that I can configure Librewolf to my liking, but that's kind of just asking me to trade one set of complex configuration steps (in Firefox) for another (in LibreWolf).
- What does the future look like for LibreWolf? Up to now, it seems everything is centered around patches. I think an appropriate aim for a project like this would be a soft fork: you have your own copy of the repository with custom changes baked in, and every so often you merge in commits from mozilla-central.
- To be clear, I'm not saying this needs to happen now. I'm only saying I think it would be an appropriate future vision for the project, say a few years down the road. It's understandable if you don't have enough developers to do this now.
- What a soft fork achieves is that it makes it trivial for developers to contribute to the project by creating merge requests on a publicly viewable repository. This improves the speed and clarity of changes, and makes a hard-fork (should that ever become necessary) a mere click away.
- A soft fork approach makes it possible to begin to clean up Mozilla's ugly, user-hostile code. So e.g. rather than substituting URLs or hiding elements, we can begin to create the browser as it should be. The result helps to inspire other open source developers and this becomes a true community project.
- Is there interest in re-adding features that Mozilla has removed from the browser over the years? I'm thinking e.g. of RSS handling. Maybe the "Live Bookmarks" feature is more appropriate for an add-on, but detection of RSS feeds in the page was a core feature of Firefox for many, many years; Firefox was able to open the detected feeds in your feed manager of choice.
Incidentally, you might notice that my Github repository is centered around a PKGBUILD (for Arch Linux). That's because I used to develop it as an AUR package. To my enormous irritation, in 2017 a new Trusted User was added and they went on a deletion spree and removed my project less than a week later. At the time, few people had the vision to see where Mozilla was headed, and so the necessity of beginning the forking process was not obvious. One reason I feel a soft-fork (rather than a patch set) would be an appropriate goal for LibreWolf is that it will aid its adoption as an official distribution package, rather than being seen as "trivial" configuration changes.