The main problem with Github being bought by Microsoft isn't MS.
It's that in 2018 we still haven't learned that critical infrastructure shouldn't belong to one company ... and that we should avoid building single points of failure.
Git (distributed) turned to Github (centralized). Just as email turned to Gmail. Just as "storing files on web servers" became "Dropbox".
And that's not a techncal problem. We have buckets of decentralized software protocols and software stacks. But decentralization and centralization are often not technical issues at all but social and economic.
The solution is legislation to enforce open standards, to let people switch providers without leaving the network.
Phone networks have to let you call rival networks, social networks (at least those above a certain market share) should have the same obligation.