As we skip toward 2019, it’s increasingly clear that it’s not enough to be a software consumer. Leading enterprises like Capital One and Comcast see that as software “eats the world,” they need to open up software development in order to survive (and thrive). Even for those who appreciate this need, actually making change happen within a large, conservative corporation can be painful. (Noticed my graying hair?)

SEE: Open source vs. proprietary software: A look at the pros and cons (Tech Pro Research)

Microsoft continues to fascinate because it offers an exceptionally rare example of a company that has managed to completely change its culture, turning that cultural change into significant revenue for the company. In the story of how the company came to embrace Python, despite that “Python was a language that belonged to other people, and so Microsoft was not interested,” we can learn a lot about how change can happen within a big company.

Indifferent animus

Today, Python is “one of the essential languages for services and teams to support, as well as the most popular choice for the rapidly growing field of data science and analytics both inside and outside of the company,” as Microsoft engineer Steve Dower wrote in one of Microsoft’s new Open Source Stories posts. But just eight years ago, Python’s footprint within Microsoft was a few scattered engineers who cared about the open source language, with most of the company giving it a Redmond shrug.

Today, the story is quite different. “Many Microsoft products now include Python support, and some of the newest only support Python.”

SEE: Getting started with Python: A list of free resources (PDF) (TechRepublic)

What changed? Well, in part, Microsoft got religion (again) about being a platform company. Back in the Windows and Office era, it was enough to build an empire around proprietary products, but we’ve since abandoned that in favor of open platforms that invite communities to create. Often this is a matter of open source development (as both Microsoft and Google have particularly demonstrated in the cloud), but not always. Apple, for example, operates a largely open model for iOS, accepting all sorts of third-party applications that directly compete with its own products (Google Maps rings a loud bell here).

The point is that Microsoft had no choice but to change if it wanted to survive as a platform company.

It ain’t easy making green

Not that this was easy to translate into a changed corporate culture. As Dower has written, suspicion of Python lingered. For example, he notes that “Each release would generate buzz in places we rarely promoted our products like Twitter, Reddit and Hacker News,” given that the company still thought in terms of top-down PR (a model that is basically useless in reaching community contributors). He also gives a hint as to how hard it was to make the Python voice heard inside the company: “[M]any people [did] not believ[e] that Microsoft was actually working on anything to do with Python, including our own colleagues. I worked in the office next to one developer for half a year before he understood that we actually had a Python team.”

SEE: Why open source is so important to Microsoft (ZDNet)

By 2015, momentum for Python had grown within the company, yet big company inertia remained. For example, Dower calls out the need for “multiple interviews with the legal teams” to get approval to commit code to CPython. Even so, that momentum was real: A Python day organized for 100 people yielded 1,000 attendees (in person and virtual), or roughly 1% of the company at the time. Python was getting real.

Over those eight years, countless small steps were taken, and probably a number of steps backward (which Dower doesn’t highlight). The company went from animus toward open source to being the world’s biggest open source contributor, and from indifference about Python to being one of its most enthusiastic supporters, with five core committers to Python employed at Microsoft. It’s huge progress but, again, driven by many small, under-appreciated steps.

So wherever you are on your company’s journey to open development, stick with it. It’s the right thing to do, even if your company doesn’t yet recognize it.