Microsoft: The open source company

Microsoft: The open source company

Enlarge

The news from Microsoft’s Build developer conference that surprised me most was that Microsoft will ship a genuine Linux kernel—GPLed, with all patches published—with Windows. That announcement was made with the announcement of Windows Terminal, a new front-end for command-line programs on Windows that will, among other things, support tabs.

Microsoft’s increased involvement with open source software isn’t new, as projects such as Visual Studio Code and the .NET runtime have operated as open source, community-driven projects. But this week’s announcements felt a bit different.

The Linux kernel will be powering Microsoft’s second generation Windows Subsystem for Linux (WSL). The first generation WSL contains a partial re-implementation of the Linux kernel API that uses the Windows NT kernel to perform its functionality. In choosing this approach, Microsoft avoided using any actual Linux code, and hence the company avoided the GPL license with its “viral” stipulations that would

Read the rest Continue Reading
Windows 10 will soon ship with a full, open source, GPLed Linux kernel

Windows 10 will soon ship with a full, open source, GPLed Linux kernel

Enlarge (credit: Microsoft)

Earlier today, we wrote that Microsoft was going to add some big new features to the Windows Subsystem for Linux, including native support for Docker containers. It turns out that that ain’t the half of it.

The current Windows Subsystem for Linux uses a Microsoft-authored kernel component that provided the same kernel API as the Linux kernel but written from scratch by Microsoft. Essentially, it translated from Linux APIs to Windows NT kernel APIs. That worked pretty well, but the current subsystem had a few shortcomings: there was no ability to use Linux drivers, in particular file system drivers. Its file system performance, layered on top of Windows’ own NTFS, was often 20 times slower than a real Linux kernel. It was also a relatively old version of the kernel; it offered approximately the set of APIs that Linux 4.4 did, and that was released in

Read the rest Continue Reading