Source-code management isn’t exactly selling soda. Neither was Apple Computers, but Steve Jobs didn’t see a distinction between what former Apple CEO John Sculley had done at Pepsi and what he wanted him to do at Apple. That inability to see the difference between the two businesses led to the beginning of the downfall of Apple in the 1990s.
Back then, the basic difference between managing a volume business and managing an R&D business became apparent as Apple’s stock price sank while its product lines blossomed into dozens of SKUs. It was a case of mismatched needs and desires along with a fundamental misunderstanding of what Apple’s strengths as a company were at the time.
GitHub could be considered the Apple of source-code management: There were a ton of other players in this space before them, but they were the first ones to really do it with style and in a manner that was appealing to everyday developers of all skill levels. They democratized version control, if you will.
(Related: GitHub cranks up project management)
The people at GitHub made similar equivocation as Apple’s when they began offering GitHub Enterprise. They decided that GitHub Enterprise should be exactly the same as GitHub proper, with the only difference being that it was on-premise.
Why no enterprise-specific features? The industry wisdom would point toward gold in those hills labeled “tiered enterprise features.” And yet, GitHub eschews the norm and continues to avoid feature differentiation between its GitHub.com platform and GitHub Enterprise.
Things like high-grade security, encryption, governance, compliance and reports are all typical enterprise features for software development tools and life-cycle products. And indeed, GitHub already offers some of these for all users: At GitHub Universe this week, the company introduced the ability to make two-factor authentication mandatory for all project members, a feature highly demanded by business users.
But Todd Berman, vice president of product engineering at GitHub, was adamant about the idea that enterprise features in GitHub would actually be useful for everyone, and are therefore not something the teams would plan to be exclusive to an enterprise version.
“Governance and compliance, document retention, legal holds; all of those are enterprise-oriented. An argument that gets made in the building is that those are features an open-source project would be interested in as well,” he said.
Berman said that, while the enterprise is a different world, “It’s shades of the same, and a lot of the problems we solve for our enterprise customers we solve by looking like the product their developers use outside of work. We look at it as more as servicing large organizations. Whether its for GitHub Enterprise or GitHub.com, I think document retention and legal holds; whether you’re deployed on-premise or off, you need those features and functionality.”
GitHub isn’t just pushing its SCM tools anymore, either. The company introduced Electron and Atom last year, and this year they’ve doubled down on these projects. Electron seeks to offer a framework for deploying HTML5 applications both on the web and on desktops. Atom is a collaborative code editor.
Looking around at other desktop application frameworks and offerings from extremely large companies over the past five years, such an offering could be seen to be standing on shaky ground. Microsoft’s Silverlight, Adobe’s Air, and Sun Microsystems and Oracle’s JavaFX languages have all sought to make desktop application development easier for enterprises at large. All have, to various extents, failed.
Berman said that he felt making the case for Electron is still quite easy, despite those failures. “Silverlight, JavaFX, Air…all of them were a proprietary take on how to build applications and theoretically run them in more places. Electron is not that. I am as cynical as the next guy, and I am betting on the web at this point. It’s real, it’s not going away. If I am an enterprise developer, I say 20 years have shown that web-based technology is a real thing. [Electron] is effectively a way of wrapping [Google] Chrome and a way of packaging a web application inside a native container. There’s a ton of stuff we’re doing there to make it really efficient and effective.”
According to conventional Valley wisdom, GitHub is breaking the rules. But according to their users and those at GitHub Universe this week, no one seems to mind.