Interestingly, Github seems to be in a similar product vs infrastructure quagmire to Twitter.
If Github were an infrastructure company, we'd all want our git repos mirrored there and we'd all want to use the collaboration and reputation APIs.
But viewed through the product lens, Github is a user interface for git which ought to be considered proprietary.
When Github first launched issues, I was hoping that it would be pulled into .git itself, so that we might all manage issues locally using a cli and then sync changes with peer copies of the repo.
Then, when Github launched jobs, I thought the idea was that hiring managers would get a very good sense of a candidate's skills by seeing information surfaced by github about a coder's habits and social network. This would in effect be a big data approach to evaluating a coder as a function of commits, and a meritocratic leader board for the industry.
Then, when Github announced Atom, I was expecting a bunch of Github branded open source tooling, yet the approach seems hesitant and focused on beginners.
All along, Github charges a premium for private repos, which has allowed its competitors to grow.
Now Github has an incentive to become proprietary, because it no longer has a free network effect. With a $100M investment, one needs pretty big numbers to move the needle.
I think a turning point was when Github decided to stop being a rubygems repo. It is exactly that kind of deep integration of hosting, reputation system, and build system that Github offers a unique competitive advantage. Github's search was also broken for years.
This allowed NPM to spring up, but lacking the ability to innovate deeply in the area of reputation the way Github could have.
So now Github has to decide if it can be a trusted platform or if it's going to fight petty battles over producty things like Twitter has done.