Thanks! That makes the current post a dupe since 7 months ago is less than a year ago, and 227 comments is significant attention. https://news.ycombinator.com/newsfaq.html
(Reposts are fine on HN after a year or so, or if a story hasn't had significant attention yet.)
Not at all! what you posted was perfect. I was just adding a more general explanation for users who hadn't heard the principles yet. It's a nice case where the principles are unusually clear.
Why GitHub? Of course it's the most popular (due to goodwill before it was acquired, and then inertia), but there are also other options that might be a better match for Mozilla's open mission.
Unfortunately the software forge landscape leaves a lot to be desired right now.
GitLab has leaned completely into becoming an enterprise DevSecOps platform at the expense of open source. Their 2015 homepage [0] emphasized its own open source nature and their free offerings. Their current homepage [1] doesn't mention open source at all and only includes the word "free" in the phrase "free trial". The banner at the top of the page currently reads "GitLab 17 & the future of AI-driven development". They've come a long way from being the underdog champion of open source.
Gitea is doing better for now, but the trademark was transferred to a for-profit (Gitea Ltd) and the main gitea.com domain is now being administered by a different for-profit (CommitGo, Inc), with very little transparency about what either of those for-profits are doing and how they'll use their ownership of these key resources. In light of recent license changes by major for-profit open-source companies and the recent behavior of GitLab, I'm not thrilled about Gitea's IP transfer to multiple opaque for-profit companies.
Codeberg.org's fork of Gitea (Forgejo) has a governance structure that is more appealing in that it is not profit-oriented, but I'm nervous about overmoderation in the Forgejo community [2]. Constructive opposition to the election of moderators (based on their past abuse of authority) got edited away as "ad hominem attacks" and has since been completely deleted from the election thread. They're a nonprofit, but after watching the episode linked below unfold and then get swept away entirely I don't trust their governance process at all.
There are other, smaller options that have fewer problems, but none with anything like the features that GitHub offers.
[2] See this HN discussion: https://news.ycombinator.com/item?id=39397269. The critical comments that had been edited at the time of that HN thread have now been eliminated entirely from the linked issue and the only Internet Archive hit that's left for that page is from after the comments were completely deleted. That's not a good look.
I could understand if the reasoning to go with GitHub vs GitLab was more about number of developers on platform, but it is hard to accept the reasoning.
You’re chastising GitLab for becoming a platform and chasing enterprise users… The alternative is Microsoft, and supporting a monopoly power.
It seems to me like choosing GitLab would foster a more equal ecosystem of forge choices, kind of like me supporting Mozilla encourages a more equal ecosystem of browsers.
GitLab is still open source and GitHub has never been.
I'm not chastising them: they're making the move that is most rational given their publicly-traded status. That's their prerogative.
What you're probably picking up on is that I do miss the old GitLab. My emotions there aren't anger or frustration, it's more nostalgia and a faint sense of sadness. They were the good guys, and while they're still open core the open source spirit that they once had seems to have faded.
> It seems to me like choosing GitLab would foster a more equal ecosystem of forge choices, kind of like me supporting Mozilla encourages a more equal ecosystem of browsers.
This is actually a very good comparison. I'm writing this from Firefox, which I use on principle to avoid supporting Google, but I also deeply distrust Mozilla and have a long list of things I wish they would do differently. They're not good, they're just better than Google.
I also use a local Forgejo instance for my personal projects, even though I trust Forgejo's governance even less than Mozilla's. I only use them because I trust them better than I do Microsoft, GitLab, or Gitea.
I didn't write the above to try to dissuade anyone from choosing a FOSS software forge, merely to acknowledge that there is no obvious good choice that any given FOSS project should choose. All three of the forges that can claim to compete with GitHub have pretty substantial red flags for their long-term viability, and I can sympathize with any project deciding that they'd rather go with the simplest option.
> I didn't write the above to try to dissuade anyone from choosing a FOSS software forge, merely to acknowledge that there is no obvious good choice that any given FOSS project should choose. All three of the forges that can claim to compete with GitHub have pretty substantial red flags for their long-term viability, and I can sympathize with any project deciding that they'd rather go with the simplest option.
I posted mostly to discourage this particular opinion. IMHO there is a clear choice — at the very least between GitLab and GitHub in this conversation, especially in with the F/OSS consideration.
Maybe it’s better to flip the question — what makes you trust Microsoft more than GitLab in this situation?
> Maybe it’s better to flip the question — what makes you trust Microsoft more than GitLab in this situation?
There's exactly one way in which I trust Microsoft more, but it's important: I believe that they are less likely to pull the rug out from under us. Not that they won't, but they're less likely to.
GitHub seems to have found a favorable business model and is enjoying its status as the destination for all source code. We might not like how they pull that off or what they do with the data they have, but they've been a stable platform for years now without any signs of removing features or privileges that people rely on.
GitLab, on the other hand, has made numerous shifts over recent years, eliminating or vastly curtailing their free tiers and pushing more and more of their development effort out of the open core and into the enterprise portion of the product. After the sheer number of changes they've made to their SaaS offering I wouldn't trust GitLab's hosted offering to stay stable for the next 10 years.
If you're self-hosting this is less of an issue, but I frankly also don't trust GitLab to not start playing the same games that so many companies have been playing lately and pull out of true open source entirely. If security updates ever stop, and I see that as a real possibility, we'll have to migrate anyway.
So this is why I sympathize with people choosing GitHub: it's been stable for a very long time and shows every sign of staying that way, while the other offerings are clearly in flux.
> There's exactly one way in which I trust Microsoft more, but it's important: I believe that they are less likely to pull the rug out from under us. Not that they won't, but they're less likely to.
This I agree with in some sense! There are just so many people standing on the rug that it's a harder pull in total.
That said, I do think that it's easier for them to make small changes that extract value. GitLab always has a nuclear option (at least for now) -- you can run the F/OSS version (and if you don't want to, you can find someone to run it for you which also grows the ecosystem).
> without any signs of removing features or privileges that people rely on.
This I doubt... But nothing comes to mind immediately so I'll bite my tongue!
> GitLab, on the other hand, has made numerous shifts over recent years, eliminating or vastly curtailing their free tiers and pushing more and more of their development effort out of the open core and into the enterprise portion of the product. After the sheer number of changes they've made to their SaaS offering I wouldn't trust GitLab's hosted offering to stay stable for the next 10 years.
>
> If you're self-hosting this is less of an issue, but I frankly also don't trust GitLab to not start playing the same games that so many companies have been playing lately and pull out of true open source entirely. If security updates ever stop, and I see that as a real possibility, we'll have to migrate anyway.
>
> So this is why I sympathize with people choosing GitHub: it's been stable for a very long time and shows every sign of staying that way, while the other offerings are clearly in flux.
So I disagree about GitLab (and there's the simple fact that it an be forked/actually is F/OSS), but thanks for the explanation here, I see how you got to where you stand -- when I think of GitLab's changes I just think of them trying to find a way to sustain their income/the thing that lets them push the F/OSS forward, but I totally get seeing it the other way and being tired of the shifting companies have been going through!
> even though I trust Forgejo's governance even less than Mozilla's
Would you like to tell why you don't trust the forgejo governance? Are there any specific points or only a "feeling"?
Ok, found above
> Codeberg.org's fork of Gitea (Forgejo) has a governance structure that is more appealing in that it is not profit-oriented, but I'm nervous about overmoderation in the Forgejo community [2]. Constructive opposition to the election of moderators (based on their past abuse of authority) got edited away as "ad hominem attacks" and has since been completely deleted from the election thread.
Interesting, never saw smth like this, maybe this has changed over time. They now log any moderation so you can ask for the moderation actions. And when a comment is deleted an information message gets added by the forgejo moderation team to inform about the deletion.
I elaborated on the incident in this comment [0]. I read the comments that got deleted and they were constructive and informative. Not only did the Forgejo team edit them, they appear to have gone back and deleted them entirely and there's also no record on the Internet Archive. The only public record that there was any opposition to that appointment at all is a random Hacker News thread.
I'm very uncomfortable with speech being censored unless there's a very clear reason (which there wasn't in this case) and I'm even more uncomfortable with it when the topic at hand is the appointment of a new moderator.
As someone who just setup Gitea on a personal server, that will strictly be used by me and maybe a couple friend's or family members in the future, is there any down side to just continuing to use it?
If its fully self hosted on my server, no connection to any business work, and only used for personal stuff, should I care at all about their governance structure, possible changes to the license, etc? Seems like any kind of shady data sucking changes in an update would have a huge stink made about it.
Mozilla's leadership has been bad for a while now, and while I currently use Forgejo for my personal stuff, what I saw of Forgejo's leadership in that issue makes me nervous about the parent organization as well.
Since they've deleted the criticism from the issue and removed it from the Internet Archive, I feel some level of obligation to get down my memory of that conversation before it fades, and here seems as good a place as any:
This person, crystal, applied to become an "enforcer" after previously having lost a lot of trust in the community. That bit you can still see, including the acknowledgement that this abuse of authority did occur. Someone posted saying basically that they still didn't trust crystal after whatever happened previously (they gave details of the story, but I don't remember them) and that they were opposed to their appointment to any position of authority, regardless of promises that they wouldn't do it again.
After a bit of back and forth, someone (I'm assuming Earl Warren) went in and edited all of this critic's comments with a note saying that the comments had been removed by the moderation team for "ad hominem attacks". That was disturbing to me at the time—the critic's criticisms were not non sequiturs, when someone is applying to be an "enforcer" their past abuse of authority is absolutely relevant!
And of course, now that I find that they have now memory-holed that discussion entirely I'm even more perturbed. That's not the behavior of an organization that deserves any of our trust, and I don't know how much of the bad behavior that I saw there applies to Codeberg as a whole.
It used to be a lot easier to think of do-gooder organizations in tech that seemed trustworthy, and easy decisions to back. I don't know how much it is change of the orgs, and how much it is that we have more information about them.
My next random idea would be the Internet Archive, taking up ensuring an open Git forge is available to society. There's arguably some overlap of mission, in preserving information, and they do big infrastructure already. But my wild first guess is that this probably isn't enough overlap for them to justify the investment it would require.
I don't think the FSF would be able to execute on anything viable, though there's mission overlap, and their heart is in the right place.
To be honest, i never really understood this mentality for github. Code contribution isn't really the sort of thing people just randomly start doing because they are already on github. Github is not a social network (no matter how hard they might try to push social features)
A massive number of developers already have a GitHub account and are used to the tools (how PRs are done, bugs filed, etc). There are also plug-ins for basically any piece of software you want to use with it.
It just removes a ton of friction.
If you go with someone else then anyone who wants to contribute to you has to sign up with them. And learn the tools.
No, it’s not the biggest hurdle in the world. It’s not like they have to pay $100. But it is a hurdle. Existing contributors are likely to follow you anywhere reasonable. But it could make a real difference in getting new people.
Sure, but i think the real question is do you want those types of people contributing to your project? Like are the people doing it for points really likely to make valuable contributions?
I find that to be irrelevant when employers start looking at your GitHub stats during the hiring process...
I intensely dislike the exposed contribution metrics, personally. Partly because I'm a natural introvert and find it intrusive, but mostly because I feel that it tends to thoroughly emphasize quantity over quality.
Right. It’s basically a version of Metcalfe's law isn’t it?
“[it] states that the financial value or influence of a telecommunications network is proportional to the square of the number of connected users of the system.” (Wikipedia)
Yeah I have to disagree. I even host my own GitLab (because I heavily prefer its CI/CD over GitHub's Actions), but if I wanted to contribute to your project, I'm far more likely to do it on GitHub than to convince myself to create yet another GitLab account on like the sixth instance.
Until alternatives finally implement something like ForgeFed (https://forgefed.org/) which would allow me to simply contribute with something like @user@my.gitlab-instance.com, I'm gonna continue preferring GitHub for my public contributions and still use GitLab privately.
Historically Mozilla was an enemy of Microsoft, as in Microsoft actively worked to put Netscape out of business and was convicted as an illegal monopoly based on behavior directed at them. There may or may not still be some people involved with the project that harbor resentment or distrust to Microsoft and have little interest in creating an account on one of their services.
Not really... Microsoft still wants to rule the world. The evidence is abundant, and their open source contributions don't change the situation all that much.
I like it as a code repo, but issues suck, not being able to duplicate an issue is incredibly annoying. You'd think programmers would make that piece easy, but instead you get a shit ton of button pushing.
to have an issue that is exactly like one you've already created, with all the corresponding labels, milestones and project attributes. If you could create a issue template with all of those then that would be fine, but the issue templates are trash too.
and it's not like there is much of a problem moving from github to xyz later if they feel like they need to. this just makes their burden of infrastructure less and reduce friction with all the contributors. of course bugzilla is still the main way to file bugs/submit patches. the overhead on cinnabar was pretty tangible and real for doing any kind of meaningful work on the codebase with git.
A bit sad (I prefer hg.) But at least just about everyone is now using a VCS, which was very far from the case when I started programming seriously back in the early 1980s.
Eh, I mean if GitHub does something really crappy, it wouldn't be _that_ hard for them to move to GitLab or self-hosted. Git remains a free and open standard.
Think of it as a further endorsement for Github. As if they need any more at this point. They're a decent Git host but you know why Microsoft bought them.
I don't blame them but I do feel there's a certain irony at work. The same forces that lead us in the direction of a browser mono-culture also lead us towards a source control mono-culture!
Is it bad that Git has become a defacto standard? I do think the saturation of GitHub is problematic (for obvious reasons) but at this point Git feels as generic to me as like, I dunno, DNS. Unless there's more going on that I'm not aware of, which is always possible!
Personally, I enjoy that we rally around a common set of tools, as an industry. And Git is probably the best choice in its category. But that may have to do as much with adoption and network effect as it has with inherent quality. It's an advanced tool, but many folks struggle with the less common tasks, while many others struggle with even fairly basic things like a rebase. In an ideal world, if I imagine it, there'd be a tool like Git that lives at a different plane of usability. And I am unsure that a monoculture would be very encouraging in ever getting us there.
Sure, but what's the point if the entire universe is pushing you toward Git. I understand that Mercurial has non-zero usage, just not anywhere where I ever worked.
For a while, I was an absolutist on the git CLI. Recently though, I've been using fork for git. I've found that it is much easier to do rebases on it than the interactive mode. It's good to have something as powerful as git, and then build upon it to make it accessible to everyone.
It's a tool that's as powerful as you need it to be.
On my personal projects I basically just git add . , git commit . -m stuff , git push. Do that every 30 minutes and it's effectively a better Dropbox.
If I'm doing something more advanced I'll checkout a branch every now and then. The only time things get hard is when multiple people are editing the same file.
Well git was a tool built for bazaar style development. If you’re a closed group of trusted developers, I think fossil is a better solution. Fossil comes with issue tracker, forum, chat and perfect offline support for all of them, and is much much simpler to use than git. Git in general is just very confusing for new users.
Then there is also darcs as an alternative to git that has an innovative approach to patches that has advantages.
Personally I think we have GitHub monoculture in part because git on its own is insufficient. People in general don’t like the email flow (though personally I love it).
There are some extensions like git-lfs, though I haven't used them much. I do wish it was easier to check out repos without getting ginormous .git directories sitting around - even a shallow checkout doesn't help if it's got currently existing giant files in there.
That's a very bike-shedding take. Just because something is better than its competitors does not make it a mono-culture. There's no "nefarious plot" behind git adoption any more than "Linux is causing a UNIX mono-culture"
> Just because something is better than its competitors does not make it a mono-culture.
"Because something is more popular than its competitors" I'd agree with.... but better, I'm not sold: better on what terms? Personally, I had found Mercurial more pleasant to work with and more aligned with my philosophy of change control. In some sense that's "better" from my perspective. Git I find to be a complex hodge-podge that requires monk-like dedication to come to terms with... in some sense that's definitely not better. I always recommend Git to clients. Not because I think it's better, but because I think it's popular enough that random developer-types are likely to have at least passing familiarity with it. Call it network effects. But attribution to "better" may be misplaced.
The best doesn’t always win. Sometimes good enough plus an early lead is all it takes.
Git did what it needed and through large exposure to open source developers via the kernel community it took off and nothing else ever caught it.
I like it myself. Others prefer HG or even SVN.
But unlike choosing a text editor, network effects are very important for source control. It doesn’t surprise me too much that the majority of people would centralize on the same tool.
Git is actually better than Mercurial, though they both have a lot of the same features. It's way faster and actually simpler than Mercurial. There are some rough edges for new users compared to Mercurial, but Git is still the better system.
Eh. I thought Subversion was way easier to use (and thus better) than git, which is an absolute nightmare of complexity for people who don't need all the bells and whistles (which is most people). But so it goes, times change and all that.
I really don't get why people think git is uber-complicated for normal users.
I know: clone, pull, push, branch, checkout -b, merge, rebase -i. Those are my mainstays. The stash/stash pop stuff for a convenient power tool. And very occasionally, export to make a tarball.
It's so exceptionally rare for me to need anything else that I can't even think of anything else I've used offhand.
The first six are basic SCM, and IMO simpler to deal with than svn ever was. The rest... are conveniences that most don't need. Except rebase, debatably.
Rebase takes a short time to learn, but is well worth the trouble.
I've used a number of source control platforms over the years; git has been by far the easiest and most natural to work with for me. I've used it exclusively since around 2010ish, and have no regrets.
The git server can echo whatever it wants down to the client (this is how Github put in those neat URLs to create a PR when you push a new branch) so this is very much already possible.