I see no technical reason why GitHub could not have been implemented as a federated system. Should we even consider convenience of a service that has serious ethical issues?
I'd much prefer that over github, as my account sits idle there, while my gitlab gets plenty of use. I suppose it's something I should look into.