Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Mastodon needs a plan to migrate off its Microsoft/Github repository server #22572

Closed
broukema opened this issue Dec 20, 2022 · 14 comments
Closed
Labels
bug Something isn't working

Comments

@broukema
Copy link

Steps to reproduce the problem

I was trying to find the source of the Mastodon software code at web pages like https://mastodon.social/about, https://mastodon.online/about, https://mstdn.science/about, https://musician.social/about .

Expected behaviour

I expected to find the free software hosted on a server run by an organisations whose track record is ethically consistent with the aims of community software.

Actual behaviour

I found that most of the typical running Mastodon instances point to a repository hosted on a web server run by a firm that was bought by a highly unethical corporation called Microsoft.

Detailed description

It is inconsistent with the goals of having a community based software ecosystem for running community discussions to continue to develop Mastodon software on Github now that Github has been bought by Microsoft, a corporation that is infamous for its 'Embrace, extend and extinguish' policies towards competitors - both proprietary and free-software competitors.

Proposed Solution

Individual instances can shift to their own forges without waiting. For example, Framapiaf.org points to a framagit repository.

Main development forge
A plan and announcement of when a migration to an ethical repository server (forge) such as Codeberg is planned should be proposed. This should be when, not if.

For example, waiting for more maturity for ForgeFed might be among the criteria. A way of announcing to the community that the 'issues' structure may need to be reconstructed at the new repository server (forge) would be needed. A rough consensus among the community on a migration plan would be a good idea.

While waiting to do the migration, use of a statement similar to [that recommended by the Software Freedom Conservancy][4] would be helpful to make the Mastodon software community's position clear.

[4]: https://sfconservancy.org/docs/SupportGiveUpGitHub-README-snippet.md - quoted here:

Note: we encourage you to add the below to your existing `README.md` on your GitHub project.

== We're Using GitHub Under Protest ==

This project is currently hosted on GitHub.  This is not ideal; GitHub is a
proprietary, trade-secret system that is not Free and Open Souce Software
(FOSS).  We are deeply concerned about using a proprietary system like GitHub
to develop our FOSS project.  We have an
[open {bug ticket, mailing list thread, etc.} ](INSERT_LINK) where the
project contributors are actively discussing how we can move away from GitHub
in the long term.  We urge you to read about the
[Give up GitHub](https://GiveUpGitHub.org) campaign from
[the Software Freedom Conservancy](https://sfconservancy.org) to understand
some of the reasons why GitHub is not a good place to host FOSS projects.

If you are a contributor who personally has already quit using GitHub, please
[check this resource](INSERT_LINK) for how to send us contributions without
using GitHub directly.

Any use of this project's code by GitHub Copilot, past or present, is done
without our permission.  We do not consent to GitHub's use of this project's
code in Copilot.

![Logo of the GiveUpGitHub campaign](https://sfconservancy.org/img/GiveUpGitHub.png)

Specifications

Mastodon 4.0.2

@broukema broukema added the bug Something isn't working label Dec 20, 2022
@broukema
Copy link
Author

Here is an excellent classification of forges - there's a whitelist (good to excellent); a greylist; and a blacklist:

https://git.sdf.org/humanacollaborator/humanacollabora/src/branch/master/forge_comparison.md

@Gargron

@morremeyer
Copy link

I do understand the concern about centralization of software repositories and I share it, but very much disagree with your framing of your concern and the way you put expectations on maintainers to address your specific concern.

Mastodon is AGPL 3.0 licensed. If the use of GitHub bugs you, you can always maintain a mirror or fork somewhere else.

Additionally, the choice of wording by the forge comparison you listed makes it clear that it cares about free software at all cost more than about the actual people using the software by using terms that the community as a whole is moving away from instead of generally accepted terms like „recommendation“ and „not recommended“.

Lastly, this is not a bug.

@broukema
Copy link
Author

It's not up to the maintainers alone, it should be up to developers, maintainers and the community of sysadmins who manage mastodon instances, and to some degree ordinary users as supporters, to work on together. It would require very little effort from the maintainers to start off a TODO list saying that x, y, z are part of an initial draft plan for the migration.

"If the use of GitHub bugs you" - sorry, but this is not about me personally - please let us not diverge from the main issue. This is a community bug.

Your comment about what is more important: free software itself versus the community using the software doesn't really help find a solution: the only stable long-term solution is a community using free software and developing it on servers running free-software and run by the community rather than by a corporation whose actions are detrimental to that community. (Regarding your comment on terminology - probably you're trying to say that use of the term "blacklist" with negative connotations is a problem related to historical racism; that's a fair comment: you're welcome to post a bug report at https://git.sdf.org/humanacollaborator/humanacollabora/issues rather than just state this here.) It's not just a centralisation problem: Microsoft has an atrocious track record in terms of relations with software and with the software community: this is an uncontroversial statement in the FOSS community.

@morremeyer Maybe you could say in plain English: do you agree or disagree that the main Mastodon development should urgently start a draft plan for migrating off Microsoft/Github?

If you agree, then where is the draft plan?

@morremeyer
Copy link

It's not up to the maintainers alone, it should be up to developers, maintainers and the community of sysadmins who manage mastodon instances, and to some degree ordinary users as supporters, to work on together.

I do not disagree. You are a member of this community and bringing up something that in your eyes is an issue. I do not disagree with that, as I pointed out earlier.

It would require very little effort from the maintainers to start off a TODO list saying that x, y, z are part of an initial draft plan for the migration.

As a maintainer of an Open Source project myself, I do not think it would require „very litte effort“ to plan and execute such a move. It is a big undertaking for a project the size of Mastodon.

"If the use of GitHub bugs you" - sorry, but this is not about me personally - please let us not diverge from the main issue. This is a community bug.

You're right, it's not about you. Sorry for that. However, no matter how one views this issue, in terms of this repository, it is not a bug.

Maybe you could say in plain English: do you agree or disagree that the main Mastodon development should urgently start a draft plan for migrating off Microsoft/Github?

In plain English: I disagree.

Why? I agree that hosting (almost) everything on a centralized, commercial repository is dangerous. I disagree with how you're bringing up that issue and the urgency.

You are bringing up something where you have a solution already in mind, in a manner that sounds/reads very demanding to me. The sense I get from your initial post and the comment above is „This is very important, you are endangering your project and Free Software, fix it already!“.

If you agree, then where is the draft plan?

You are not only raising an issue, you're also proposing a solution for it: Moving to another platform. Given that you know what you'd like the solution to look like, I do consider it reasonable to expect that you contribute to drafting that plan.

@broukema
Copy link
Author

I said that it would take very little effort to start off a TODO list saying that x, y, z are part of an initial draft plan; I did not say that it would take very little effort to implement the plan. I agree that it would take a big effort to get the plan to a stage of being viable and accepted by rough consensus. For obvious reasons, rough consensus would be needed among the active developers: the wider community can't force something on the developers if the developers disagree.

To use your summary of my comment, I'm not saying "fix it already!", I'm saying "please start a discussion about fixing it so that people can contribute and help develop viable plans!" My guess is that discussions on migration have already taken place, but I couldn't find them. See the section

We have an
[open {bug ticket, mailing list thread, etc.} ](INSERT_LINK) where the
project contributors are actively discussing how we can move away from GitHub
in the long term.

of the Software Freedom Conservancy text I quoted above. This is missing from the current README.md page of this project.

Judging the urgency is difficult, but it's already four years since Microsoft took over, so I don't see any justification for delaying at least an opening of the process.

I'm not proposing to move to a "platform", I'm proposing to move to a server running software, run by a community. The distinction, as I understand it, is that a "platform" typically means a server running unknown software where the server(s) and software are run by an organisation with non-participatory decision-making (e.g. a corporation).

I don't see how there could be any solution apart from moving to a different forge. (I guess hypothetically, a FOSS community organisation could launch a takeover bid for Microsoft or buy Github from Microsoft, or the Github community could launch a crowdfunded appeal to by Github on behalf of ... who? But these are rather farfetched scenarios.)

Anyway, since you're asking for a plan (for simplicity, this message is PD = CC-0, even though I don't really want it to contribute to COPILOT), here's an initial draft.

  • Which particular server should be used?
    • What are the arguments for/against in terms of community, the legal status of the organisation running the server (e.g. citizens' association? small tech firm?), repository software, expected longevity and stability of the server + sysadmin team?
  • What specifications of Forgefed would be considered sufficient for the migration? https://codeberg.org/forgefed/forgefed/issues/87
    • What specifications would be considered preferred?
  • How would the data of the issues be migrated?
  • How would the community be notified of the various stages of the plan?
  • Who would moderate the decision to migrate?
    • What forum (issue on github? irc channel? matrix channel?) would be used to coordinate the decision-making?
  • What would be the time scale (e.g. 1 year) before freezing issues (in some sense) on Github?
  • What text should be inserted into README.md to alert readers to the opening of this process?

@RokeJulianLockhart
Copy link

If you were to move, I hope that it would be to gitlab.com or a self-hosted GitLab instance rather than anything else. After using almost every alternative, I realized that not solely were the others no good, they were actually almost all incomparably worse than GitLab. Only GitHub has a few features that it doesn't, but they're minor – stuff like profile readme.md files.

I actually prefer GitLab now. Its CI especially is more coherent.

@markcellus
Copy link

markcellus commented Feb 13, 2023

If you were to move, I hope that it would be to gitlab.com or a self-hosted GitLab instance rather than anything else.

I actually prefer GitLab now. Its CI especially is more coherent.

I could be wrong now, but last time I checked, GitLab isn't fully open-sourced. So you never really know what their software is doing with your code (even if it's self-hosted). I'd go with something self-hosted and open sourced, like gitea. Or something like codeberg if self-hosting isn't an option.

@trwnh
Copy link
Member

trwnh commented Feb 14, 2023

source.joinmastodon.org used to exist but was shut down because of how painful it was to host gitlab. also it ended up being largely unused.

this bit is my personal opinion, but gitlab is kinda confusingly designed compared to github or gitea. unfortunately gitea is still missing a lot of useful features like built-in workflows, a discussion feature, and so on, in addition to the general web UX not being as good. sure, these could be run separately, but that's just additional maintenance burden. however, it might make sense to move if the benefits outweigh the costs. say gitea or forgejo or some other server software added federation. that would be something to consider. it would still take a lot of thought, though -- as you would probably still need to separately spin up some ci/cd software as well as some forum software.

@oifj34f34f
Copy link

oifj34f34f commented Mar 28, 2023

Codeberg/self-hosted would be a good option

@RokeJulianLockhart
Copy link

@trwnh,

say gitea or forgejo or some other server software added federation

go-gitea/gitea#14186 (comment)

@spirillen
Copy link

I can recommend Gitlab as a self hosted solution with a Free open Source License. This will add so much more features, that any moderator+ account probably never willingly returns to anything else.

@oifj34f34f
Copy link

I can recommend Gitlab as a self hosted solution with a Free open Source License. This will add so much more features, that any moderator+ account probably never willingly returns to anything else.

GitLab has a bloated frontend that doesn't work without JS

@spirillen
Copy link

GitLab has a bloated frontend that doesn't work without JS

No need to give thumbs down here guys... the statement is 100% true, JS is required.

But on self hosted instance, everything is self served. no third party crap there

@lunaisnotaboy
Copy link

If you're going to use something else, do not use Gitea/Codeberg/Forgejo/whatever. Please. They are not very good, and CI/code checking features aren't very good as well. I think people forget that Mastodon makes uses of tools that use GitHub's API and services. You can't just switch.

I agree it's dangerous to keep everything on one centralized platform, but please, don't use the software listed above.

@trwnh trwnh converted this issue into discussion #27765 Nov 7, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants