GitHub alternatives for Bitcoin Core - bitcoin-core/bitcoin-devwiki GitHub Wiki

Motivation

Basic Usability Issues

Overall Unreliability

GitHub makes comments in long threads inaccessible via it's site. https://twitter.com/jfnewbery/status/1354744697093283847

The comments need to be recovered manually from past emails or metadata dumps.

It was also observed that complete issues or pull requests simply disappeared without notice.

Spam/Lack of Moderator Queue

The repo has thousands of subscribers, so any spam contribution or otherwise inappropriate comment will reach all those inboxes before being deleted by a maintainer.

GitHub fails to provide simple and effective tools (such as rate limits for non-members or a moderator queue) to fight low-quality content.

https://twitter.com/MarcoFalke/status/1355097159113322497

Others

https://github.com/bitcoin/bitcoin/issues/15847 | Feedback for GitHub CEO · Issue #15847 · bitcoin/bitcoin · GitHub
https://github.com/bitcoin/bitcoin/issues/20227 | Dependency on GitHub · Issue #20227 · bitcoin/bitcoin · GitHub

Centralization/Single Point of Failure

The repo is primarily accessed through GitHub, which might (even against their will) shut down hosting at any point in time.

Instead of hopping to another centralized provider or self-hosted single point of failure, a goal should be to evaluate decentralized or federated hosters. See also:

Alternatives

Evaluation Scheme

  • How does it integrate with CI?
  • Does it have feature-parity with GitHub reviews (e.g. resolving inline review comments)?
  • How is the "sign-up" handled?
  • How is spam dealt with?
  • How well-maintained are they?
  • Who deals with the hardware/software stack, if self-hosted (Anti-DoS, sysadmin stuff, ...)

Possible alternatives:

"Decentralized"

Self-hosted

Repository Backups and Tooling

To preserve the development history and to enable migration to an alterative if needed, some contributors keep backups of the repository metadata. Where possible, contributors are encouraged to use these backups before there is an urgent need. This helps, for example, to detect data inconsistencies.

zw's metadata backup (incremental)

The GitHub user zw has a bitcoin/bitcoin pull-request and issue backup in zw/bitcoin-gh-meta. This is produced with the zw/ghrip perl script (last modified in 2015). Likely due to changes in the GitHub API, the backups are incomplete.

achow101's GitHub-DL: The GitHub Repo Full Downloader (non-incremental)

The github-dl tool downloads an entire GitHub repository and it's metadata. Due to GitHub's API rate-limiting, a backup of bitcoin/bitcoin can take more than a day.

0xB10C's metadata backups (incremental) and mirroring

On mirror.b10c.me, 0xB10C hosts backups and mirroring of Bitcoin Core related issue and pull-request. The backups are made using github-metadata-backup and mirrored with github-metadata-mirror. The backups are also pushed to GitHub (duh) and GitLab: