[Organization] Migrate to Codeberg
This is for the organization of Smithay as a whole. I'm opening this issue here for lack of a better place to discuss.
Given that GitHub has recently moved to adopt programmer-hostile technology, it was discussed in chat whether we should migrate the Smithay organization to Codeberg instead. It is a similar platform with similar features, built on Forjego.
The main pain point would be migrating over CI. Codeberg has its own CI offerings, but they are somewhat limited. I'm willing to expand my CI system to cover Smithay's use cases.
We should probably also discuss whether we should keep a GitHub mirror open or migrate entirely to Codeberg.
cc @Smithay/publishers
I'd be alright migrating to Codeberg and keeping a GitHub mirror, but disabling issue creation on GitHub. 👍
I don’t have anything new to add beyond what I already said on Matrix. I’m just posting here to keep the GitHub discussions in sync: This will most likely kill off my remaining contributions, as work on Smithay is already a side project to my side project of working on open source at all.
It's just easier to do a drive-by protocol implementation, update of the supported protocols list, review some changes, or do a new release, when it's just a one click away from my other unrelated work. (In fact, the barrier of entry is so low, I sometimes do that when I wait for CI pipeline to pass in some other project, just because the GitHub notification happened to pop up)
Obviously, I'm aware that those points are null to people more invested in the project, for whom keeping track of a separate platform just for Smithay makes sense.
I'm not really familiar with Codeberg/Foregejo (I still haven't contributed to anything hosted there yet; unlike Gitlab which I've used a lot and been happy with), but this generally seems reasonable.
- My largest concern would be making it harder (or at least more effort) to contribute and report issues, as @PolyMeilex says.
- Accepting issues and/or PRs on multiple platforms would be a hassle to deal with.
- I'm not sure how much impact this has.
- And that impact decreases if a lot of other projects are moving as well; so people may be dealing with Codeberg regardless.
- How reliable is Codeberg currently?
- For git crate dependencies, I suppose a Github mirror can always be used, if that's more reliable. Anyway.
- Github seems to be on a downward trajectory for reliability itself.
- I'm not sure about CI
- Should we try to self-host a CI runner?
- If we're able to use codeburg-hosted CI for everything we need, it's probably good to donate anyway (not sure who here may already be donating to Codeberg).
- Codeburg is run by a small number of people and is in more danger of just disappearing at some point than something like Github. But a Github mirror, and maybe making some effort to back up issues and PRs, could help here.
Oh, and I suppose calloop uses Windows and macOS CI, which presumably Codeberg doesn't provide, and would be a hassle to self-host. That's not a concern for most things Smithay develops though (technically I could add macOS CI for wayland-rs).
I'm a bit wary of moving away the platform from where all the users are (even if it seems to be heading in a dubious direction). But I do like Codeberg/Forgejo, using it a bit and reading the documentation.
For a sense of scale of userbase, looks like https://codeberg.org/forgejo/forgejo is the Codeberg repository with the most stars? At... 2.7k. Versus Github where smithay already has 2.3k stars. Probably fair to say it would get fewer stars on Codeberg (though the site may be seeing more and more users); not sure to what extent that translates to a reduction in people reporting issues and sending PRs, but I suppose it would to some extent?
Stars are kind of a bad measure of popularity. Equal to likes on twitter. What I'd care about is ease of contribution, CI and uptime.
Yeah, I'm just trying to guess how much smithay (and other projects from the organization) being on Codeberg is going to impact contributions; but ultimately that's hard it predict.
I don't think it's particularly hard to use, though there's a bit of friction involved in setting up an account, adding an ssh key, getting used to the somewhat different layout from Github, etc. And just dealing with a different site when you're already using Github for various things.
Forgejo seems pretty featureful now; though Github, Gitlab, and Forgejo all have some features the others lack.
Not sure about typical uptime for Codeberg. Presumably worse than Github? And it's been getting a lot of traffic lately.
For CI:
Due to outstanding security issues and bus factor (we need more maintainers for our CI service), we are currently providing hosted Actions in limited fashion: see https://codeberg.org/actions/meta. If you need Codeberg to host your CI, please use Woodpecker CI instead.
https://docs.codeberg.org/ci/actions
So Codeberg-hosted Forgejo actions (which is quite similar to Github actions) doesn't sound like a practical option at the moment. Self-hosting a runner isn't very difficult, if you have somewhere to run it.
There's also Woodpecker CI; but I'm not sure exactly how that compares. @notgull may have some opinion on that since he linked his own instance.