adeekshith / watomatic

Auto reply app to enable auto reply for messengers like WhatsApp and Facebook Messenger
https://watomatic.app
GNU General Public License v3.0
434 stars 86 forks source link

Migration to independent platform for provision of source code #399

Closed linux-lukas closed 2 years ago

linux-lukas commented 2 years ago

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

mawoka-myblock commented 2 years ago

All in all, good idea, BUT this would mean remaking the CI and loosing the great weblate integration, but it's @adeekshith decision. In general, I can understand why Codeberg is better, but GitHub is just better integrated with a better user-experience and, not to mention, a greater community.

linux-lukas commented 2 years ago

Of course, it wouldn't be an "overnight" move, but would have to be well coordinated beforehand so that things like the CI work to the same extent.

Weblate itself could also be connected.

The effort would be so high in terms of personal resources that I would assume it would take more than one person to set up everything equally at Codeberg over a period of weeks / months.

linux-lukas commented 2 years ago

All in all, I believe that the effort would be worthwhile in principle.

adeekshith commented 2 years ago

Hi @Lukas2112 👋 Thank you for raising the issue. So much so as I would like to prefer an open platform wherever possible, I will have to agree with @mawoka-myblock for now.

Codeberg's terms and conditions I felt restrictive:

Private repositories are only allowed for things required for FLOSS projects

I host many repositories which are for my personal use. Codeberg does not allow me to host those.

Forks, migrations and testing repos are considered as inactive when they don't contain unique contributions and are inactive for more than a month. They shouldn't be kept for a prolonged amount of time, and thus might be removed after notifying maintainers and providing a 90 days period to ask for preservation.

I do not want to keep committing to a project just to keep them hosted. Most of my projects go without any code commits for a couple months once in a while so this scares me.

So I plan to run a self hosted Gitea instance sometime in the future. Waiting for Gitea federation. First as a mirror and then slowly migrate things one by one. That would help us migrating to Gitea at our own pace 🙂

linux-lukas commented 2 years ago

@adeekshith, I can understand your points very well and I first wanted to draw attention to the problems that GitHub poses, even though I can also understand why GitHub was chosen, so basically.

The effort to implement a federation function in Gitea will be a gamechanger in my opinion and also promote independence of open source software and hardware projects from GitHub or GitLab (gitlab.com ; self-operated and only with FLOSS components would of course also be independent again).