Because there aren't enough code collaboration tools and services.
Prior Art
Mailing List
Pros: decentralized, no special tooling, built in to git, reviews are just emails replies, nice for people who already live in their email client or mailing list, easy to integrate with anything due to simple API. Submit patches without having anywhere to host them.
Cons: many people do not have a good email or email client setup, need to resubmit entire request pull or patch set after changes with no easy way to update the review, many people live in their web browser not their email client. Send-email style does not preserve commits only their content
GitHub et al
Pros: de facto standard UI flow. Works well for people who live in their browser. Easy to update a review with force push invalidating obsolete comments. CI runs on new PR. One click PR merge.
Cons: centralized, often nonfree, highly specialized tooling. Hard to build nerd friendly flows. Bundled with a do everything service. Requires an account.
Sourcehut mailing list
Pros: see mailing list. Also supports CI. Send a new patch set from browser with no email interaction. Display review comments inline on web. Easy cut-paste patch application for maintainers without special email setup.
Cons: see mailing list. Also no support for request pull. No support for writing reviews on web only reading. Often bundled with a do everything service.
pr.pico.sh
Pros: similar nerd friendly flows for those who live in terminal without needing to live in email.
Cons: no first class reviews. Edits and submission require terminal/ssh. No support for request pull.
Design Considerations for a New System
Do one thing (code submission / review) not a whole hosting or identity service. Git hosting is easy, etc, let's not solve these solved things.
Do not build only the nerd friendly flows or only the web flows and declare this good enough. It must be usable entirely from web and entirely from terminal and/or email.
Support branches hosted anywhere. Do not require the user to have hosting to submit.
Support keeping commit identity (sha) etc intact. Not patch only.
Support running a project to take patches or hosting patches for submission elsewhere.
Ideas
Support submission via git url or get request-pull | ssh submit for branches hosted anywhere.
Support submission via git push for hosting the patch here.
Support submission via git send-email or get format-patch | ssh submit for compatibility with other systems and flows.
Support submitting an RP via email as RP or send-email to contribute elsewhere.
Support submitting an RP as a GitHub (or other?) PR using a bot account.
Webhooks for integrating with CI systems.
XMPP pubsub and atom feeds for awesomeness. Really all feeds and webhooks and notification integrations of any kind can drive off the pubsub.
Reviews as first class items which can be turned into into emails or code comments for compatibility with other systems.
Login with GitHub or email or jabber id.
Single project mode for self hosting alongside a single project git etc.
Optional one button merges by adding the service ssh key to your git to allow push access?
Optional two way sync with any mailing list. Patches and RP submitted to list become RP in system. RP in system post to mailing list. Comments in system are inline replies to list. Inline patch replies on list become in system comments.
Optional two way sync with GitHub PRs.
Server side rendering. Appropriate microformats and indieweb everywhere. But be beautiful and normal looking.
Monetization
Hosted service by monthly fee.
