I'm happy that raw git + mailing lists works great for the linux project, but can the rest of us all agree we actually do need issues & PRs? And that it's super painful to lose all this context when platform hopping, or when the service unilaterally decides to deplatform someone?
So where are we going? Mitchell will be deciding for Ghostty. If github's current trajectory is anything to go by, everyone else will need to decide where to go sooner rather than later.
I'm worried that it will be a Babel scattering event and this open source superpower that github catalyzed (how to describe it?) will just evaporate.
I'm also worried that wherever we go next could have the same fate as github.
So what then? Radicle is the only thing that I've seen that could theoretically 'solve' the problem, though it still needs a lot of work: https://radicle.dev/
There will be disruption as people move to various platforms and then one will “win” by a small amount which will self reenforce until we have a new GH and the pattern will likely repeat.
Companies will keep using GH for a long time because they seem to be really tolerant of outages (and have a massive switching cost depending on how much of GitHub they use outside of git).
Smaller teams/solo devs much less so.
Isn’t really anyway to coordinate it ahead of time, it’s more an emergent bottom up thing than a “all devs agree to move to X” ahead of time.
tangled.org writes issues as atproto data that lives in a user's PDS which is one neat idea.
Radicle stores issue & PR data as git objects. This approach interests me because issue data is as important as the code so we should treat it with the same care as the code. I.e. a tamper-proof cryptographic chain, signed objects, distributed redundancy, well-tread management features like synchronization and packfiles, etc.
Interestingly ATProto uses Merkle Search Trees to store data as commits, so in some respects it is similar to git. It even signs each commit (say you post an issue record to your ATProto personal data server) it is inserted into your merkle search tree based on content and id hashing rules, and then the new root node in the tree is signed so you can verify its integrity.
Now there is absolutely a benefit to co-locating issues and PRs with your code in the same git repo. In a way it becomes much simpler to move your entire repository and all activity when everything is in the same .git folder.
With Tangled your code is stored in your code repository and issues and PRs in your data repository. On the other hand the ATProto stuff is what means your project becomes discoverable and that other users in the network automatically can interact with your repository (likes, issues, etc).