A code mirror and mailing list is a perfectly fine DVCS for the purposes of contributing code to an open-source project, and it doesn't lock a whole ecosystem into a monoculture walled garden.
> feedback that can be given right there on the line of code it pertains to
Done easily with a mailing list, and you can be sure that the comment won't just magically disappear because GitHub decided it was fixed even when it wasn't.
> excruciatingly painful if they don't even use a modern DVCS like git.
As far as local development is concerned, there's no reason you can't use all the git tools to manage your changes.
I don't want the walled garden — I don't care if its GitLab or GitHub or some other tool — as long as I can do stuff like rebase and squash easily and discuss the patch without having to subscribe to a mailing-list, set up inbox filters, prepare the patch for emailing, participate until the patch is in, then not forget to unsubscribe.
Comments about a patch are fleeting and should be gone after the patch lands — and should be treated as such. Any relevant comments will be in the source code.
GitLab (and several others) can be self-hosted for free; and the walled garden (GitHub?) is tolerable enough. And as long as you keep your software development practices sensible (centred around git, not GitHub), there hardly is a wall really.
> As far as local development is concerned, there's no reason you can't use all the git tools to manage your changes.
Certainly possible, but I didn't manage to get git-svn working the last time I wanted to contribute to a SVN repo. In the end I just created a local git repo in-place and generated the patch with git format-patch.
> feedback that can be given right there on the line of code it pertains to
Done easily with a mailing list, and you can be sure that the comment won't just magically disappear because GitHub decided it was fixed even when it wasn't.
> excruciatingly painful if they don't even use a modern DVCS like git.
As far as local development is concerned, there's no reason you can't use all the git tools to manage your changes.