Microsoft's former open source VP Wim Coekaerts

Equal Footing

Article from Issue 197/2017

Former Microsoft open source VP Wim Coekaerts.

Microsoft has changed its ways since the old days, when the company gained a reputation for spreading what the FOSS community liked to call FUD (Fear, Uncertainty, and Doubt) about Linux. The new Microsoft has gradually released parts of the .NET platform to open source, and recently, CEO Satya Nadella stated that Microsoft "loves Linux." Some long-time FOSS watchers are skeptical, but the Linux Foundation recently showed their support by welcoming Microsoft as a Platinum-level member.

As part of that effort to upgrade their Linux position and improve their standing within the community, Microsoft hired Wim Coekaerts, who had helped jump-start the Linux effort at Oracle as the new Corporate Vice President of Enterprise Open Source. Coekaerts only stayed at Microsoft for eight months before he was lured back to Oracle, but according to Coekaerts, the decision to leave was strictly personal. He is quoted as saying "… from my short time [at Microsoft], I saw a company that really does love Linux and has a bright future in open source."

We caught up with Coekaerts at LinuxCon North America in Toronto (while he was still with Microsoft) and asked him about the company's changing attitude toward Linux.

Linux Magazine: Could you start by telling a little about yourself?

Wim Coekaerts: I joined Microsoft five months ago, and it's been a great five months so far. My role is Corporate Vice President for what we call Enterprise Open Source.

LM: What were you doing prior to joining Microsoft?

WC: Prior to joining Microsoft, I was at Oracle. I helped manage community contributions and worked to improve Oracle's Linux product. I'm doing similar things now at Microsoft: Making sure we work with the different open source projects in a natural way.

LM: Are you still contributing code to Linux?

WC: A little bit. I wrote a watchdog timer for a Sparc Linux several months ago, just because I felt like it, I guess. That went upstream to the main line. I like technology. My title at Microsoft is just a title; I'm a developer at heart.

LM: Being associated with Linux and open source for such a long time, you know it's more about culture than technology itself. When you came to Microsoft, what was the experience like, from a culture perspective, because at one point Microsoft was not as friendly towards Linux as it appears to be now.

WC: I think the reason I joined was because when I talked to Scott Guthrie and Mike Neil in January (we literally met at Starbucks just to chat), they made it very clear that Microsoft has evolved into a company with a very open culture. Different product groups can now send in pull requests to other groups. For example, groups working on SQL Server find something in Active Directory and send patches. They are trying to foster a sort of open development community within the company, and they've been working on that for a while.

That was one thing; the other was this big message around open source, around working with customers to make sure we do the right thing for customers and developers.

There have been enough open source projects at Microsoft that developers within the company can now see it as a career path. A lot of open source is happening within the company, and when something new happens people say "I should go and join that open source group."

When somebody is writing a product and they need a library, like some extension that makes it easier for them to do their job, it's so streamlined within the company that it has become natural. A lot of services, whether it's on [the] SDN side or on [the] Azure container side, are already running on Linux.

There are already internal Microsoft products and services being developed that use Linux platform. I think they've gone past a lot of those older stigmas that are no longer an issue.

At this point, open source is basically part of day-to-day life at Microsoft.

LM: Some people are skeptical of Microsoft, due to the history. But times have changed, and now Microsoft is building on top of Linux, so they can't really be hostile towards the technology that they are relying on.

WC: I think there are a number of things here. Azure is very important to the company. We need more Linux deployments (not just as Microsoft stack but in general) for Azure to grow. Customers who run various open source projects certainly run Linux. It's obviously in our best interest to make sure that customers know that we're not hostile towards Linux. In fact, Microsoft loves Linux. That's not just a tag line, because if we can't convince our customers that it's true, they won't come to us.

We recently hired Matthew Wilcox and Stephen Hemminger, who work on the Linux kernel side. We're going to expand the Linux work we do. We're contributing more code to the kernel that's beyond just enabling Linux on hypervisor or Linux in Azure.

We are doing upstream testing with Linux, and we'll do that for other open source projects as well. By doing those things, I believe we can change the opinion or the few skeptics that are still around.

LM: Beyond Hyper-V, what are the other areas that you are actively contributing to?

WC: Of course the Hyper-V stuff continues to evolve because there is a lot of work being done around containers. There is a lot of work done in the Docker space. Linux is a first-class citizen in Azure, so we will continue to work on technologies around it.

LM: Linux has had some security issues – not a lot, but some were serious. How can Microsoft help?

WC: Microsoft has a lot of development tools; there are a lot of static code analyzers, dynamic code analyzers, and many more tools like that. We're looking at how can we use those tools on open source code. We want to be able to run nightly static code analyzers on NTPD and OpenSSL, and when we find issues, we either report them or we try and fix them if we have the knowledge in house. But that's one area that we still have to investigate.

LM: The Linux Foundation is working on projects like the Core Infrastructure Initiative (CII) that aim at improving security. Microsoft is also part of that initiative, so what work are you doing there?

WC: There are two parts to this one. One of the reasons that the Core Infrastructure Initiative was created was that a lot of critical open source projects are done by one or two developers at home. They don't have the hardware and other resources to do the much-needed testing. As I mentioned earlier, for the work we want to do with developing the Linux kernel and testing upstream, CII is actually a good place to start.

The second part is that we will provide testing resources that should potentially help in finding bugs. I think that's a good way to contribute. As I've said for many years, a lot of open source enthusiasts (whether they do contribute code or not) see open source development as how many lines of code have you contributed. That's sort of the baseline for them. But QA is also an important part. People tend to forget that QA is actually very expensive. You need the infrastructure to run it. I think with Azure, we can contribute a lot of compute cycles to help run QA for these important infrastructure projects. It's important for security. Think about it: If the OpenSSL team runs tests on a small server, they might not find a large number of bugs because they don't have the same low latency ability they would have on a larger system. We can run these tests in a larger environment. I think that's a good contribution.

LM: Let's change gears and talk about Microsoft bringing PowerShell to Linux and Bash to Windows. How do you look at these two platforms?

WC: Well, I am not really an expert on the Windows side.

LM: Right, you are the Linux guy.

WC: I'm a Linux guy, sometimes Mac. But you know what? That's not an issue within the company. It's not a "you have to use Windows" company at all.

A lot of people used to install Cygwin on Windows to get a Bash front. But Cygwin is not really native; it's a separate compile set. By bringing Bash to Windows, we helped those developers that like the Windows desktop but want to use Bash. Consider this example. Someone uses Windows but then on occasion they have to write Python scripts or quickly test something that's on Linux. Of course, they can install a virtual machine, but it demands a lot more resources. So for these things, Bash on Windows is actually quite nice.

Then PowerShell does it the other way around; we have a lot of Windows system admins and DevOps folks who also have to do stuff on Linux, and this kind of makes it cross platform.

What I really like with PowerShell is that all these Linux distributions are slightly different. If you're an admin that has to deal with three or four Linux distributions or even different versions within the same one, then you have to customize your scripts. On Slack, you need to do it this way, whereas on Ubuntu you have to do it a different way. With PowerShell, commandlets make things easier in such cases; useradd is useradd no matter which distribution you're on. I think it's a management tool that can hide some of the complexities that come by using different Linux distributions. I'll make it a point to say, it's not a replacement for Bash. It's just a different solution.

LM: Earlier you mentioned a career path within Microsoft for developers who are interested in Linux and open source.

WC: Let's say there is a developer who has been doing Windows kernel development for 15 years. He loves Windows; he just feels that it's nice to do something else. He knows about the Linux work happening, and he would like to learn how to do Linux kernel development. Now he, and anyone else at Microsoft, can do that.

There are a lot of people that say the Linux kernel community specifically is sort of a static size team. It's very difficult to get into it because people are really worried that if they send a patch upstream, they might get yelled at, then back off and say "I'm never doing that again." Now what's interesting is that the core kernel developers just move around. They work at Red Hat, Microsoft, Intel, HP…all those companies. But they still do the same work, so the overall size of the core kernel teams remains the same.

To increase that size, to create more contributors, we are doing interesting things, and we are not the only ones – a lot of other companies are doing it too. As I said earlier, we have hired many core kernel developers, including Wilcox and Hemminger. We have been hiring or internally transferring people that are not Linux kernel developers but want to work on the kernel. They know operating systems very well, but they are new to Linux. We can create safe ways for them to learn to contribute. They can write patches and send them to Wilcox or others for review. They will get feedback, suggestions on the right way to do it. People have an opportunity to contribute, in a very safe environment.

LM: When it comes to using open source, what's Microsoft's approach towards upstream?

WC: Upstream first. Kernel development always goes upstream. It doesn't make sense to have private functionality. When it's upstream accepted, then it gets used. We work with our partners on it; we work with Red Hat, Canonical, SUSE, and others. A lot of container services are built on Ubuntu, so the way it works is, we send code upstream, and Ubuntu picks up the code. When we use Ubuntu, then we use the code that they ship. There are no forks of private branches that we know won't get accepted, because then you end up with an impossible situation.

LM: One last question: When you say that Microsoft loves Linux, what does it really mean?

WC: What it means is that customers love Linux and Azure is an important platform for customers.

LM: That's the corporate talk?

WC: No. When we say we love Linux, it means we have to make sure that it runs in the best way possible. Microsoft loves Linux means equal footing, first-class citizen status in Azure. When we release a new service, it goes out on Windows and Linux at the same time. When we provide new functionality in terms of SDKs or CLIs, it's available on both platforms. What we don't want to end up happening is that if I run Linux Azure, I can only do 50% of what Windows can do. We are not holding anything back from Linux. It's 100%.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More