For a long time Firefox Desktop development has supported both Mercurial and Git users. This dual SCM requirement places a significant burden on teams which are already stretched thin in parts. We have made the decision to move Firefox development to Git.
- We will continue to use Bugzilla, moz-phab, Phabricator, and Lando
- Although we’ll be hosting the repository on GitHub, our contribution workflow will remain unchanged and we will not be accepting Pull Requests at this time
- We’re still working through the planning stages, but we’re expecting at least six months before the migration begins
APPROACH
In order to deliver gains into the hands of our engineers as early as possible, the work will be split into two components: developer-facing first, followed by piecemeal migration of backend infrastructure.
Phase One - Developer Facing
We’ll switch the primary repository from Mercurial to Git, at the same time removing support for Mercurial on developers’ workstations. At this point you’ll need to use Git locally, and will continue to use moz-phab to submit patches for review.
All changes will land on the Git repository, which will be unidirectionally synchronised into our existing Mercurial infrastructure.
Phase Two - Infrastructure
Respective teams will work on migrating infrastructure that sits atop Mercurial to Git. This will happen in an incremental manner rather than all at once.
By the end of this phase we will have completely removed support of Mercurial from our infrastructure.
Although we’ll be hosting the repository on GitHub
Why aren’t they using a self-hosted instance of Gitea? This makes no sense move to Github of all places.
Could be familiarity? I saw an article go by recently about how projects that aren’t on GitHub suffer from lack of contributions. Although that matters more for smaller projects, Mozilla is a beast and could probably pull people off GitHub if it wanted to.
Also if anyone should be trying to build up an alternative to GitHub, it should be Mozilla
If you are at a skill level, where you can meaningfully contribute to a project like this, registering for an alternative git provider should not be an obstacle
Obstacle? No. Annoyance? Yes.
I agree with this in a lot of cases, but I’m not sure about this case - Mozilla won’t be accepting PRs over GitHub from what I can tell.
Git desperately needs something like activity pub. That’s how it should have been from the beginning
and it was lol. Git was designed to work using email and plain text patches. No nonsense, no closed platforms. You can still use git that way.
It’s super cool that it supports this, heck I’ve used it when no other options were there (and thank git I could! It made a nightmare into just a little more work instead).
I will say though, it’s most of the other software forge features that people normally talk about adding Activity Pub support for (issues tracking, merge requests, tracking forks, CI tooling, handling documentation, etc).
Maybe you can convince Gitea guys to work on that? After all they’re the leading open-source alternative.
Lets just say it’s coming… soon :)
ForgeJo?
The J is lowercase, -ejo is an Esperanto suffix meaning “place”.
Pull people off GitHub? I get the impression from others that contributing to Mozilla projects, particularly Firefox, is a painful experience. But afaik one former Mozilla project uses GitHub for everything: Rust, the programming language.
Agreed. They could’ve hosted nearly any git forge since they’ll keep using bugzilla and other workflows as is.
They already use GitHub for a bunch of other projects. See https://github.com/mozilla/ and https://github.com/mozilla-mobile/
It’s the most widely used platform that the most people are familiar with that they get to use likely for free. Newer projects of theirs are also hosted there. Why would you say it makes no sense?
Hosting the public repo? I heard that the GH repo is just a mirror
Out of all the possible Git choices, they chose one of the worst options. I am very curious about the reasoning for that. Could have been a Mozilla-hosted Gitlab instance, or something else like Gitea
Why do you say GitHub is the worst choice, out of curiosity?
Especially lately, incredibly poor performance, and constant outages. Plus if you’re an owner of a private repository, I don’t want them to train their asshole AI based on my code, without my knowledge
And Micro$oft
At least when it comes to Git I’m not too concerned. What could MS possibly do to you? Maybe vendor lock in via the issue tracker? They aren’t using it and it’s not exactly that hard to migrate off of it in the first place.
deleted by creator
Would have been amazing if they federated with Forgejo and supported federated git like they’re doing with mastodon.
deleted by creator
I agree that PRs are problematic, but that doesn’t make GitHub “trash”.
Also, that dude is so obnoxious and really seems to like to make broad generalizations of his opinion like it’s fact.
I’m just curious, why are PRs worse on GitHub compared to other git hosting services?
Instead of using valid commit messages they just slap on “#42” which isn’t valid anywhere other than the GitHub web UI.
Also, GitHub PRs atleast to me feel like they encourage reviewing changes by the total diff of the entire PR, and not each commit. I don’t want a slog of commits that don’t add any value - it just makes doing things like reverts more annoying. Stuff like Gerrit and phabricator enforce reviews by making you review individual commits / changes / whatever you want to call them and not branch diffs.
GitHub has an option when merging a PR to “squash and merge”. This option squashes all of the commits on the PR branch into a single commit and cherry-picks it on top of the base branch. We use this by default in our open source projects at work. Most people are not gonna go through the effort of making a well defined patch series the way it would be required for a Linux kernel contribution. Most changes aren’t that big though and so it doesn’t really matter. Send as many commits as you want in the PR, I’ll just review the diff as a whole and squash it when I’m done. Workflows should adapt to user preference, not the other way, and this is a good example of that.
How much of that is what GitHub encourages and how much of that is what Users prefer? Plenty of users seem to enjoy phabricator / Gerrit for code review in practice precisely because of their workflows.
Well squash and merge isn’t default or pushed in any way. It’s an option, and we chose to enable it ourselves because that’s what works best for us. It’s what works well for many other projects too, which is why many choose to enable it instead of the default merge commit.
Yeah, but phabricator and Gerrit are entirely separate workflows from GitHub, and a lot of people prefer that workflow because it leads to encouraging better histories and reviews. It helps you in getting rid of the “fixed typos” type of commits, while still letting you make larger PRs.
GitHub obviously does let you keep a clean git history, but the code review workflow in GH just doesn’t encourage reviewing commits.
and really seems to like to make broad generalizations of his opinion like it’s fact.
None of what Brodie said is baseless, even if some are more opinion than fact. He sight’s sources for a reason.
Here is an alternative Piped link(s):
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source; check me out at GitHub.
Mozilla being Mozilla, I’d guess. They should have gone sel-hosted with sourcehut, or at least gitlab. Or if not self-hosted, the choice should have been at the least gitlab or better, given it allows to chose DCO over CLA. But perhaps not everyone cares… I remember when gitlab introduced DCO, and how that helped debian and gnome to migrate to gitlab. After allowing DCO, other projects migrated as well.
I’m not that fan of gitlab, and I’d prefer sourcehut for open source projects, but if wanting something closer to github, then gitlab might be the answer. But Mozilla is a corp, maybe they don’t care much about these things, and as a corp, perhaps they were looking for CLA sort of contribution any ways…
I also think gitlab hosted by Mozilla Foundation would have been a better solution than github.
Mozilla Corporation is owned by the Mozilla Foundation, so their incentives aren’t that of a corporation but a non-profit.
I would love to see the Mozzilla foundation double down on ActivityPub and host a Forgejo instance or work with Codeberg for hosting.
I wonder how much Github being the primary place for FOSS source code limits people around the world from joining the movement.
I’d also like to see an open platform for their source code, but Github is undeniably the preferred platform for most developers, so I understand Mozilla’s decision.
So long as only the source code is hosted on Github I don’t think it limits people to contribute. Bugs and features are still tracked with the existing tools.
Wtf is wrong with gitlab…
Nothing, it works fine.
Then why didn’t Firefox use their power to support a git that’s not owned by Microsoft?
I don’t know. Because they are not angry with Microsoft anymore and github better fits their workflow?
I wonder if the same is going to be true of Thunderbird. Thunderbird actually requires you use Mercurial to contribute at all, rather than managing both git and Mercurial.
That being said…it’s kind of odd to me how swiftly Mozilla of all companies/orgs is to embrace a code forge hosted by Microsoft for their main software. Surreal, even.
I’m amazed people are still using Mercurial. I worked on a few hg projects about a decade ago and it wasn’t a very good experience. It was easy for people who used subversion, but if you were even halfway familiar with git you just missed a lot of functionality.
- Although we’ll be hosting the repository on GitHub, our contribution workflow will remain unchanged and we will not be accepting Pull Requests at this time
Whyyyyy? Why github?
Reviewing PRs costs money/time
Edit: added “Why github?”
Fair point. I would say on a personal level that GitHub actions is quite nice to use, especially with the marketplace. But I’d be surprised if switching version controls also entailed a CI/CD change for Mozilla, so I can’t think of a good reason.
It’s rather bold of many of the commenters in this thread to assume they know the needs of Mozilla and their developers rather than those people themselves. GitHub makes complete sense, even if it doesn’t live up to some people’s desires for free software purity.
I wonder if they’ll consider Codeberg as their future Git host of choice. GitHub is less than ideal in terms of digital sovereignty, GitLab also has some questionable leadership. Codeberg seems like the most solid alternative to these so far.
Dang, I was really hoping that they would stop using bugzilla and switch to something like GitHub/GitLab/Gitea issues instead. Perhaps also put things like feature requests there as well and have one place to contribute to Firefox
This is great. Honestly it is the best option.