Migration to independent platform for provision of source code #2824
Replies: 2 comments 1 reply
-
I appreciate the detailed post but I'm very happy with GitHub and the engagement it drives. I do mirror it to a local gitea instance in case GitHub goes down in flames. My mirror includes all the issues and post history. |
Beta Was this translation helpful? Give feedback.
-
I have been on Codeberg for quite some time (about a year I guess) and am monthly donor via Liberapay. I also closely follow the ActivityPub integration of fediforge team for Gitea (example), and am a big advocate of federation. All these said, Github provides few things that codeberg doesn't:
In spite of the points above, having a read-only 1-to-1 automated mirror on Codeberg (with issues, PRs, discussions and etc) would be ideal. When the ActivityPub gets integrated in Gitea, I would personally start thinking about potential migration and suggesting it to @borgmanJeremy and other devs. Until then, I believe at most a readonly mirror is the only move that worth the headache. Thanks for opening the discussion. Since the launch of copilot and the licensing issues I have been thinking about this but I every time land on the same conclusion. |
Beta Was this translation helpful? Give feedback.
-
A. Problem / Goal
Since the purchase of GitHub by Microsoft in 2018, a dependence on the BigTech corporation can no longer be denied.
On the one hand, I can understand why GitHub was chosen as the platform for making source code available: "Everyone is here".
On the other hand, I see the danger of a vendor-lockin effect and that open source projects become centrally dependent on Microsoft. In my eyes, this is very dangerous for free and open source software and hardware projects.
In the medium and long term, the goal would be to become independent of GitHub and thus of Microsoft. The Gitea-based Codeberg project of Codeberg e. V. in Berlin would be a good choice here.
There are also (legal) problems with compliance with the licence of GitHub functions, such as the co-pilot.
B. Solution
My considered solution to the problem described in A. would be the following:
A user of this open source project creates a user account on https://codeberg.org/
If necessary: This user creates an organisation for the project.
A "personal access token" is created on the GitHub account, which has appropriate rights to the organisation repositories, using the developer options in the settings.
all repositories would be migrated with this access token into the ownership of the organisation created in step two.
Regarding step four, there is an entry in the documentation of Codeberg: https://docs.codeberg.org/advanced/migrating-repos/
C. Alternatives
A possible alternative would be to perform the first three steps as described in B. A possible alternative would be to perform the first three steps as described in B., and modify the fourth step to include a mirror of GitHub. So that all issues and such that would be created in the GitHub repository would be transferred to the Codeberg repository.
D. Responsibilities
I would see the responsibility in the owners of the repository and, if necessary, additional project participants.
E. Other
Basically, a look at the documentation of Codeberg is not unwise: https://docs.codeberg.org/
Should it be necessary to manage repositories in organisations, this is also possible under Codeberg, see: https://docs.codeberg.org/collaborating/create-organization/
Regarding licensing there is a page in the documentation of Codeberg: https://docs.codeberg.org/getting-started/licensing/
Funfact 1: The Pixelfed maintainer has written on Mastodon that he is considering migrating the Pixelfed project away from GitHub, to Codeberg: https://mastodon.social/@dansup/10869007146309141
Funfact 2: Aral had migrated - also on Mastodon - to Codeberg for his GitHub projects as well as those of his Foundation, which he organised together with another person, Small Technology, or is still migrating: https://mastodon.ar.al/@aral/108651118032076133
Beta Was this translation helpful? Give feedback.
All reactions