BTW, GitHub does NOT play well with most CI tools. It's memory management is downright abysmal. As someone who understands the deep workings of source control apps, I hate having to constantly work through issues with devs botching their check ins. I never have this with Bitbucket, and it's pretty clear why. It's because BitBucket doesn't use some mishmash of command line and poorly implemented GUIs.
As someone who used to have keys to a number of security-critical OSS projects, I would never use password-only authentication to protect write access to my repo.
It's not just the chance of someone sneaking in a change and its getting shipped to users -- although that's also awful -- but it's also the chance of someone sneaking in a change that pwns all of your developers (by running a script as part of the build).
And if you're using a private repository and care about keeping your source code secret, then you really, really, really want 2FA.
Um, if I need this, I'm not handing my data to github. Thanks.
I use 2FA on all my personal accounts that support it (Twitter, Github, Gmail, Namecheap, banks).
I beg to differ: 2-factor authentication[1], you can't change your credentials[2], it's not as easy to integrate with CI tools since most devs just focus in the integration with Github, and probably there are many more ways where Bitbucket is inferior in comparison with Github.
[1] https://bitbucket.org/site/master/issues/5811/support-two-fa...
[2] https://answers.atlassian.com/questions/176548/how-can-i-cha...