Open source software is now the shortest route to bringing innovation to market. When through word of mouth millions of developers discover and download exciting new code under an open source license and put it to task, you can almost feel the world's technology baseline click up a notch. But does the profound effect of open source stop there?
For several years, GitHub, everyone's favorite cloud versioning and repository service, has argued that it does not. Recently, I moderated a panel at GitHub's offices where managers who worked at several enterprises agreed that the method used to develop open source code -- collaborative, self-organized, and distributed -- provides an attractive new model for developing enterprise software.
What does this model look like in practice? At a RedMonk conference a year and a half ago, Ryan Tomayko, who calls himself the first "developer employee" of GitHub, succinctly described the core idea:
Internally, our processes work very much like an open source project. There are projects, there are people interested in projects, there are people coming up with ideas for projects, they're submitting into projects, there are people reviewing those changes and either accepting or rejecting them.
In other words, radical simplicity -- especially compared to the complex processes most enterprise dev organizations employ. GitHub as an organization subscribes to the distributed, collaborative nature of open source and the healthy constraints it imposes. All communication must be electronic and public -- with open source, participants tend to be widely distributed -- so a kind of open audit trail of discussions is generated for reference and accountability. Everyone works asynchronously, so there are few dependencies and bottlenecks to circumvent.
The GitHub platform itself provides the open platform for this collaborative style. Actually, it's hard to overestimate the impact GitHub has had on accelerating software development in general, since it has made participation and collaboration vastly easier.
Back to the panel: All the participants had deployed the enterprise version of GitHub internally. Along with the platform, what happens when you apply the open source model inside an enterprise and enable people to choose the projects they want to work on or start projects on their own?
There was general agreement among the panelists that this was an exciting idea, although very much in the experimentation phase in practice. Dominick Tornow, director of engineering for SAP Labs, was especially bullish. Although he was quick to point out that conventional processes within SAP remained in place for production software, he was excited by the experimentation occurring with non-mission-critical projects. He also warned not to "underestimate the mindset shift to freedom and flexibility."
You can say that again. It's easy to ridicule an open, radically simple workflow when there are deadlines to meet. What if everyone wants to work on the fun projects and neglects the rest? How do you ensure developers meet security and compliance goals, particularly in light of the OpenSSL debacle? I have a feeling many enterprise development organizations would reject these ideas out of hand and double down on "agile" workflows that require a whiteboard the size of a wall to diagram.
So be it. But it's difficult to ignore the huge impact open source and GitHub are having on software innovation. At the Realtime Conference a year ago, Mikeal Rogers of Digital Ocean argued that the stunning success of Node.js has in large part been due to the fact that Node.js was one of the first major projects that assumed that GitHub was there, lowering the barrier to entry and enabling an ecosystem to explode around it.
The question remains: Can a democratized open source model work in the enterprise? Can it be grafted or melded into an existing enterprise development culture, or is a wholesale shift required? One thing for sure is that the sucess of open source innovation means the model can't be ignored. If you have experience grappling with this paradigm shift, I'd love to hear about it.