GTK at github: benefits?

I’m not sure if this is the right place to pose my question, but… I’m interested in the fact that while GTK is based at gitlab it also has a read-only mirror at github. Is the idea to increase the visibility of GTK among coders who might end up interested in contributing? And if so, does it seem to work?

I ask because the (GTK-based) project that I’m involved with is hosted by sourceforge, but one of our devels is arguing for a move to github. I’m not so keen on that idea, but setting up a read-only mirror there would be OK by me, if it brings some benefit.

Speaking for myself, I tend to use the GTK repo on GitHub when I’m on a smartphone because GitLab at times is very slow. As an example, navigating in directories with 1000+ files takes ages on GitLab (e.g. https://gitlab.gnome.org/GNOME/gtk/-/tree/master/gtk).

1 Like

This seems like two questions (and I guess gitlab/github are pretty much interchangeable):

  1. Does mirroring to github increase visibility?
    I think it does, at especially, if it’s not read only. Otherwise it’s a nice thing to leave a link to the correct repo in there. But I would instantly loose interest if it is anything else then gitlab/github.

  2. Would a move to gitlab/github be beneficial?
    I would think so, I haven’t really worked with sourceforge, the reason for that is, that it always seemed confusing and most times locked down. I have seen some repos with decent forums/issues, but I don’t think I’ve ever written anything on it. And right now I would have no idea how to contribute code on it. I would guess, that there are a lot of people like me.

Not really…

…but if we hold that assertion to be true this question becomes entirely moot

I don’t think anyone is suggesting we use Sourceforge :slight_smile:

Correct, but his writing switching between gitlab/github made it hard to see through what he really is after.

He said his GTK project is using sourceforge atm.

Sorry if my question was confusing, here’s an attempt at clarification:

  • GTK is based on gltlab, but also has a read-only github presence.

  • My project is based on sourceforge. We’re wondering if it’s worth setting up a read-only github presence.

  • I thought GTK guys might having something to say about benefits of having a github presence even though it’s not actually your base (whether your base is gitlab, sourceforge or …).

The GitHub mirror for the GNOME repositories was set up back when GNOME’s infrastructure was based on cgit. It was created mainly for one reason: allowing people without a GNOME account to easily set up a forked repository for their work, before submitting patches for review in Bugzilla.

To avoid confusing contributors, both pull requests and issues were disabled in the GitHub mirror.

Since then, GNOME has switched to GitLab, which makes a lot of the reasoning for a GitHub mirror moot:

  • you can easily create forked repositories and open merge requests
  • you don’t need a GNOME account to do so

Still, it’s easy to see that anybody with a GitHub account, and familiar with the GitHub workflow, might just want to use the mirror to contribute to GNOME projects. For that reason, the GitHub mirror runs a script that intercepts pull requests and redirects them to GitLab.

My personal recommendation is not to set up a GitHub mirror for a smaller project. It works on GNOME because GNOME has a fair amount of repositories, and you can easily set up an organisation for it. Plus, GitHub deals with that kind of organisational mirroring pretty easily.

For a smaller project, I’d either recommend switching to GitHub or, if politics are an issue, to GitLab. I would not recommend SourceForge as a code hosting service in 2021, even with all the changes that their new owners introduced after their spectacular set of boneheaded moves 10 years ago, where they were more of a spamware server than anything else.

The benefit of GitHub is, of course, not in the workflow—as any code forge is essentially reimplementing it—but in:

  1. the reliability of the service
  2. the integration with cloud building for CI/CD pipelines
  3. the social and outreach aspects of coding open source software

None of those are going to be useful to you if you’re just hosting a mirror—except, maybe, the outreach part, which requires some integration tool to ensure that people using the mirror can easily submit code contributions through GitHub, or, at least, be pointed to the right place with minimal cost. Something that, I suspect, is the reason why one of your developers is asking for a wholesale move to GitHub in the first place.

3 Likes

Thanks, Emmanuele, that’s all very clear and helpful. We need to think through how your points apply to our project.