198: Embracing and contributing to open source at Microsoft

"My full-time job is writing open source software ... at Microsoft." Josh Holmes, Director of Architecture, Microsoft Partner Catalyst Team, has one of the coolest jobs I can think of in the IT and startup worlds. He runs a large team of top notch engineers whose mission it is to help startups with hard technology problems. And they help them by fixing, improving, and contributing to open source tools that they need. Yes, this is a Microsoft job. Yes, everything they work on is contributed back to open source projects. Really.

"Old" Microsoft to "New" Microsoft

"It was interesting joining Microsoft nine years ago. I've been in the Microsoft camp for a very long time. However, I've been an open source guy in the Microsoft camp. So that has always put me in a weird place. It was interesting that they wanted to hire me at the time because of their current sales model, but there was a shirt starting to happen. They started hiring a bunch of people who were of like mind; in the MS camp but all open source. That was an interesting shift to watch and be part of."

"I started out as a local evangelist in Michigan, then I started working more and more in the web space, where my love and passion were. One thing that came up--pre-Azure, pre-cloud. They wanted to expand their share of the server market. We started talking about how we could do that. I started looking at the PHP space," and he determined the projects that were dominating at the time. "We should go engage with them and make sure they run really well on Windows." Note that when Josh says 'on Windows' here, he means a whole Microsoft stack: Windows, IIS, SQL Server, PHP--the MS equivalent of the LAMP stack.

"A number of great things came out of this. I got to meet all these great people here," referring to the PHP community. "But I also got to meet a lot of the founders and core teams of a lot of the really big projects. And that was great. ... Microsoft also started to shift as part of this as well." One proof point Josh mentions was helping the Joomla! project and the MS IIS team come together. The result of this matchmaking was a caching solution that allowed Joomla! to run well on IIS servers using WinCache as well as when using APC caching on the LAMP stack.

From an open source project perspective, the win here is that when Drupal or your project of choice runs and runs well on Microsoft infrastructure, you have a much larger potential client base for your solution since many companies run on it. From MS's side, given the increasing popularity of PHP and open source solutions (nowadays PHP runs 80% or more of the web), this kept the company relevant and potentially attractive to these projects.

This was a big deal. "This was the first time that Microsoft had really contributed to a major PHP project. The IIS team actually signed the JCA, the Joomla! Contributor Agreement, which was a huge deal to Microsoft!" since Joomla! is copyrighted but also open source under the GPL. "So we had the product team writing open source code; code that they were going to give to an open source project. It was phenomenal. This is better than us taking one of our projects and open sourcing it. It is contributing to the community."

Fast forward ... 2015

"Fast forward a number of years," beyond the initial open source code contribution," ... This is a sentence that took me a month to grok this in my own head ... My full-time job is writing open source software ... at Microsoft. What I do on the Partner Catalyst Team, where I am the Director of Architecture. We are in teh Evangelism Department. We are an outward-facing, community-facing group. But specifically, we work with a lot of startups at the very top edge of the enterprise space. We look at their toughest problems and we go solve those problems with open source [software]. We've got 70 engineers and architects and we go work with the startups hand-in-hand, even sit down and pair program with them. Sometimes it will be a large enough problem that we'll take it off on our own and we'll work on it for a while and we'll come back and give them the code. But everything we do ends up on GitHub under, typically, and MIT or Apache 2 license, if it's original work that we're doing on our own. Or a lot of times we're working within open source projects."

Josh goes on to explain that a lot of the work ends up being on core technologies like machine learning and vision, core infrastructure, things relating to the Internet of Things and devices. He gives an example: "The stuff on a given device is their secret sauce. How they process the data on the back end is their secret sauce. How the data gets from the device to the back end ... it's plumbing. We solved it. We wrote a framework called Nitrogen.js. It's open source; it's Node.js."

What's in it for Microsoft? "We want to help a lot of startups. And by helping a lot of startups, we'll become known as a good partner to startups, which means that more startups will come to us when they want to solve problems ... which means that more of them will be using our technology in the end."

Josh Holmes

Open Source and innovation - beyond religion

Josh is a long-term open source user and advocate as well as a long term Microsoft employee. I asked him to compare and contract open source and proprietary. "That's a tough question. Let's go back to 'I like to solve problems.' There are some problems that I think are best solved with open source and there are some problems that it really doesn't matter (if it's internal to a company and never going to leave and so on). There are occasions where proprietary software that you sell is useful and interesting as well. There is innovation that happens there. There's innovation that happens in open source and it's been interesting watching the interplay between the two."

"Early on, most of the open source projects that I saw were copying existing proprietary systems. Linux was a copy of Unix. There wasn't a tremendous amount of innovation there, other than it was free." I pointed out that free--as in freedom and as in zero price tag--was itself hugely innovative and Josh agreed, "There's a lot of good things that came out of that." :-)

"Of late, I've seen a tremendous amount of innovation in the open source space and it's been awesome to watch. 'Of late' means the last 6 or 7 years really in my opinion where we've seen an incredible surge of crazy innovation in the DevOps space, in the front end space--Angular.js, React.js, and Ember.js. I'm in love with those as front end platforms. That has come about because we have so many people innovating together." I add that open source software, thinking, and methodologies are today's commodity reality in software.

"This has been an interesting shift at Microsoft," adds Josh, "At Microsoft, Satya is the one who has really brought this together. If you look back, Ray Ozzie started to introduce a lot of these concepts and started pushing us in this direction. We're moving and transitioning from a company that sells things in boxes to a services-oriented company ... a consumption-based company. One of the ways Microsoft has always made money is selling Sharepoint that nobody uses. It's in all the companies, but you'll end up buying 100 licenses and you'll use four of them. That world goes away in a consumption-based selling-mechanism, which means if you're not actually using it, you're not paying for it. It's an interesting shift because it means that a) we have to build things that people are going to use and b) there is a whole bunch of stuff that goes away and it opens the door for open source. What really matters is that we're able to run it better than anyone else." And this means Microsoft is focusing on being a huge-scale cloud services provider alongside AWS and Google.

Guest dossier

  • Name: Josh Holmes
  • Work affiliation: Director of Architecture, Partner Catalyst Team in the Microsoft Developer Experiences Team
  • GitHub: joshholmes
  • Twitter: @joshholmes
  • LinkedIn: Josh Holmes
  • Slideshare.net presentations
  • Blog/Website: www.joshholmes.com
  • About: From learning COBOL for his first IT job fixing Y2K bugs to Delphi to Javascript to Perl to many other languages and systems, Josh discovered that he "loves to tell computers what to do." Once the web rolled around, Josh's outgoing nature led him to the people side of things, public speaking, founding user groups and conferences. Microsoft asked if they could pay him for what he was doing and he agreed. He's been at Microsoft about 9 years as of mid-2015.
  • 1st open source memory: Josh isn't sure when he got started with open source, but there's a record of him giving a talk featuring a lot of OSS in 2001. He's got the roots!

Interview video