Github was always the go-to option and there was no reason to really even consider alternatives at first. People said "Bitbucket has free private repos!" for years and that was interesting but not compelling. Few users left Github because their competitors had free private repos.
Github got acquired, and that acquisition basically erased any and all user trust in Github as a company because they no longer control their own destiny. Instead we have to trust Microsoft. And that was a big enough shock for people to actually consider all of the competitors instead of just defaulting to Github like they did before.
To some extent, I suspect people paid for private repos from Github because they believed in supporting Github as a company and $7/mo isn't that much. Nobody believes in supporting Microsoft as a company. Microsoft charging for private repos is like Disney having a Patreon account.
I believe Microsoft has been doing amazing things for developers the past few years.
Sure, that motivation started to erode the longer that Github stayed around and the more money they made on their enterprise products, but there was never a sudden shift that forced anyone to reconsider the question until Microsoft came in.
[1] Editing with footnote: This is also one reason Bitbucket struggled despite having free private repos. Atlassian is big and corporate and widely resented already, so they couldn't even offer that value proposition anymore than Microsoft can.
Repositories which I make public I put on GitHub since that seems to be where people will find them and are more likely to contribute.
Had this policy been in place when I started using git I never would have found and used Bitbucket, but I don't feel anything is gained by moving my private BitBuckets to GitHub.
Update: I see another reply talking about the web interfaces. If I used them that might be a factor, but for my private stuff the only web functions I use are for creating the repositories, and both platforms get that done easily enough.
Since moving to Gitlab, I couldn't go back to having to run Jenkins for private projects after using Gitlab CI (with a self-hosted runner). Also even on the free tier, even for one-man projects, the issue tracker features are better than github.
No. I'm old enough to remember the way Microsoft operated for most of their history, and do not trust them.
I'm also just much more comfortable with GitHub since I use it daily in my day job.
Absolutely, though I don't think it's really "switching back". I always preferred to use GitHub but had to use BitBucket for private repos. Now I don't need to bother with BitBucket.
Complete opposite. I'm going to stop using it as much as I can.
This is quite annoying. I'd much rather they take my pittance than monetize me any other way.
https://about.gitlab.com/pricing/
The free tier is the functionality you get for private repos. Public (not internal) repos get Gold capabilities.
Runner limits can be eliminated if you host your own runner to hook in to.
The above is specifically for GitLab.com hosting. Self-hosted is a different story with features.
But I don't want the BB version to become outdated so I end up maintaining 2 repos. Having private repos directly on GitHub will optimise my worflow. Definitely a good move.
It may be myopic, but the only major reason I can think of is visibility if you plan on publicizing the repo at some point. But you can achieve this by using GitHub as a mirror for your main repo on another platform (at least for GitLab, I’m not familiar with BitBucket).
Edit: Personally, I use GitLab (both .com and I've set up/maintain several sefl-hosted solutions). I originally tried out GitLab due to lack of private repos on GitHub, and I don't see a reason I should switch back at this point. The open development and attitude towards the product and community has been part of that.