Forgejo: A self-hosted lightweight software forge
278 comments
·January 19, 2025jazzyjackson
geek_at
> no premium upsells
So.. like gitea?
From my understanding the fork was done because gitea created a company to build custom-features for companies if they ask. Not really many indicators for a rugpull
mort96
The pricing page (https://about.gitea.com/pricing/) talks about paywalled "Enhanced enterprise-level features and experiences". Are you sure that doesn't count as a premium upsell?
ffsm8
[flagged]
bramhaag
> and never actually does anything new afaik, it's just Gitea under another name, while taking money too
This is really unfair to the many people who spend their free time working on Forgejo, please stop spreading nonsense. They have worked hard on "boring" improvements like translations, accessibility and proper unit and e2e testing, but also UI improvements, federation support, and other genuinely new features (asset quotas, wiki search, ...). Take a look for yourself: https://codeberg.org/forgejo/forgejo/pulls.
Regarding the money part, Forgejo is not monetized. It is a true FOSS project (recently re-licensed as GPLv3), not open-core like Gitea. The only funding they receive is from donations and grants, they are not selling a product.
huijzer
> (and never actually does anything new afaik, it's just Gitea under another name, while taking money too)
What evidence do you have for this strong claim? I’m using Forgejo and contributed to the docs once. It seems to me real work is happening in Forgejo. A lot from what I can see is stabilizing infrastructure and fixing bugs. Seems perfectly reasonable to me.
Macha
The money that Forgejo takes is €60/month in Liberapay donations, and some grants to develop federation features so I think it's a little disingenuous to compare it to Gitea's pivot to open core and hosted cloud service.
remram
> Gitea goes commercial, making previous community contributions into essentially free labor for their profit
Gitea (like Gogs) is under MIT license, which allow commercial applications. Is the new expectation of open source that we grant everyone license terms that they shouldn't use? I don't understand this at all.
Forgejo is under GPL-3.0, which also allows commercial applications. Should we expect the Forgejo community to start name-calling any company that would use Forgejo according to its license terms?
mardifoufs
How viable is gogs right now? I see that there is some activity on the repo but I guess there's no reason to not use Gitea or Forgejo?
xena
It's more like "forge place" in the same way that kafejo (cafe) is "coffee place".
colanderman
It's actually more like "distant gay" (and would be pronounced with a hard "g") because it's a (presumably deliberate) misspelling of forĝejo.
Karliss
That's English for you, same word is usable for describing action, place and the furnace.
ebzzry
Actually, they thought that the Esperanto word for forge, is «forgejo». When somebody pointed out, that «forgejo» (fora gejo -> forgejo) is «faraway gay person», it was already too late. So, now they say that it is inspired by «forĝejo», which is the word for forge.
asddubs
I was kind of passively wondering the other day what the main differences were between gitea and forgejo at this point, since they've been separate projects for a bit now. It seems there aren't any direct comparisons I could find, though.
nikodunk
The Fedora Project (Linux) is switching to this, FWIW https://fedoramagazine.org/fedora-moves-towards-forgejo-a-un...
synergy20
this is big!
KingMob
I got curious about why Forgejo split off from Gitea, and it seems like yet another case of broke FOSS creators/maintainers getting screwed from above (and maybe below too).
From the Gitea incorporation announcement (below), it looks like they couldn't pay their bills as FOSS, and there were wealthy free-riders (which the MIT license allows).
> "Over the years we have tried various ways to support maintainers and the project. Some ways we have tried include bounties, direct donations, grants, and a few others. We have found that while there have been many wonderful individuals, and a few corporations who have been incredibly generous, and we are so thankful for their support, there are a few corporations (with revenues that are greater than some countries GDP) are building on Gitea for core products without even contributing back enhancements. [emphasis added]
I'm not a fan of Bruce Perens, but he kind of nails the problem when he says:
> "We have a great corporate welfare program, our users are the richest companies in the world. Indeed, we've enabled companies like Google to be created.
> "In contrast, if our developers aren't working for those companies, they probably go un-compensated."
----
On the flip side, the community rebelled when the creators formed a company, but not supposedly because they formed a company, but because that co held the domain and trademark. Seems like a small hill to die on to me, but I don't know the details.
Regardless, it looks like exhibit #187 of FOSS failing for anyone outside of hobbyists and FAANGs.
lolinder
FOSS isn't a business model. It never was and never will be.
What Free Software always was is an ethical movement—one which didn't need to prioritize income streams because the point wasn't sustainable development, it was user freedom. Nowhere in "users should have the freedom to do what they want with software" does it say "and we should be able to pay a few developers a salary for their work towards that fundamentally ethical goal". Under the original paradigm and goals, any income streams are just cream on top of doing the right thing.
According to the OSI's history of itself [0], at some point people got it into their heads that the open development model was inherently a good one for business, too—Netscape jumped on board, and then some people got together and decided to rebrand Free Software:
> The conferees decided it was time to dump the moralizing and confrontational attitude that had been associated with "free software" in the past and sell the idea strictly on the same pragmatic, business-case grounds that had motivated Netscape. They brainstormed about tactics and a new label. "Open source", contributed by Chris Peterson, was the best thing they came up with.
The word FOSS reminds me a lot of American corporate Buddhism—mindfulness and meditation totally removed from its original deeply religious context and turned into some sort of self-help program, with the result being something that would be barely recognizable to the original practitioners. Free Software was never about sustainable development. It was about doing the right thing—enabling user freedom—because it is right. Everything else was just means to that end, but at some point along the line the means became the end and we started wondering why FOSS wasn't paying the bills like it was supposed to.
[0] http://web.archive.org/web/20071115150105/https://opensource...
notdiaphone
> FOSS isn't a business model. It never was and never will be.
This seems an interesting point and one I share. Yet it seems equally unethical to enable the corporate extractavism that we now see. It's time the "users should have the freedom to do what they want with software" be updated to something like 'users and makers should be free of coercion and exploitation by software.' What, after all, are the grounds for such freedoms? Are they issues of property? Or are they ones of the dignity of the persons involved? It doesn't seem controversial that we tend to find it problematic if another uses us as means to their ends without our consent. In personal actions, many act as if they believe this. Yet corporations consistently do not act with those values. You're right: we should strive toward a system not in which it's viable to create businesses out of FOSS but in which both users and developers are not exploited or used unwillingly.
fluoridation
>Yet it seems equally unethical to enable the corporate extractavism that we now see.
If someone uses and benefits from your product, at what point does it become "unethical extractivism"? If I as an individual figure out a way to build a business centered around your product that you make for free, is that already unethical, or is it at a later point?
>It doesn't seem controversial that we tend to find it problematic if another uses us as means to their ends without our consent.
But you gave your consent by publishing software for anyone to use.
KingMob
> What Free Software always was is an ethical movement—one which didn't need to prioritize income streams because the point wasn't sustainable development, it was user freedom.
This actually illustrates the key flaw in Stallman's understanding. To him, "user" encompassed both humans and megacorporations. But a corporation is an abstract legal convenience, cannot feel the pain of being "thwarted" in its use of software, and thus, want freedom. Freedom is only an ethical good for humans.
Further, I would argue that providing megacorporations with unpaid labor is deeply misguided, if not actually unethical itself. Encouraging otherwise borders on encouraging exploitation.
tl;dr Nobody should go broke to enrich Bezos in their spare time, and encouraging THAT is unethical.
bigstrat2003
Stallman's reasoning wasn't flawed (at least, not in the respect you state). Corporations are simply a group of humans. I don't think there's a good argument to be made that humans should have a right to X, but suddenly lose that right when they get together as a group.
> Further, I would argue that providing megacorporations with unpaid labor is deeply misguided, if not actually unethical itself.
Nobody is "providing megacorporations with unpaid labor". People are making an effort to put something out there for the benefit of the entire human race, and if that includes corporations that's fine. Not one person is harmed if Amazon takes my open source project and uses it to turn a profit, even if they make it into closed source. My project remains freely available for the benefit of all, just as it was before Amazon used it. So who exactly has been harmed? Not me, I'm in the same state as I was before. Not my (non-Amazon) users, they are in the same state as they were before. Not Amazon, of course. If every single person is no worse off or even better off than before, I don't see how you can argue that the corporate users are doing something unethical. It seems to me that really this isn't about ethics, but is about "we don't like those icky people" masquerading in pretty sounding language.
> tl;dr Nobody should go broke to enrich Bezos in their spare time...
Nobody should go broke to make open source software, period.
asddubs
Well, stallman would probably advocate for the AGPL in such cases, which the megacorps are still wary of.
spookie
Sometimes I wish I could upvote twice in replies like this.
nirui
Many open source developers has misread the room and thinking the environment is still like it was 15~20 years ago where open source software were the works of hobbyists who has a well-paid day job and only here for street credit.
You know who read the room correctly? GitLab. They've found a balanced way to offer their product under an open source scheme while keeping their lights on. They've earned trust as well as income, that's a job well done.
If one wants to live off of their open source work, then they need to run it as a business and perform appropriate business tricks. Otherwise their own effort may one day become their own rip-off. Not saying anything sinister, but fairness is a balancing game, if you hard work don't treat you well, then it's unfair too.
plagiarist
GitLab has collected a few severe CVEs. I would choose "v4 final final actually final" folders as a versioning scheme before I used them. It is surprising to me that they have any users at all.
fluoridation
What does that have to do with whether it's a successful business?
evanelias
GitLab isn't profitable yet, at least on a GAAP basis. They're definitely moving in that direction, and I hope they'll get there, but IMO it's a bit early to put them on a pedestal.
jcarrano
Copyleft licenses are supposed to prevent to an extent this sort of free riding, but they are no longer "fashionable".
I don't see the point of refusing to add additional (copyleft) terms to a license, only to end up hoping companies act as if the terms existed out of good will.
Companies like Google love the permissive licenses, and go as far as to sponsor MIT/BSD-licensed replacements to common building blocks like toybox.
EDIT: I see that Forgejo v9+ is indeed GPL-licensed.
kstrauser
I released a tiny toy fun project under the GPL. It’s the kind of thing that no one could possible want to monetize, but the first PR was someone pleading the case that I should relicense to something more friendly, like MIT. I’d never before been so instantly tempted to ban someone from a project.
KingMob
I agree that copyleft is less fashionable these days, but I think big companies have figured out all the tricks they need.
Case in point: Amazon offers a hosted Grafana service, which is AGPL. They may not be able to meaningfully change the code in secret, but they can still impoverish the actual Grafana creators trying to sell Grafana as a service.
mardifoufs
How exactly does that apply? What's the "corporate welfare" here? Almost nobody is profiting off Gitea, especially not big tech. I know using the big tech boogeyman is useful to justify open source projects rugpulling on their licenses, but it doesn't even apply here. Not that it usually makes sense[0], but in this case it's not even something that the maintainers themselves ever alluded to.
[0] projects like MongoDB, ElasticSearch or Redis only became popular because they were OSS, and probably limited competition for years simply because competing with free is hard. only to then switch on their users years further down the line. So any money that they ever got was due to them being OSS in the first place since absolutely nobody would've used MongoDB 1.0 if it was a commercial product.
alberth
FOSS is a distribution strategy, not a business model.
diggan
> Regardless, it looks like exhibit #187 of FOSS failing for anyone outside of hobbyists and FAANGs.
Forks that survive after splitting off are cases of FOSS succeeding, not failing. Failing would mean closing down, in this case it's replicating with changes, we (the public) are getting even more options.
The idea behind choosing a license like MIT is that people can create forks from your work, requiring not much more than attribution. If what the license calls out as valid is considered a failure in your eyes, don't choose a license like MIT.
notdiaphone
This paints it as if Gitea was not a fork of Gogs specifically to turn a profit out of something they did not make on their own. I might be more sympathetic if they'd created Gitea, but given it's a fork of another project, it looks a lot like they're playing the same game that beat them.
layer8
I don’t think this is quite correct. Gitea was a community fork of Gogs, because Gogs was limited by its single maintainer, who was often unresponsive for months. See https://news.ycombinator.com/item?id=13296717
DandyDev
In a way that makes it worse. A community fork that is repurposed by a select few to make money off of work that those few did not do for the most part.
Vampiero
It's not that FOSS fails, it's that unethical corporations worth billions of dollars go unpunished for abusing it (because the law exists to protect them).
FOSS is fundamentally anarchy (the good kind that shows that human beings are not all pieces of shit). Anarchy can't exist in a capitalist society because it shows people that they don't HAVE to live like slaves. They can live as members of tribes, as evolution intended for us.
So as always the organism is originally healthy and successful until the parasite that is capitalism spreads and suffocates it for its own reproduction.
rglullis
> They can live as members of tribes, as evolution intended for us.
Please, quit the cheap sophistry.
Evolution doesn't intend or plan anything for us, and you will have a very hard time convincing people that we would be better off living in a tribal/clan society than whatever we have today.
Vampiero
Evolution intends in the sense that it follows an abstract fitness function. I didn't think I'd have to explain that here. I know how to implement evolution algorithmically.
And no matter what you think about tribal societies, we still live in tribes every day. You and your close friends are a tribe. Your family is a tribe. Forums and now social media communities are tribes. HackerNews is a tribe. Open source projects are tribes, indeed they fork over ideological differences all the time. Political parties are tribes, indeed they split and antagonize each other all the time. Nationalities are tribes. Companies are tribes. Social classes are tribes. Subcultures and "identities" are tribes.
We are not built to handle global contexts, so we collapse them into tribal ones. We do that for everything. There's always an in-group and an out-group and a hierarchy if we're talking about a cluster of people.
dotancohen
What is unethical about the actions of the corporations who use the software? They did so in accordance with the license.
Vampiero
The fact that Open Source is about sharing, and they don't share. They only take. It doesn't have to be written in legalese somewhere, it's the spirit of what makes Open Source what it is.
And I'd argue that doing something for profit is also against the spirit of open source, but that's a different argument. The thing is that open source is for the most part an effort from hackers, hobbyists and professionals who want to foster a positive ecosystem for people like themselves. To make their passion better and simpler and more fun and more accessible and more interesting and safer and more efficient and more general... So that more people might fall in love with it.
It's not to push a product or to convince people that they need it. And that sentiment comes from the fact that open source is the reason many people got into programming in the first place! Thanks to all the free resources out there. So they want to give back to the community. That's how I feel about it at least.
But then again, when huge corpos contribute to open source it's great because they have a lot of inertia. So I think that's a good thing, it's a positive feedback loop. My previous point is not black and white, even though I am obviously bitter about a lot of things.
layer8
Licenses are about legal agreements, not about ethics. Legality doesn’t imply ethicality (nor vice versa). If this was about legality, people would say so.
mardifoufs
Which megacorporation abused Gitea here? And how?
KingMob
I'm sympathetic to some of what you're saying, and I believe the original hacker ethos spurred some of the original FS impulses, but...
FOSS licenses don't, and can't, embody anarchism (or any socialism) because they make no distinction between humans and capital-holding entities, lumping them all under the term "users".
lloeki
An interesting aspect of Forgejo is ongoing work on forge federation
https://codeberg.org/forgejo/forgejo/issues/59#issuecomment-...
In an ideal world github and gitlab would also support federation, but I guess that's probably not going to happen.
An alternative solution in the problem space would be going p2p, e.g https://radicle.xyz/
franga2000
It's a shame "federation" these days basically just means "implement activitpub". So many projects get caught up in the complicated mess of mapping their data model onto AP, debating about how exactly to map things and writing standard extension proposals....
Useful federation between Forgejo instances could be solved with little more than OIDC and a few webhooks (cross-instance collaboration, forking, and PRs). Nobody needs federation between Forgejo and Mastodon - what would that even mean??
diggan
> So many projects get caught up in the complicated mess of mapping their data model onto AP, debating about how exactly to map things and writing standard extension proposals....
Well, you either use an existing standard so you can federate with existing implementations, or you come up with a new standard and ask others to implement that. Seems they chose the simpler way, thankfully.
> Useful federation between Forgejo instances could be solved with little more than OIDC and a few webhooks (cross-instance collaboration, forking, and PRs).
What about federation between more software than just your own? Once you've done those things, you basically end up with another spec (but informal instead of formal) that others also need to implement. So instead of going the informal way, they aim for the formal one. That does sound appropriate to me.
Slightly besides the point, but for someone who dealt more with decentralized/distributed systems than bloated authentication systems, it seems both simpler and easier to map+implement ActivityPub than implement OIDC+"a few webhooks", but that might just be because of my familiarity.
I'll say that ActivityPub is a pretty simple standard though, compared to what's out there.
adastra22
When I saw “federated github”, sharing activity feeds is not what I had in mind. I thought maybe making pull requests across instances or things like that.
FireInsight
I tend to agree that ActivityPub seems pretty horrifying to work with (as an outsider). At least it works, though, and is implemented by a large amount of different projects and not owned by any single one.
diggan
> seems pretty horrifying to work with (as an outsider).
As someone who both made my own implementation + hacked on others, what was/seemed to be the horrible parts? It's a pretty simple standard that is basically RSS with some added stuff (very simplified of course, before I got jumped) for facilitating the federation parts.
vaylian
> Useful federation between Forgejo instances could be solved with little more than OIDC and a few webhooks (cross-instance collaboration, forking, and PRs).
That would only solve the problem of "I don't have an account on this forge yet". The much more relevant problem is identity + reputation. With ActivityPub-based federation you can use your domain-bound identifier to contribute to various projects across servers and gain reputation and trust. If we use OIDC, then it is a lot less clear if the server, you authenticate with, is hosting the real franga2000.
plagiarist
It's already awkward just between Lemmy and Mastodon.
I guess Lemmy could be in the form of issues on the repo and Mastodon would be thumbs up emojis and/or "starring" the repo.
Yeah I wish there was a different protocol if we are jamming everything on top of it.
DicIfTEx
The federation page on the Forgejo Web site (https://forgejo.org/2023-01-10-answering-forgejo-federation-...) is out of date and most of the links don't work. They also used to publish annual progress reports until 2023 (on a Web site that no longer seems to be accessible: https://web.archive.org/web/20240830030315/https://forgefrie...).
Although the last mention of federation in a monthly update was in October, where they stressed that federation was and is their 'highest priority'.[0]
[0]: https://forgejo.org/2024-10-monthly-update/#:~:text=Forgejo%...
jwildeboer
FYI: Just last Friday there was a call/meeting to coordinate and build out the federation efforts in Forgejo. More work is coming and more help is appreciated! There will be a presentation at FOSDEM on this topic and there is a matrix room dedicated to Forgejo Federation.
imiric
Over the years I've come to the conclusion that all these UIs on top of Git make little sense. Git itself is already distributed, which goes beyond federation. Exposing a Git repo over the network is trivial with HTTP or SSH. It supports code review workflows via email, though I really like the approach of storing reviews inside the repo itself via something like git-appraise[1]. Integrating it with CI/CD pipelines _can_ be simple, if the pipeline can be triggered by pushes.
Instead we've created these centralized UIs over Git, and are trying to get them to integrate with one another. This seems backwards to me since Git is already decentralized.
yencabulator
There's value in quickly browsing files of a project without needing to clone it first -- especially for quickly linking others to specific lines, API docs linking to implementation, etc. That needs to expose content at every commit, for stable links. So, some sort of a "web git viewer" is very useful.
Unfortunately, the more minimal read-only ones have ended up with far worse UX than the Github clones, or are a scary tangle of shell scripts and/or C. :-(
(Anyone want to collaborate on a Rust-based read-only git browsing web UI that aims for great usability? I'm all in, I want one. I know how to make it handle search etc, I'm not great at wrangling CSS to will or getting navigation right.)
KingMob
I suspect the reason is the same as the use of local git GUIs and TUIs; git has a terrible CLI, so everyone uses its plumbing, but not its porcelain.
lee_ars
Yeah, there's a reason why stuff like the git manpage generator (https://git-man-page-generator.lokaltog.net/) is funny, and it's because git's CLI doesn't have a learning curve. It has a learning brick wall that you smash your face into.
acidburnNSA
I needed something like this 16 years ago at work to manage shared code, tickets, and code review of private code across a team of engineers. Code review for formal quality assurance was the most important need. I started with trac, then Phabricator, then GitHub enterprise. I just checked out git appraise to see how my nuclear and mechanical engineer friends would like it, and from what I see, I'm guessing they would not. We were using eclipse back then so maybe if that eclipse UI plugin still works it could work.
zufallsheld
Gitlab has experimental support for activitypub: https://gitlab.com/gitlab-org/gitlab/-/blob/v17.1.0-ee/doc/d...
See also: https://gitlab.com/groups/gitlab-org/-/epics/11247#why
lvncelot
Really looking forward to the federation, hosting Forgejo for my own stuff while having discoverability/issue tracking with other instances would be the best of both worlds. As of now I'm mirroring stuff across self-hosted forgejo/github.com/gitlab.com where the forgejo instance is just part of my self-hosting hobby and not "load bearing".
I think that Gitlab Cells[1] might go into the same direction, there is a mention of federation in the design document.
[1] https://handbook.gitlab.com/handbook/engineering/architectur...
3np
I would expect Gitea to merge back in federation functionality once it's stable if they get some help with it. IIRC that initiative started in gitea and I'm not aware of that level of animosity or divergence of goals between the two?
kstrauser
I’ve migrated over the years from Gogs to Gitea to Forgejo. It’s such an excellent piece of software.
90% of the time, I can get by with hosting my personal git repos on an SSH server I have. When all I’m trying to do is put my Chezmoi repo somewhere that all my computers can access it, Forgejo and friends don’t add much to it. For the 10% of the time when I want to share my code privately with some friends it’s brilliant (and free beats a GitHub paid plan). And if I’m going to have it running anyway for those 10% projects, might as well use it as my personal git repo of record for everything else, too.
antman
For my projects I have been using Onedev https://github.com/theonedev/onedev which has also kanban and code editor
diggan
You run that locally on your own machine, or you host it yourself somewhere? If the latter, you just stop programming fully if the internet connection for whatever reason doesn't work?
I'd never consider running my code editor as infrastructure, but certainly interesting to see that others seems to do.
evilduck
> If the latter, you just stop programming fully if the internet connection for whatever reason doesn't work?
It's privilege and probably a dose of luck but I can tally up on one hand the number of hours my house and/or phone hasn't had internet in the last 5 years, including total power losses. I also wouldn't run my editor as a hosted service but I can understand why someone in a similar position might take that gamble. It's certainly no bigger of a risk to me than being limited to working on something physically at a workplace and needing to rely on transportation to get there, which also has maintenance concerns and infrastructure congestion and reliability issues that have caused more productivity losses to me than my utility providers ever have.
antman
I just install the container remotely, cicd remotely etc and code locally. My use case is the opposite, I might need to do some adhoc support and not have the laptop with me so then I use the online code editor
robertclaus
I've used Github's built in VSCode for quick one-line PRs or docs cleanup. I'm lazy enough to appreciate the feature even if I would never do deeper work in it.
kstrauser
Not my thing but I see why others would like it. Forgejo is freaking tiny by comparison resource-wise, though. It’s a Go program that runs comfortably on a Raspberry Pi with a dozen other services. That alone makes it super attractive to drop onto any spare computer you have laying around.
HankB99
My first stab at running a git server was Gitlab CE (because I was using it at work.) I tried running it on an Atom based server with insufficient RAM and it just crawled. Page loads just timed out. I switched to Gitea and it was a breath of fresh air.
Forgejo got to my attention when Fedora chose it for their repo server. My needs are pretty simple - just some centralized file storage of notes and some source code. I've tested a migration from Gitea 1.21 to Forgejo 9 and it was frictionless.
I'm seriously consider migrating, but I still wonder which will be better supported (and suitable for free-as-in-beer use) in the long run.
kstrauser
I wonder about that, too. I’m still on Forgejo 7 which hasn’t diverged too much from Gitea, but there’s going to be a decision point soon.
When I looked recently, it looked like Forgejo was getting much more activity. If I had to guess, I think it’s going to be the leading fork.
mroche
Gitea 1.22 will be the last release with guaranteed migration support to Forgejo. The next Forgejo LTS release, v11, is due out around April. Migration from Gitea 1.23 will not be supported, and since it was released in December those on the fence are now at the fork in the road.
You still have time to figure out what to do, but you'll need to choose sooner than later.
okucu
Did you notice any important differences between gitea and forgejo (besides ideology)? Although it seems like forgejo has added actions in the meantime
kdmtctl
Gitea also has actions.
lolinder
Gitea actually got actions before Forgejo did. That was part of what motivated Forgejo to become a hard fork instead of just a rebrand—there was some sort of disagreement about the way in which actions were rolled out and Forgejo decided from there to stop trying to be fully compatible.
https://forgejo.org/2024-02-forking-forward/#the-hard-forkin...
okucu
I probably worded that wrong, but that was my point. Forgejo didn't have actions for the longest time, so I was wondering if it "caught" up with gitea
kstrauser
Not a thing. I don’t use actions yet, just the primary repo management UI. I don’t know if I could tell the difference.
KronisLV
I initially had a Gogs install, but moved to GitLab because of GitLab CI and some other features. It was a bit too heavyweight in comparison and the updates became difficult to keep up with, so I eventually moved over to Gitea and Drone CI (some might also like the Woodpecker CI project).
Honestly, my eventual next move will be either Forgejo with their Actions https://forgejo.org/docs/next/user/actions/ for CI/CD or maybe going off into the deep end with moving back to Jenkins.
kstrauser
I will never go back to Jenkins. It was my job across several shops over the last decade to keep that thing slogging along and I’m beyond done with it.
jcarrano
For me GitLab CI is a reason to move _away_ from it.
KronisLV
Really? What’d you dislike the most about it? In my experience, the syntax was actually more user friendly than that of GitHub Actions and the file based approach a bit easier to carry across projects than what Jenkins and the likes do.
Drone CI and Woodpecker both felt similar in that regard, at least to me. Though the docs of GitLab CI definitely make me consider it for group projects across an org.
jmpavlec
The tag line isn't the most informative. It took me a scroll or two on the main page to figure out its purpose. (Self hosted GitHub alternative). I'd suggest making that clearer earlier as the word "forge" in terms of software could have a variety of interpretations.
stevekemp
"forge" has been used since "sourceforge" if not longer to describe these kind of hosting-packages.
I guess technically you could have called Redmine, and other systems at the time, forges I think the term took off after that.
dotancohen
The only time I ever see Sourceforge mentioned is in advertisements on /.. I think most young developers today have no idea what it is, if they even know what /. is.
spookie
Young developers are still learning the ropes :)
hinkley
I used to use libraries that were hosted on sourceforge and I did not get the connection.
You can’t even rely on young devs to get Monty Python jokes anymore. Referring to a website that went away when jr devs were ten is a bad plan.
You’re old, dudes.
baobun
Disagree. Refering to GitHub as category-defining would be antithetical to the Forgejo spirit. Forgejo stands on its own.
phantomathkg
Disagree. Unfortunately Forge is not a well known category defining term. Using it as a tagline defying the purposes to popularize Forgego.
szszrk
Yet when posts online described it as an alternative/clone of GitHub/gitlab/gitea it was alsa received with criticism and complains that "what if I don't know what gitea is".
Naming and creating descriptions is not trivial, I wish more complaints would also simply come with proposals of better taglines, so we can bash those ideas quickly in comments and cut that long feedback loop.
rollcat
Disagree. SourceForge was established in 1999. The term "software forge" was in widespread use, until Github started gaining mainstream attention. But the term "hub" doesn't necessarily always refer to the same thing - e.g. certain adult entertainment website is also using it.
WhyNotHugo
Defining itself as simply an alternative to the mainstream is a not a great way to makes its own identity.
Imagine if Fedora presented itself as simply “an open source alternative to windows”.
Sure, that might be easier to understand for those less in the field, but really doesn’t help it’s own identity.
arp242
Forgejo is a GitHub clone. No one can claim with a straight face that it's somehow completely unrelated.
konart
Why Github and not Bitbucket?
yencabulator
Many of us remember life before Github, and web UIs for other version control systems existed before Git. Github is just a Trac clone and no one can claim with a straight face that it's somehow completely unrelated.
rapnie
And then all software revision control systems / forges have more or less the same conceptual model for their platform, and just adding their specific sauce and some tailoring to specific needs. Some more innovative and deviating platforms from this more-of-the-same approach are Sourcehut (brutal minimalism) and Gitlab (enterprise dev lifecycle, process support). And then there's the general trend for these platforms to become one-stop-shop maximized lock-in walled gardens, aiming to support the entirety of software development practices (while they seem open and gratis).
spookie
Calling it a software forge is the correct form. Even if the term isn't that well known. See: https://en.wikipedia.org/wiki/Forge_(software)
dmje
It’s clearly a self hosted GitHub alternative and that’s IMO the way to talk about it. And per other comments, it’s obviously this once you start using it - it’s basically the GitHub interface and it’s great that it is - it’s very familiar and easy to use
anthomtb
Thank you. I was trying to figure out what "forge" meant here.
When I think "forge", I think a tool to turn a raw material into finished product. Ergo, the blacksmith tool that turns iron into a horseshoe.
The software analogy would be turning text source code into a runable binary. Ergo, a compiler or an interpreter.
Github and SourceForge move source code from one place to another. To overextend the analogy, they are more like a combination shop/delivery service. Source code is moved but never altered or transformed.
Long story short, this crusty C/C++ dev thinks forge is a really weird term for a self-hosted, sugar-crusted Git server.
jwildeboer
After my struggles with trying to keep Gitlab CE (Community Edition) up and running (it needs a lot of CPU and memory) I switched to Forgejo and have not been disappointed. It runs as a rootless container and uses almost nothing, memory and CPU wise. Updating it has been a simple podman pull that JustWorks(tm).
It now also runs actions that keep my static websites updated by running Jekyll etc.
I really like it to have my own forge that can import repos, issues etc from other forges like GitHub, Gitlab etc. and I am looking forward to the upcoming ActivityPub based integration to the wider fediverse.
Having a decentralised, but connected approach to code hosting is what I always wanted to have and now it’s (almost) there.
jimjimwii
What is the status of federation support? I imagine cross-instance pull requests and bug reports would make collaboration effortless.
blacklight
I did my Github -> self-hosted Gitlab -> Gitea -> Forgejo journey over the years, and I haven't looked back.
Forgejo is great and it's probably going to become even greater once federation is done (having distributed forks and PRs across multiple instances solves the fragmentation problem of self-hosted solutions).
And I lost my trust in Gitea once it spun off a for-profit branch backed by VC money (which was exactly the reason why it was forked into Forgejo).
The only thing I lost from Gitlab is the out-of-the-box CI/CD platform. But I could migrate my pipelines to Drone CI and trigger them via webhooks. Just keep in mind that, depending on the complexity of your Gitlab pipelines, this may not always be an option. Anyway, for me hosting a Gitlab server that hogged up 5GB of RAM to serve a couple of small projects was a big no-no. Forgejo takes 500MB of RAM at peak.
bjackman
Can anyone comment on the code review experience? (I assume similar to Gitea but I haven't tried either).
I recently did some moderately serious code review in GitHub and discovered it's a baby's toy version of a code review tool. It seems it would be unusable for serious engineering work unless you totally design your source control model around making that work, at the expense of all the other things that influence how you wanna manage your history.
I am mostly used to Gerrit which has a very reasonable basic model but a lot of rough edges and some performance issues.
Suddenly I realised I don't think I've ever actually used a review tool I really like! I wonder if our industry is just getting by without one?
IIRC the Gitlab one was slightly better than GitHub but I can't remember too much about it.
acidburnNSA
I've used Phabricator and GitHub to design nuclear power plant design code... seems pretty serious. Can you tell us more about what's missing in your opinion from making the reviews usable? Curious what I've been missing out on!
bjackman
The fundamental issue is that GitHub thinks the artifact you are reviewing is code. But the artifact I want to review is a series of commits. I make review comments like "please split this into a separate commit", "please add info XYZ to the commit message".
GitHub doesn't offer any way to review changes to those things. If the author force-pushes (which is normal and healthy if you are iterating on a series of patches, instead of on a blob of code) there's no way to diff the details I want to look at.
Compare Gerrit where for each individual commit you can diff between two versions of that commit, with a side-by-side UI showing the comments inline that the changes were made in response to.
From speaking to friends I believe this is because "why would you force-push? Just push a new commit called 'respond to review comments'". When I said "but now your commit log is a mess" they say "no, you just squash the whole PR into a single commit when you merge it. So... yes, your commit log is a mess. Bear in mind there is also no support for dependencies between PRs. So basically, you are throttled to one in-flight PR per area of work at a time. So... your commits are gonna end up being huge. Not really viable for a large project.
I have noticed that there are major projects like k8s underway on Github and they seem to get by, so maybe I'm missing something. I know that Go allow PRs but if you wanna do serious contributions they will funnel you to contribute via Gerrit instead.
CraigRood
I miss Phabricator. Whilst it was certainly overkill for personal use, the additional applications meant I could do so much in one place and have everything integrated. Funny how what we have now, including GitHub feels a step back.
losdanielos
Have you tried Codelantis? It's a review tool for GitHub
andsoitis
Q: “What is Forgego?”
A: “Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.”
?
yawaramin
Without mentioning GitHub/BitBucket/GitLab/etc., how would you describe what they are?
pookeh
Collaborative development platform with Git repository hosting, CI/CD, and project management features.
thayne
I.e. a software forge.
I do think it would be good to have a link or something to explain what a software forge is to people who don't know.
cookiengineer
Great! Now let's see if someone really cares enough to make a pull request or whether these complaints are just superficial to have something to complain about.
ang_cire
Source code hosting and version control platform?
Borealid
"Forgejo hosts source code repositories, lets you track and manage issues (and review code changes), and provides all the integrations you'd expect with CI/CD and similar tooling."
rmgk
This seems to be a good tagline for a HN audience that kinda clicks a link blind and wants to figure out what it is quickly and move on. But it’s unclear to me why the Forgejo website should care about this type of visitor? Being a “forge” is likely well understood by anyone that is interested in installing this type of software (or they will figure it out because of the context that linked them to the page). None of the features you mention is a good discriminator, as essentially all forges have these features in one form or another, so an interested use will have to look at the details anyway. Being: “self-hosted, lightweight, easy to maintain” those are very important quick discriminators if you are looking at this type of software.
eviks
By describing what they do (also, there is no rule you can't mention github)
IshKebab
I don't see why it's so critical to not mention Github. That would instantly convey what it is to basically everyone, and it doesn't mean it doesn't have its own identity or anything.
fishgoesblub
"A platform to host your git repositories including collaboration features like issues, discussions, and a projects page to track important parts of your code base. All able to run on your server local and private."
null
ycombinatrix
Git hosts with proprietary features
TNorthover
Their communication really is all over the place. Even the name is really awkward in English.
(And yes, not everything should be forced to be English and it's apparently supposed to be Esperanto; but nothing else on the site is so that's not how most people will parse it).
yoavm
Checking out https://v10.next.forgejo.org/explore/repos , the main thing I notice in comparison to GitHub is how fast this is. I wish GitHub was so fast.
homebrewer
There are only five pages of repositories there, so it's no surprise it responds quickly. We've been running gitea for several years, and when you put enough data into it (repositories, issues, comments, etc) it doesn't feel as fast anymore, although most pages still render within 500 ms. For example, opening large-ish issues can stall the server for a second or two (it reports rendering time in the footer, so I'm sure it's the server).
zipy124
Click on any repo from: https://codeberg.org/explore/repos
It's very speedy. Not as much as sourcehut, but you get a nicer UI. Github is becoming slow enough to meaningfully detract from productivity.
coder543
I noticed some surprising load times on Codeberg’s Forgejo instance. For example:
- The first page of releases (out of only 63 releases total) takes 3–5.5 seconds to load: https://codeberg.org/forgejo/forgejo/releases
- The issues page is faster at ~1.5 seconds, but still a bit slow: https://codeberg.org/forgejo/forgejo/issues
- The commits page for the main branch (22k commits) is much slower, taking over 11 seconds: https://codeberg.org/forgejo/forgejo/commits/branch/forgejo
These load times were surprising to me given the relatively small amount of data being loaded (just the first page of results)... It feels like there could be an inefficient query at play here? The HTML responses aren’t huge (~400kB), and my ping to Codeberg (~125ms, US<-->Berlin?) shouldn’t be a major factor when just loading a single HTML document without factoring in other resources. I also have gigabit internet, and while there could be bottlenecks between here and Europe, they surely wouldn’t be responsible for slowing things down to this degree.
For comparison, I’ve run Gitea on a local server, and it’s been lightning fast, even with larger datasets. For example, on a test with the Linux kernel repo (1.3M commits), Gitea rendered the first page of commits in under 500ms. That’s a stark contrast to the 11 seconds it took on Codeberg’s Forgejo instance for just 22k commits.
I wonder if this slowness is more of a Codeberg hosting issue or something inherent to Forgejo, but I haven't tried Forgejo locally.
yoavm
I don't know if that's the whole story? Sure, GitHub has more data to process (and way more compute), but even when switching between tabs within one repo (going from code to pull requests, for example) GitHub is still much slower even though its query shouldn't be affected by the number of repositories it has.
bsdice
I have around 1.2 GB of compressed git commits on disk, still fast on an ancient Intel E3 1275-v6 with 64 GB of RAM and 2 TB Intel P3520.
Version 10 also now without any startup errors due to slightly wrong sqlite database structure.
Together with vscodium a joy to use.
jazzyjackson
Now picture it running on-prem !
NoboruWataya
Can anyone who migrated from Gitea to Forgejo explain the differences in usability? I understand the fork was driven by licensing/project ownership concerns but it's not clear to me from reading the website how different the end product is now. I believe Gitea is still being actively developed.
I host a private Gitea instance (mainly to mirror all my GitHub stuff) so wondering if it is worth migrating.
homebrewer
I evaluated it again a couple of weeks ago and there are basically no differences right now (besides a few cosmetic ones) because the hard fork happened just a few months ago. Stick on 1.22 for the time being, it's the last version from which Forgejo supports in-place upgrades. You'll have to transfer data half-manually or perform deep surgery on the database if you upgrade past 1.22 and then decide to switch forges.
Although the next version of gitea should include support for full mirroring from GitHub (so periodic synchronization of new issues, PRs, etc), not just (code mirroring XOR one-off full copy) like it does right now. This might be of interest to you.
adduc
A lot of their early value-proposition were saner security defaults and additions to increase confidence in the software's security. A lot of the changes were attempted to upstream into Gitea, but not everything made its way in. They were a soft-fork for a while before hard-forking, and even after the hard-fork continued to sync changes from Gitea where possible.
Forgejo v10 is the first release I've seen where there's been a focus on tiny UX improvements (versus trying to remain compatible with Gitea). I'm hopeful these will continue to come, but it does still feel essentially identical in appearance and functionality with Gitea.
isodev
They have a FAQ (https://forgejo.org/compare-to-gitea/) TLDR: Forgejo is free software, prioritizes security and stability over new features and is actively developing the federation module (thus working to enable communities of federated forges)
From the FAQ, forˈd͡ʒe.jo, to my midwestern ear, "4 Jay yo", Esperantese for Forge. A fork of Gitea [0] but managed via a non profit, no premium upsells, all freely licensed [1](GPL) etc.
Good to see their community outreach is via Matrix and Mastadon. My kind of nerds.
Apparently this is what Codeberg is running out, if you click . Looks like gitea/github to me, nothing wrong with that [2] source code is available from the little branch icon in the top right corner, hosted on codeberg which TIL is a forgejo instance [3]
[0] https://forgejo.org/2024-02-forking-forward/
[1] https://forgejo.org/2024-08-gpl/
[2] https://v10.next.forgejo.org/explore/repos
[3] https://codeberg.org/forgejo/forgejo