Yes, the idea of sitting down with a Microsoft technical fellow at a Linux conference is still somewhat counterintuitive, but times have changed – Redmond is no longer the inimical enemy of all things open-source.
Quite the opposite, these days, Microsoft, under the leadership of CEO Satya Nadella, has begun to embrace open-source in a big way, releasing key software components like .NET as open-source, making its Azure cloud Linux-compatible, and acquiring companies that boost its presence in the open-source world.
The company’s latest move has been to open-source PowerShell, an automation framework used for administrative scripting, and release an alpha version for Linux. The creator, Jeffrey Snover, spoke to us Monday at LinuxCon North America in Toronto.
You’re the inventor of PowerShell, it’s your baby – any fears about opening it up for all the world to play with?
Good lord, no. We wanted to do this from the very beginning. That was certainly the intent, but at the time that just wasn’t a possibility.
Now, Microsoft’s got this big shift in the direction of open-source:
We found that it’s a heterogeneous world, people want their choice of servers and their choice of clients and their choice of clouds. It turns out when you do that, it’s a messy world. It’s a pain in the ass. We think that PowerShell’s uniquely positioned to try and help that by having a single management stack to manage it all.
If anybody’s doing anything with Windows or data centers or cloud, they’re using PowerShell. That’s why our launch partners were VMware and AWS…. Those guys have great PowerShell support.
What’s the focus of current work on PowerShell?
We’re flushing things out – we’ve got a long tail of commands that we want to bring over, actually some of the I/O is a little different on Linux … that gave us a little heartburn, but then largely it’s just working with the community.
It’s a balancing act – we’re 15 years in, we can’t develop in the community, but that’s where we want to be. So we didn’t want to say, “Here, it’s finished, take it,” and we also didn’t want to say, “Here’s the direction we want to go, but I don’t have anything compiled.”
On where PowerShell for Linux is right now:
It’s far enough along that people can grab it and kick the tires, it’s not so far along that people can’t meaningfully contribute. … I wouldn’t use it in production yet.
The first challenge we had is that PowerShell used the full .NET. That is not portable. So .NET had to become portable, so they have a portable version called .NET core. We had to go and, first, get PowerShell on .NET core. That I have a production version of, and that ships in Windows Server 2016, our nanoserver edition. That is the basis of the port.
But now, just to be clear, that version is PowerShell version 5, it’s shipped in Windows Server 2016. The community code now … is version 6. What that means is that all of our development is being done in the community. The community branch is the active branch, and this will be where we ship our public stuff, always available on Linux and Windows at the same time.
That’s quite the commitment.
Wim [Cokaerts, Microsoft vice president of enterprise open-source] was super-helpful about this, because I thought, “We’ll ship [the two versions] pretty close together.” And he said, “No, no, no – they can’t be close together. It has to be absolutely at the same time.”
He was at Oracle, and at some point, they shipped on Linux and then a week later, they shipped on Solaris, and people said, “You’re not committed to Solaris!”
We want to be committed to shipping at the same time.
What about the OpenSSH project?
Last year, my teams joined the OpenSSH community; we are committers on that project, we’re the largest funders of OpenSSH work. But what people know is that we’re taking OpenSSH, both the client and the server, and we’re porting that to Windows. What we announced last Thursday was that this is not some arm’s length engagement – we’re taking OpenSSH and we’re putting it at the very heart of PowerShell.
How do you think Microsoft’s outreach to the open-source community is going?
As we talk to the community we get a full range of things – the shock, by and large, I’d say that’s 80% to 90%, then we’ve got the people who are very skeptical, and – I want to be super clear on this – I’m very confident in my technology, but we approach the Linux marketplace with humbleness and a challenger mindset. I do not expect people to greet us as liberators, or anything like that!
The Linux community has a great set of tools, and we need to earn the right to be used. And I think we can.
Being a Microsoft person, you must get the odd sideways look at open-source events.
Sure, absolutely. There’s suspicion, there’s people who still spell Microsoft with a dollar sign…
The animosity goes back a long way.
Yeah, I mean, I get it – we have to earn our trustworthiness, and we have to earn our usage.
It must be a bit of a culture shock going back the other way, too.
Sure, although, you know, my team – we all have deep UNIX backgrounds, before getting into NT, I was a UNIX development manager at Digital [Equipment Corporation], … worked on Ultrix, System 5. So it’s no surprise to us.