After almost eight years at Microsoft, in a variety of teams in the developer space, I’ve decided to move on.
I’ve been incredibly lucky in my time at the company. I joined at a time when, while there was some open source happening, open source was still a very dirty ten letter word at the company. This was a bit of a leap for me having come from my “all open source, all the time” days in the Eclipse world. Not sure what I was really thinking but well, it happened.
My first roles were deep in the architecture of Visual Studio and TFS/VSTS/Azure DevOps, trying to tease the code apart and modularize the development process. Turns out that componentizing a monolithic code base, some of which is 20+ years old, is a Hard Thing™. Some successes were had and over the years, things have dramatically improved. I learned a ton.
I moved on to spend time creating what is now the Azure DevOps Artifacts service, a facility which at its core is a massive, deduplicated file store. Petabytes of build drops, internal and cached NuGet, NPM, Maven, … packages, symbols and more. Garbage collected, scaled out, cached, mirrored, … the scale was just mind-boggling and the impact potential huge. What a fun set of technological challenges and a great team. I truly enjoyed that work and it’s been great watching it flourish.
All up, my favorite time at Microsoft has been the last few years running the Open Source Programs Office (OSPO). Shepherding and helping the company through one of its most profound transformations ever — from being the epitome of a proprietary software shop to being at the forefront of open source — has been a privilege, a thrill and a challenge.
Open source at Microsoft is now a normal thing. Tens of thousands of developers in the company are using open source in literally millions of places throughout our offerings. Open source management is an integral part of our engineering system, flagship offerings from k8s on Azure to the Edge browser in Windows are fundamentally based on open source, and we routinely release core technologies such as DotNet, VS Code, TypeScript, and the Calculator (don’t laugh, that’s actually a huge deal in many ways you’d never imagine). All unthinkable a few short years ago.
So when people ask, “Do they mean it?” (with reference to “Microsoft ❤️ open source”), there’s a long history to overcome but yeah, this is real people.
All the above is amazing and gratifying. Even more so has been experiencing the culture change. Microsoft has gone from a siloed, “gun pointing” organization, to a much leaner, customer-focused, engineering-driven, get “shit done” organization. To be sure, there are still holdouts in the company — like soldiers marooned on remote islands not knowing the war is over — but the gig’s up and collaboration and open source won. They’ll find out.
This culture change has been super obvious to me in the Open Source Programs Office work. Our transformation to open has been a true team effort. I’m very proud of the OSPO team’s role in this change. They are a superb set of individuals and a fun team who never once let a day go by without some laughs or at least an Auth* problem. Beyond that, we built an amazing network of partners across Legal, Security, Marketing, and the product teams, all of whom have played an integral part in this success.
The Legal team deserves special mention here. Legal folks are sometimes maligned as roadblocks to open source advancement in a company. Frankly, that’s just an excuse for the engineering/business teams not taking enough time to listen to them, understand the issues, and make their case. Hands down, week in, week out, our interactions with the open source legal folks at Microsoft have been the best, most positive and productive interactions ever. Ever. Corporate open source folks, your legal team can be your best ally. Know them, listen, engage. They will help you past all manner of issues.
Orgs actually do matter
For a while there, the virtual team nature and success of our structure made me believe that our actual org structure didn’t matter so much. While that’s true at a certain level, the actual org structure can really help. Many OSPOs can be found in the engineering org. That’s good — it’s where they should be and is where Microsoft’s has always been. Often times however, the engineering org doesn’t really know what to do with the OSPO org-wise and it ends up being wart on the side of a loosely aligned team whose exec gets open source and support the initiative. That’s OK too. But it can be so much more.
We found that out when recently the Microsoft OSPO was reorg’d into a newly formed “One Engineering System” (1ES) team responsible for, well, the engineering systems used broadly across the company. This was awesome. In the 1ES team we found a family, a set of people earnestly looking to make the development process at Microsoft more modern, faster, more efficient. Open source and OSPO were a natural fit. Now, more than any time in the past, the OSPO team is surrounded by like-minded teams on whom they can lean for tooling, data, and initiatives. Progress is accelerating.
With all that great stuff happening, why change?
There’s never a good time for disruptive change like this, but a couple of things have aligned to make this the right time.
First, Microsoft is well and truly on its way to being broadly “proficient” in its open source engagement. This means that the open source program can start shifting to drive “fluency” and “mastery”. That’s an exciting prospect and something that we’ve been looking forward to for more than a year. But then something else came up.
GitHub. There has been a substantive change in product and engineering energy we see coming from GitHub. They are releasing faster, making real changes that improve the user experience, and are paying real attention to how organizations do open source. I find that super attractive.
So, in the end I’m not going far. Starting in April, I’ll be at GitHub supporting an effort to enable Open Source @ Scale for everyone on GitHub. This is a huge opportunity to marry the learnings from my time at Microsoft’s OSPO and interactions with the great folks in the TODO group and in countless companies and governments over the years, with the energy and efforts afoot at GitHub.
To say the least, I’m stoked. (Yes, I said “stoked” and will endure exhaustive teasing from my kids, but that’s really the only single term I can come up with that captures the nuances of how I feel about this change.) The potential and opportunity of helping all organizations evolve their open source practice and the reality of making it happen at GitHub is too much to pass up.
For those who have been following some of my latest interests, you will know about ClearlyDefined. That project has been a passion of mine and, I believe, is critical to open source in the industry. I remain committed to the project and will continue to be involved as will the team at Microsoft. My hope is that this move actually accelerates interest and adoption.
One more change is that after, uhhh, many, years of being some flavor of “dev”, I’m officially becoming a Product Manager. I’ll be reporting to Shanku Niyogi, SVP of Product, the then Microsoft manager who brought me over to help start Microsoft’s OSPO in the first place and has now prompted me to move to GitHub. He gets it and is awesome to work with.
I can’t say (‘cause I don’t know) what this all means in practice — I haven’t started working there yet. I can say that I’m looking forward to working even more deeply with companies, governments and other organizations who are driving their open source mission. I want to learn from you and enable your goals. Feel free to let me know how we can do that.