My Twitter feed is full of fear, with people envisioning an exodus of open source from the best collaboration platform we’ve ever had. I don’t think we should worry. The emergence of GitHub and “social coding” was a huge step forward for our industry, and I’m optimistic about its future within Microsoft.
Developers should celebrate the Microsoft/GitHub deal. This is a $7.5bn endorsement of the importance of what we do, and the business value created by code. The story isn’t Microsoft changing GitHub for the worse: it’s the open source and collaborative coding practices that drive GitHub changing Microsoft for the better. It’s not business corrupting what developers have created: it’s the power of what they’ve created transforming business.
The new Microsoft is not the bogey of the past — VS Code is great; TypeScript is terrific; Microsoft has not merely accepted open source, but become an open source leader through its GitHub contributions; and CEO Satya Nadella has led a positive cultural transformation. The new Microsoft is much more outward looking and has hired many great people from the broader developer community in the last couple of years. And in fairness, even the old Microsoft had developers in its DNA: Microsoft was founded by developers and built and maintained a huge developer community and some great tools — even if in those days, it offered a walled garden.
From a business perspective, I think the deal will pay off. Unlike competitors such as IBM and Oracle, Microsoft not only understands developers, but has a proven ability to sell to the SMB as well as to the enterprise market. Microsoft can probably grow the GitHub business substantially by executing better on GitHub’s existing strategic objectives, such as GitHub Enterprise, without alienating users. It may also be able to create significant value by applying its AI technology and VS Code innovation to GitHub’s enormous corpus of code.
The deal is largely priced on strategic value. Satya Nadella’s blog is reminiscent of Stephen O’Grady’s argument in his prescient book The New Kingmakers: How Developers Conquered the World:
Developers are the builders of this new era, writing the world’s code.
Developer workflows will drive and influence business processes and functions across the organization — from marketing, sales and service, to IT and HR. And value creation and growth across every industry will increasingly be determined by the choices developers make
Today this is a welcome recognition of the fairly obvious. But it’s actually a relatively recent development.
My career has revolved around the belief that code should be celebrated as central to IT. Back in the early 2000s, in the dark days of J2EE, there were two major schools of thought as to how to fix the platform’s productivity problems: The “draw pretty pictures” camp, which aimed to generate nasty code from a non-code representation (for example, MDA); and the “let’s make the code sane” camp led by Spring and Hibernate. The “draw pretty pictures” camp was briefly dominant, along with the idea that “forward engineering” from UML was superior to writing code. (I was once publicly dressed down by a colleague for writing Java code rather than generating it from Rational Rose. Dark days indeed.)
We all know which camp won. Rails, Node, and Spring Boot continued the code-centric journey, making it a pleasure to build today’s business applications out of readable code focused on expressing business logic rather than wrestling with infrastructure problems.
In reality, versus golf-driven fantasy, it was never an equal battle. Today’s programming languages and module ecosystems are the result of over 60 years of research and development. They are wonderful ways to express behaviors. The composability, modularity and elegance of modern languages were more than a match for pretty pictures without the same foundation.
Microsoft’s acquisition of GitHub reflects the ascendancy of code. At Atomist we want to take code to an important new frontier: to how we develop and deliver our applications. We are putting the “developer” in DevOps by creating the API for software.
Social coding has changed how people write code for the better. At Atomist, we are taking the next step to transform how that code flows to production, creating a code-based, joined up approach to software delivery to bring a comparable gain in collaboration and productivity. We are building on the “API for hardware” provided by Docker, Kubernetes and modern cloud services to enable developers to program how they program. With a rich model and a real programming language, rather than untestable, unmaintainable YAML and Bash, developers can apply their core skills to automating everything they do. Atomist’s ChatOps capability extends the social element through the whole delivery process.
Today is about the ascendancy of code — something we embrace at Atomist and which is core to our vision. Tomorrow will likely be even more exciting for those of us who write and love code.