On Thursday, the opening keynote address at the All Things Open conference will be given by Microsoft's Scott Hanselman. This is a testimony to how much things have changed. Five or six years ago, the thought that Microsoft would be interested in being represented at a conference devoted to open source, or that an open source conference would entertain hosting them, would have been laughable. The Linux/open source world and Redmond had been battling since before the Linux Foundation had existed, and it appeared that the best possible outcome would be a protracted stalemate.
These days it's a different world. Microsoft is pretty much accepted as a member of the open source community -- especially by the enterprise. Part of this turn around has been possible because Microsoft has played it smart by hiring people with serious open source credibility. Hanselman, for instance, joined Microsoft nine years ago after spending over six years introducing open source solutions to midsized banks in his position as chief architect for Corillian. Now he's principal program manager for the .NET community.
Last week I spent some time on the phone with Hanselman. In our conversation, we touched on Microsoft's move into open source and the company's increasing acceptance by the open source community.
IT Pro: You just released .NET Core which works across platforms. Should developers and DevOps who primarily work with Linux be excited about this?
Hanselman: My perspective is that there's a whole bunch of people out there that have Linux in their data centers and Linux in their companies. They're running Java apps, PHP apps and all these different workloads, and they're very diverse workloads, on Linux. And then they might have a Windows machine that they dislike or whatever, and they go, "Yeah, I've got that one Windows machine and at least 15 Linux machines," and they might not choose .NET -- or C# or F# -- which is a great platform with great languages. They might not pick it because they're just not Windows fans.
We would like them to have those .NET workloads running on those Linux machines alongside all their other stuff. Maybe they have containers; maybe they have Kubernetes; maybe they have Docker; it doesn't matter. You can have PHP, Python and .NET all running on the server that you already like and already run, and you put it behind NGINX or Apache and it is a member of the open source community just like anything else. The stack is open source all the way to the metal.
IT Pro: It seems that a lot of Microsoft's open source efforts center around making life easier for DevOps. .NET Core is an example, as is the making of PowerShell and bash available for Windows and Linux, which enables people to use tools they are comfortable using regardless of platform. That seems to be a very good idea, and it seems that perhaps Microsoft isn't getting enough credit for these efforts.
Hanselman: That is a very interesting perspective, because sometimes I feel like we'll do something cool and we'll put it out there, and it is just really cool, and it will not land. Honestly, I did not think TypeScript was going to happen. I thought we'd put TypeScript out and people would not like it just because it was Microsoft. But they did, and I was honestly surprised. People looked at it on its own merits as opposed to a "Microsoft did this mean thing 20 years ago" type perspective. I appreciate that people are starting to say, "Hey, this is cool. I didn't look at Microsoft before." So they might have disliked Microsoft 20 years ago, then not thought about Microsoft 10 years ago, but now this year they're thinking, "Gosh, we keep looking for the catch, but there isn't a catch." We really are serious.
IT Pro: I think that's happening more and more with enterprise users.
Hanselman: Yeah. I think that the enterprise people are a little confused about the idea of support though. I've even had people say visual studio ships jQuery so we can't use that. But they don't realize that it's shipping a licensed version of jQuery with the Visual Studio that they purchased, therefore it is a supported component from Microsoft.
Actually, I have a good slide I can give you that talks about different ways you could cook your steak. If you cook your steak well done, you're not going to die of salmonella. You're going to be fine. It may not taste great, but it's going to be totally safe. As you move towards medium or medium-well, that's like going and building your .NET from source. If you buy Visual Studio and you put .NET in your data center, you'll be fully supported. If you go and download the source, fork it, mess with it and change it, you're going to be less supported. You're taking a risk, but you get to decide how you want your meal cooked and you decide how much risk you want to take on.
IT Pro: So some of the stuff that would ship that is proprietary might quit being covered depending on whether I'm using the official Microsoft version or a fork?
Hanselman: Exactly. Let's give you an example. We don't have official support for the Raspberry Pi flavor of Linux. If you call and say we went live in production on Raspberry Pi, that's great but I'm sorry, that's not currently a supported thing. You can go to GitHub Issues and we can have a conversation about it, but as far as getting Satya [Nadella, Microsoft CEO] on the phone at three in the morning on a Sunday, that's probably not going to happen.
We want to inspire the hackers to get these things running on different platforms, fueling fun and doing crazy stuff, but we still have to constrain the platforms that we support. So you have to support the enterprise and inspire the hacker.