Skip to content

Moving away from GitHub readiness plan #4551

@ssddanbrown

Description

@ssddanbrown

This post is intended to evolve over time.

Status

  • July 27th 2024: Our secondary repos have now been migrated to BookStack on CodeBerg, with the GitHub originals archived with links to the equivalent codeberg project.

Motivation

As time goes on, and as GitHub develops under Microsoft, it feels increasingly uncomfortable to be on the platform.
Here are some of the reasons for this in the context of managing BookStack:

  • Being a self-hosted open source platform, a significant portion of our audience will be those that value their privacy and rights. Using a platform, and agreeing to terms, from a large company like Microsoft may be a barrier and/or an unfavourable element in getting involved with the project.
  • Being an open project, it would be favourable to use open and support open platforms ourselves.
  • The consumption of all public code on GitHub, without opt-in or proven regard to license, to provide AI services reflects the balance of GitHub's drive for revenue vs their respect to authors.
  • They now seem to be willing to sacrifice UX to chase revenue. Reference.
  • They seem to be increasingly be pivoting to be an "AI platform" over that of being a open source development platform.
    • They now describe themselves, on their homepage, as "The AI-powered developer platform to build, scale, and deliver secure software."
  • They've started swapping out logical/functional features with "AI" or "Algorithm" based features. Reference.
  • Our LFS access got temporarily revoked due to bandwidth limits that can't be controlled on public repos AFAICT.

At the time of writing, none of these reasons have been specifically raised to me as concerns from community members, and none specifically are major to the point where I think a change is required, but they show an unfavourable direction I'd like to be prepared for if it continues.

Benefits of GitHub

There are some benefits we get from GitHub that it's important to consider:

  • They serve as a monetary-cost-free host & platform for our code, and management of code and issues.
  • The platform has significant popularity and market share, which does help involvement/access.
  • Quite subjective, but I think the UI is relatively friendly with features like issue forms that help user UX and issue management.
  • We get monetary-cost-free access to CI process via GitHub actions.
  • GitHub sponsors has served me well, with a significant portion of my income from the service.

Our Attachments to GitHub

The below list the ways that the project is entwined with the GitHub platform, that we'd need to consider for potential migration:

Note: Actions & potential plans are not listed for these yet, but I plan to outline ideas for those out in future. I am aware for each of these there will be solutions and options.

  • We maintain 6 active repos for BookStack. There will be links to these from external sources for from within our own content.
  • We've made heavy use of GitHub issues, and have many open and closed issues that are quite valuable (along with all the comments). Additionally, there's a lot of cross-referencing of GitHub issue IDs within commits which do have a good amount of value.
  • We use GitHub actions for our CI processes.
  • I get significant income from generous folks via GitHub sponsors.
  • Our installation and update process specifically uses git via the GitHub address.
  • We have composer within our install/update process which I believe heavily makes use of GitHub on usage to download package code (This is more tangential relative to our own direct use of GitHub, but still something to consider).
  • We make use of easy integrations of external systems with GitHub (Crowdin, Codeclimate).
  • I believe some community projects (like linuxserver) watch for changes via GitHub release changes.
  • We use GitHub PRs for contributing code.
  • Minor factor, but GitHub stars are somewhat nice to track relative growth over time.
    • Although I consider them to be harmful in a wider context due to encouraging star-chasing and growth hacking around this to perpetuate the idea they're an indication of value.

Alternatives

Here are potential alternatives along with my very high-level thoughts:

  • Codeberg
  • sourcehut
    • I respect the platform and vision, but always felt the UX is targeted at a developer audience that is not me (Personal preference).
  • GitLab
    • Not sure on their direction. Hosted GitLab for a number of years, felt their focus was increasingly put on commercializing & enterprises, with wilting focus on the open core.
  • Gitea

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions