4 ms·
I regularly contribute to the software I use and I tried doing something for Firefox. It was so hard for an outsider that I just stopped trying it. The entire s
by nikeee 3y ago
I regularly contribute to the software I use and I tried doing something for Firefox. It was so hard for an outsider that I just stopped trying it. The entire system involving hg, various repositories, outdated wikis, very complex building, bugzilla etc is just so... hard to get into.
If Firefox was on GitHub (or even a self-hosted GitLab) where I can just fork it, play around and have the exact same CI, that would be an entire different story. I whish it was as easy as that.
- ylyn 3y agoFirefox has way too many components to be "just one repo you can fork".
- cpeterso 3y agoAll the code you need to build Firefox for Linux, macOS, or Windows is in one Mercurial repo: https://hg.mozilla.org/mozilla-central/ https://hg.mozilla.org/mozilla-central/ The repo is also mirrored on GitHub for convenience, though PRs are not accepted through GitHub: https://github.com/mozilla/gecko-dev https://github.com/mozilla/gecko-dev The build instructions start with a script (“mach bootstrap”) that will download and install all the blessed tools and SDKs needed to build: https://firefox-source-docs.mozilla.org/setup/index.html https://firefox-source-docs.mozilla.org/setup/index.html Depending on your network and computer, it can be possible to download the source and compile and run your own Firefox build in less than 20 minutes.
- padenot 3y agoIt's one command to clone from git or hg at your convenience, one line to install the development dependencies (that figures out the os/distro and does the right thing) and one line to build. Then one line to install the command line tooling to submit patches and another line to submit a patch (or a patch series). All the docs are there for all major platforms, aimed at first timer in our code base: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html#firefox-contributors-quick-reference https://firefox-source-docs.mozilla.org/contributing/contrib... It used to be much more complex than that but this isn't the case anymore. Using GitHub (that we need to use anyways because lots of projects and lots of web standards use it) feels like banging two rocks together compared to what our tooling can do, especially at that scale. Source: I work at Mozilla and frequently onboard contributors of all backgrounds and levels.
- nikeee 3y agoI'm curious, can you elaborate on what's missing at GH/GL?
- padenot 3y agoI use GitHub everyday, and problems, or what I miss from the mozilla stuff are: - git is not as modern as mercurial (no absorb, no evolve, no nice ncurse gui, weird explicit branching model). I've been using both daily for more than ten years, but mercurial is largely superior in every respect - no way to properly do patch stacks and proper reviews, with static analysis and linting integrated into the review tool, no way to lose comments by force push or that kind of thing (phabricator is amazing) - no way to properly do private issues for security bugs or touchy audits that could reveal large problems - no hierarchical categories for issues, no severity, priority, little provision for advanced filtering for a project our size. Bugzilla is very nice and much better than anything else I've tried. You can use tags for a lot of that on gh but it's messy - code browsing is primitive compared to https://searchfox.org/ https://searchfox.org/ (but most code browsing tool are, in comparison) - my notifications are completely flooded by lots of useless information on GitHub, but that might be fixable - our CI system (treeherder/taskcluster) scales, works on Linux/Mac/windows/Android and a bunch of version and arch, integrated with all of the other tools mentioned. Things such as auto-running tests based on the content of the patch, automatic categorization and prioritization of intermittent test failures, or auto-recording test failures and offering a pernosco recording showing the issue are just some of the features that we use daily without even thinking There's probably a lot of other stuff that is better, but that's a nice start. If GitHub had a real patch stack management story, a real issue tracker and a real review tool it would go a long way, but that's not the case.
- extraduder_ire 3y agoSearchfox looks pretty cool, I'm surprised I've never heard of it. I often wonder how many great softwares are out there, but only used in a small niche.
- 3y ago
- jdashg 3y agoThe source is mirrored on GitHub here: https://github.com/mozilla/gecko-dev https://github.com/mozilla/gecko-dev Code search is here: https://searchfox.org/mozilla-central/ https://searchfox.org/mozilla-central/ I’ve never seen a better search tool. It’s become pretty straightforward to build in the past few years. You pretty much just need your system SDKs (which are listed), python, and git or hg (which is Python anyway!). I promise you that you don’t need CI until you have a patch that works locally.
- seabrookmx 3y ago> self-hosted GitLab It might just be me but gnome and it's associated apps seem to have come a long way recently, and I can't help but think it's because they moved to an opinionated but modern build system (meson) and all the repos are easy to access / contribute to on their gitlab instance.