{"id":169427,"date":"2025-05-19T18:46:55","date_gmt":"2025-05-19T18:46:55","guid":{"rendered":"https:\/\/linuxiac.com\/?p=169427"},"modified":"2025-05-19T19:05:03","modified_gmt":"2025-05-19T19:05:03","slug":"microsoft-open-sources-wsl","status":"publish","type":"post","link":"https:\/\/linuxiac.com\/microsoft-open-sources-wsl\/","title":{"rendered":"A New Era: Microsoft Open Sources WSL"},"content":{"rendered":"\n<p>Some news comes and goes, but then some stories mark a historic moment in the open source world\u2014this is definitely one of those. In a move long anticipated by developers, Microsoft has released the Windows Subsystem for Linux (WSL) under an open-source license, <a href=\"https:\/\/github.com\/Microsoft\/WSL\" target=\"_blank\" rel=\"noreferrer noopener\">placing its core codebase on GitHub<\/a>.<\/p>\n\n\n\n<p>The announcement fulfills <a href=\"https:\/\/github.com\/microsoft\/WSL\/issues\/1\" target=\"_blank\" rel=\"noreferrer noopener\">the very first request<\/a> ever filed in the project\u2019s issue tracker\u2014an almost nine-year-old plea to \u201cmake WSL open source.\u201d<\/p>\n\n\n\n<p>For our less-tech-savvy readers, WSL, or Windows Subsystem for Linux, is a Windows feature that lets you run Linux directly inside Windows without needing a separate computer or a virtual machine. To be honest, it is incredibly useful, allowing Windows users to get hands-on experience with Linux without the hassle of complex installations or tricky configurations.<\/p>\n\n\n\n<p>Let\u2019s take a moment to look back at a few key events. WSL\u2019s journey started in 2016, when Windows 10 Anniversary Update shipped a compatibility layer (later retro-branded \u201cWSL 1\u201d) that translated Linux system calls on the fly through the <code>lxcore.sys<\/code> driver.<\/p>\n\n\n\n<p>Although groundbreaking, that approach still lagged behind a real Linux environment in edge-case compatibility. Consequently, Microsoft unveiled WSL 2 in 2019, switching to a lightweight VM that boots an actual Microsoft-maintained Linux kernel\u2014a change that unlocked GPU compute, GUI apps via WSLg, and, more recently, <a href=\"https:\/\/linuxiac.com\/wsl-systemd-support\/\" data-type=\"post\" data-id=\"49689\">systemd support<\/a>.<\/p>\n\n\n\n<p>By 2021, the company had separated WSL\u2019s release cadence from Windows itself, shipping it as a Microsoft Store package. That decoupling paved the way for WSL 2.0.0\u2019s \u201cmirrored networking,\u201d DNS tunneling, and firewall integration.<\/p>\n\n\n\n<p>Back to the topic- what\u2019s now open, and what stays closed? Here&#8217;s the situation &#8211; the newly opened repository contains all user-mode pieces that make WSL tick:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Command-line front ends<\/strong> (<code>wsl.exe<\/code>, <code>wslconfig.exe<\/code>, <code>wslg.exe<\/code>).<\/li>\n\n\n\n<li><strong><code>wslservice.exe<\/code><\/strong>, the Windows-side service that spins up the VM, handles distro lifecycles, and mounts shared resources.<\/li>\n\n\n\n<li><strong>Linux-side daemons<\/strong> (including <code>init<\/code>, <code>gns<\/code> for networking, and <code>localhost<\/code> for port forwarding).<\/li>\n\n\n\n<li><strong>A Plan 9 server<\/strong> powering cross-OS file sharing.<\/li>\n<\/ul>\n\n\n\n<p>Components that remain proprietary for now include <code>lxcore.sys<\/code> (necessary for legacy WSL 1 users) and the Plan 9 redirection driver (<code>p9rdr.sys<\/code>) responsible for the <code>\\\\wsl.localhost<\/code> share.<\/p>\n\n\n\n<p>So, what can we expect moving forward? In short, a major quality leap for WSL. Because at the moment, there&#8217;s a lot to be ironed out. Contributors have already filed thousands of issues and pull requests against WSL-related projects (notably WSLg and the dedicated Linux kernel) despite having no visibility into the main service\u2019s internals.<\/p>\n\n\n\n<p>But no more\u2014opening the codebase removes a major bottleneck for community-driven fixes, features, and security reviews and shortens feedback loops. Additionally, the open-source shift simplifies auditing and supply-chain compliance for enterprises. A transparent WSL is also one less reason to <a href=\"https:\/\/linuxiac.com\/microsoft-fixes-windows-update-that-broke-grub-in-dual-boot-systems\/\">dual-boot<\/a> or reach for a separate VM.<\/p>\n\n\n\n<p>Developers eager to peek under the hood can clone the repo, <a href=\"https:\/\/github.com\/microsoft\/WSL\/blob\/master\/doc\/docs\/dev-loop.md\" target=\"_blank\" rel=\"noreferrer noopener\">spin up a local build<\/a>, and submit pull requests. Microsoft\u2019s maintainers have <a href=\"https:\/\/github.com\/microsoft\/WSL\/blob\/master\/CONTRIBUTING.md\" target=\"_blank\" rel=\"noreferrer noopener\">published guidelines<\/a> detailing coding standards, CI requirements, and a governance model.<\/p>\n\n\n\n<p>For more information, see the official <a href=\"https:\/\/blogs.windows.com\/windowsdeveloper\/2025\/05\/19\/the-windows-subsystem-for-linux-is-now-open-source\/\" target=\"_blank\" rel=\"noreferrer noopener\">Microsoft announcement<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After years of anticipation, the Windows Subsystem for Linux is now fully open source\u2014developers can build, enhance, and contribute to WSL starting today.<\/p>\n","protected":false},"author":10,"featured_media":169430,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[53,2062],"class_list":["post-169427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-microsoft","tag-wsl"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/169427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/comments?post=169427"}],"version-history":[{"count":0,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/169427\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media\/169430"}],"wp:attachment":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media?parent=169427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/categories?post=169427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/tags?post=169427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}