It feels weird being the one to say this, but Microsoft has really been catching my eye lately. The fact that they're ditching the 'original' Edge browser to turn it into a Chrome clone is sort of a huge thing in itself, as is all of their other contributions to the open source communities of the world. But now they're taking it a step further by making GitHub better than it's ever been.
So I myself am a GitLab fan as opposed to GitHub, and the main reason why points out the biggest difference between the two. Gitlab's free membership offers unlimited public and private repositories with no limit on collaborators. Their paid membership levels add additional features, such as road maps, Portfolio Management, stuff like that. But the unlimited private repositories is a huge deal. For the layman, it basically means you can store your code online for free and no one can access it unless you grant it.
For the longest time, GitHub offered unlimited public repositories but required you pay for private ones. Yet despite this, GitHub somehow managed to maintain their spot as the #1 online Git community. The only thing that seemed like it would possibly change the tides was Microsoft buying GitHub several months back. There were a lot of projects moving from GitHub to GitLab at first, but not enough to dethrone GitHub. Microsoft acknowledged that they would need to earn the trust of developers, and now they're making new steps in that direction. Recently, GitHub announced unlimited free repositories. This isn't quite the match of GitLab, as free private projects are limited to 3 contributors.
Not really. Most small teams of 1-3 developers aren't going to bring in a lot of revenue for GitHub. It's the big teams that earn them the money. So enabling small teams to have free private repositories will be effectively cost-free while still giving back to the community. GitHub is a must-have for serious developers these days. Most of the time you apply for a job, companies will want to see your projects. It gives them an idea as to how organized you are, your workflow, an all-around snapshot of your development skills. But if you want some stuff private, you previously needed to either pay for a pro membership or have half of your projects on another platform. But with this somewhat limited but still extremely useful improvement to the free membership, it's a lot easier and convenient to be selfish.
Honestly, it's hard to say at this point. Microsoft has been extremely hard to predict lately, but that hasn't shown to be a bad thing. Microsoft is a software company before anything else, and they're no longer limiting their software to their own proprietary ecosystem. They seem less interested in competing, and more interested in collaborating and supporting. Based on that, I don't think GitHub will try to copy all the good from Gitlab. I think instead, they'll continue to go after a very different target audience.