this post was submitted on 11 Sep 2024
12 points (92.9% liked)
Ask Programming
75 readers
2 users here now
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Github used to be such a great place to discover new coding projects that weren't corporate monorepos, no other platform came close in that sense of discover ability and the communities that developed around small niche projects.
Also, what's wrong with PRs? and what's the alternative?
We need a decentralized alternative similar to Lemmy that encourages self-hosting or finding your collective. D in DVCS is distibuted so we do not need centralization.
Your alternatives are going to be patch-based like mailing lists where email is the primary method but no reason a different UX/transport could be used—or stack-based like Gerrit & friends. Most folks that try these methods swear by it, but hegemony for pull requests marches on. Both methods are more similar in that they don’t block on review & promote maintainers maintaining. One resource I ran into today: https://www.stacking.dev/. If choosing Git out of the one of many DVCSs, there is things like this as well: https://pr.pico.sh/ …but there are loads of alternative systems, platforms, & version control systems (like those even built for patches)
As someone who peddles in email patches from time to time (guix, org-mode), I can tell you that PR's are far more intuitive: there's no ambiguity in which branch to apply the diff on, the order of diffs is implicit, and it is far easier to comment.
Email patches are fine, but can be nightmare if you've waited too long and the dev branch has changed and the patches are no longer valid, or worse, the author reset the numbering so its not clear what needs to be applied where.
Which is why I said there is clear room for UX improvement—the flow itself is fine. Not that patches or pulls are really that different (where like Bcachefs sends pull requests to the Linux Kernel mailing list), but the UX between these flow is what is the real separator. Patches flows are don’t get your code blocked in review since patches are nebulous things in the æther not tied to branch or anything so I get what you are saying.
In the same sense the UX for PRs (from a web UI as most ‘know’ it) leads to folks either pushing bad history with ‘fix X for review’ commits or rebases that fix this history but none of the big forges show a good UX for these version & make the reviewer feel they need to re-review—or worse maintainers employing a squash–merge process which fixes the useless fix commits but destroy a good history into a single commit. …Where stacked flows like Gerrit do not destroy this history (rebasing fixes are expected with UI showing it) & doesn’t block on review phase.