Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrating our forge from GitHub to something else? #42

Open
illwieckz opened this issue Sep 20, 2024 · 2 comments
Open

Migrating our forge from GitHub to something else? #42

illwieckz opened this issue Sep 20, 2024 · 2 comments

Comments

@illwieckz
Copy link
Member

So, continuing a discussion started on #11:

This thread is about the possibility of migrating from GitHub to something else, not about mirroring repositories somewhere else.

Here follows comments copied from the other threads.

@illwieckz
Copy link
Member Author

There is no urge and there are other priorities (like releasing Unvanquished 0.55.0 to begin with…), but the topic came again into discussion these days.

This thread has the purpose of gathering intel and knowledge about the feasibility of migrating the repositories to somewhere else than GitHub, so let's do.

We migrated from SourceForge to GitHub around the year 2012 while SourceForge was in bad shape. GitHub served well but is subject to some limitations and problems that may be avoided when being hosted elsewhere.

Self-hosting is ruled out as we don't have the manpower for that.

Among candidates may be platforms like CodeBerg or GitLab.com. GitLab has always been the first candidate we thought about for historical purposes, but we are open to other suggestions.

  • GitLab.com is the platform used by our friends of Xonotic, we have very similar needs and it looks to work for them (game engine, game code, game data, various authoring tools…), it is also used by other flagship projects like Samba and others.
  • GitLab.com was basically the platform where many people migrated to when Microsoft bought GitHub when “Microsoft [needed] the love of developers“. This also mean GitLab is well proven for importing projects from GitHub with dedicated tools on that purpose, that are or at least were massively used.
  • GitLab (the software itself) is used (as self-hosted) by many key and very-large open source projects like Freedesktop.org, KDE, GNOME, Wine, Debian, ArchLinux
  • Some Unvanquished-related software is already on GitLab like Mantis.
  • We already have an Unvanquished organization on GitLab and th Unvanquished data dump repository is already on GitLab and always had been, because historically GitLab has been more permissive than GitHub on storage size.
  • The temporary repository that was done to produce our data repositories was on GitLab too.

So the software is expected to be well tailored for FLOSS development and big projects.

GitHub has some problems that may not exist on GitLab.

  • Historically GitLab allowed larger repositories than GitHub, it now requires to ask for it but it can still be free for us.
  • GitLab now provides sub-organizations, so Unvanquished, UnvanquishedAssets and DaemonEngine can be all a childs of Unvanquished. It would allow us to move issues from DaemonEngine to Unvanquished for example, which is not possible on GitHub.
  • GitLab provides a parent issue view and a parent merge request view, making possible to get a list of all issues or merge requests in all repository. This is not available on GitHub (some said this may be a paid option).
  • GitLab makes possible to categorize labels (the label prefix is actually a label class), GitHub doesn't.
  • GitLab makes possible to have sub-threads in issues and merge requests, being able to collapse the whole thread when needed. In GitHub it is only available in pull requests and only for code review (the thread needs to be attached to a specific line).

In a more general way, GitLab is now the leading platform in term of available features and developer-oriented workflow, GitHub is now lagging behind GitLab for years. This is probably true since 5 years or more.

@illwieckz
Copy link
Member Author

The opportunity to quit GitHub went in the discussion these days while talking about the fact GitHub is now hiding parts of public projects to non-logged in users, requiring users to register and login to read what is meant to be public. It means the public projects are in fact made semi-private at the will of GitHub, and that GitHub is actually opaque web:

Here is an example of how two comments are hidden by GitHub in a thread of publicly-readable comments:

github opaque web

But those comments contains nothing private:

github opaque web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant