Stephen Walli, Principal Program Manager at Microsoft - Ask Him Anything


Have you ever wanted to ask someone who deeply understands and has participated in open source for a long time, has sold a company to Microsoft and is now a Principal Program Manager there, a frank question about related topics and get a straightforward answer? This is your chance.

Steph was one of the founders of Softway Systems, which was acquired by Microsoft in 1999. Their product was merged into Services for UNIX, and Steph spent the next five and a half years at Microsoft as a Product Unit Manager and then Business Development Manager. After a variety of roles elsewhere (Optaros, Outercurve, HP, Docker, and more), he’s now back at Microsoft as a Principal Program Manager, working in the Azure team on various open source related initiatives. After co-presenting in episode 2x25 Steph has kindly agreed to do an AMA-style discussion here. With the current transition ongoing and a changing attitude toward open source at Microsoft, I’m sure there are many questions. Please be civil.




Why was Services for UNIX so utterly shi… Errr, Hi Stephen! I assume there has been a mixture of caution and enthusiasm within Microsoft as they have moved to more readily embrace SaaS/IaaS and Open culture, but how much impact is FLOSS is truly making inside the business? Is it simply a reaction to a constant external pressure from outside, or is it something that can eventually be integrated into the company philosophy?


I am sure that, with working for Microsoft, you are many times having to be on the defensive regarding Microsoft’s roll with open source, just as you were a bit on the show. I would find that weary at best. Are you discouraged at times?

2x25: The First 17 Pages

Hi Steve,

What was the meltdown strategy wrt informing customers about downtime?

I ask because I received zero communication and had to watch my azure systems like a hawk for two weeks for unscheduled shutdowns.


well, its been two days and I don’t see any response, so why bother ?


He’s prolly waiting until the thread reaches a certain number of posts before he puts on his social media manager hat. I’m not sure what I can say that doesn’t violate this forums one rule though…I’ll try my best to bump up the post count though :slight_smile:


Hey Stephen,
Got any MS ink? …and where? Pics?
Like my GNU right over my heart :heart: ?


He’s watching the thread and will respond ASAP (He actually ran into an issue with his account). Did you have a question for him?



Along with @neuro’s question, What is the general attitude within Microsoft about FOSS? Is there any actual pushback, like it is the awkward step sibling? Or maybe it is a passing fad?


hi @neuro: I’d love to hear why you thought poorly about SFU on a separate thread sometime. Wrt FLOSS inside Microsoft, it is a growing understanding of the value of collaboration. It is a shift in mindset with growing successes, which is leading to a shift in philosophy. Easy good examples are the contributions to the Linux kernel, TypeScript, and .NET Core. These are places where the engineering teams live the first hand reality of collaborating and building on one another’s work. With TypeScript and .NET Core, the engineering teams have come through the learning curves of building successful communities around Microsoft created technology, and with the Linux kernel work they’ve had to learn how to work in another community and earn their position. There are lots of other projects big and small.

It’s also a big company. There are lots of products where the cost of retooling (and relicensing third-party licenses) would be prohibitive to evolve them into open source projects out of which the products are then built. So I look through a lens that sees a growing evolving philosophy towards collaborative development around liberal open source licenses.


Hi @oldgeek: I was discouraged 15 years ago. I came into Microsoft as part of the Softway Systems acquisition in Sep 1999. The product we built was Interix, which became Services for UNIX, then the Subsystem for UNIX Applications. As Softway, we had built a product that allowed customers to run ‘make’ and build executables that ran with fidelity against our subsystem. The customer could run all their applications on Windows NT, regardless of whether they were UNIX developers or Windows developers. The product was essentially a “BSD distro.” We pulled together 4.4BSD-Lite, pdksh, X11, gcc, etc., did the work to make it POSIX conforming, and evolved the Microsoft POSIX subsystem, and did the product engineering to make the customer experience smooth. We contributed back where we could. We did this before people coined the term “open source.” To us, this was how products were built.

Then we arrived at Microsoft in 1999. This was shortly after the OSI began, the Halloween documents had been leaked, the DoJ litigation had begun, and Red Hat and VA Linux were going public. It was a time of extreme rhetoric. I stayed for five years. Interix became SFU, but wasn’t getting a lot of love in the UNIX competitive wars. I worked on Rotor for a year (which was the original publication of .NET source under an academic research license running on Windows, Mac OS X, and FreeBSD). I spent a couple of years helping folks reach for the original Microsoft open source experiments like WiX. But it was all a battle, all the time. I left at the end of 2004.

Returning to Azure engineering last September, I find a very different world. The success Microsoft is experiencing in lots of areas with regard to open source means I have places I can contribute my own experiences to help the engineering teams accomplish more. But even the internal engineering culture within Azure itself is very different than the engineering culture in the Windows division 15 years ago. Regardless of the open source discussion, the culture in Azure itself is a collaborative culture. I think this pre-disposes folks to think about collaboration across the firewall differently than they would do in the past.


Hi @peterthehermit: I honestly don’t know the answer to that question. I’m not sure what our position was/is. Send me email please (stwalli at microsoft).


@Sarah_Scarlett: You are bolder than I am. I have no ink. Lots of reasons why.


Hi @TakeRollrWeak: I’m simply busy. What question can I answer for you? s.


What is the actual use case of Powershell Core in Linux? What is the narrative of Powershell Core’s in Linux?

As a Windows admin, I love Powershell and use it immensely for all sorts of tasks. Simultaneously though, as a Linux admin too (although lesser so lately than I used to be), I’m confused as to what I’m supposed to be excited about with Powershell Core in Linux (especially when I’m not in the Azure world).

Powershell makes sense in the object-heavy, API world of Windows; but in the text-based, config file world of Linux, this doesn’t make as much sense to me, especially when we have Python if we want to do object-based scripting, which is cross-platform and has been for awhile.

I’m just trying to understand where the heck Microsoft is going with Powershell Core and what message it’s trying to send to Linux admins who already have Bash and Python. Why is it better if at all? Is this just a way to get Windows admins who have never touched Linux to be able to work in Linux?

I’m perplexed here about it, if you can’t tell. :slightly_smiling_face:

BTW - thanks for taking the time to field questions!


Hi @sudoer: I am not the right person to answer that question. I have lived a long time in the text-based UNIX world and that’s my default way to view problems. That said, a number of folks from the Interix world ended up on the PowerShell team. I’ll encourage them to answer (or at least send me links to reasonable references).


Any response of substance is likely to be pretty long, and over-generalized, but I’ll try to be brief.

A cross-platform PowerShell will first and foremost provide a consistent interactive experience for somebody working on both Windows and non-Windows platforms. That in itself is a laudable goal. The cognitive switching cost from platform to platform, esp Windows/Linux is pretty high, and one solution was bash everywhere and 20 years ago, it was the only way (MKS anyone?).

Looking forward, though, a text-based configuration is perhaps too small a view of where management is going. With the growth of REST-based services, an API approach to service management seems like a pretty good idea. You could argue that Python takes up that mantle, but I would counter that requiring ad-hoc REST queries to be implemented as a script might not be as quick/easy as you would like, especially if you can just type invoke-webrequest <serviceendpoint> | format-table ServiceName,Status,Errors.

Lastly, PowerShell is not about supplanting anything; like any tool, you want to use the tool that’s comfortable and can be used for the job at hand. If you have tools written in PERL/Python/WhatEver, use them. But if PS provides you an edge, see how it can be used?

I’m a little biased, of course, but what’s useful to me may be useful for others.


I always liked the concept of PowerShell thingies providing objects which later things in the pipeline could then use. But I don’t know how useful it is, unless you only use PowerShell thingies (since consuming objects is kinda specific and requires all your apps to do it). Maybe building jq into the shell would have done the same thing…


I always imagined that you had “WHY DIDN’T YOU LISTEN TO ME” in Fraktur Gothic script right across your chest, just so people would know how wrong they were one day :slight_smile:


do it. Doooooooo it.

Please respect our code of conduct which is simple: don't be a dick.