The Next Chapter: Setting Sail

I am excited to 'go green' 🦎, play a role in the new SUSE, get more involved in the Kubernetes community, and continue pushing the boundaries of OS interoperability.

The Next Chapter: Setting Sail

I have always been a bit of a distrohopper. The ability to easily try Ubuntu, OpenSUSE, and other Linux distros was one of the reasons I was initially attracted to Windows Subsystem for Linux, that and my longstanding interest in operating system interoperability and passion for enabling developers using open source.

The new Windows Terminal has since made trying different distros even easier, another distro is now just a click away on WSL. Containers, whether Docker, LXD, or OCI, have also made experimenting with different distro environments easy as well. We are inching closer to my utopian dream of true OS independence through the containerization of everything.

Pengwin got a shout-out in the Windows Terminal sizzle reel alongside Ubuntu and SUSE.

I have been working full-time on WSL since 2018. Starting out by lending a hand in the community and later founding a WSL-focused startup, Whitewater Foundry, an experiment in a sustainable indie open-source business model with friends from the community. From there Patrick, Kim, Carlos, and I launched Pengwin, the first 'WSL native' Linux distro, followed a series of WSL projects that filled gaps we saw in the WSL ecosystem: Pengwin Enterprise, Fedora Remix for WSL, and then Raft, a graphical WSL distro manager inspired by Kitematic.

Raft from Whitewater Foundry

In late 2019 I was recruited by Canonical and passed the BDFL torch of Pengwin to Carlos Ramirez. At Canonical I drove advocacy for Ubuntu on WSL and led a team around the project, including bringing over Patrick from Pengwin. We held two WSLConf events, the first conference series dedicated to all things WSL. We passed an adoption rate of Ubuntu on WSL that I never thought was possible. We launched Ubuntu 20.04 LTS for WSL in April 2020 on the same day as the general release (a first) and updated the process for building and releasing images to the Microsoft Store. We later began testing new features for WSL based on interim Ubuntu releases in Ubuntu for WSL Community Preview that then make their way into the LTS releases.

Meanwhile, I took everything I knew about WSL, organized it, and wrote it down in a book, which you should absolutely pre-order. It contains everything you need to know to become a WSL pro:

Pro Windows Subsystem for Linux

However, over the past few months, I have been itching for a new challenge. I have seen growing interest in Kubernetes in the various developer communities that I interact with doing WSL advocacy. More developers are looking to build and test cloud native applications on Kubernetes, with tools like kind, microk8s or k3d on WSL 2:

WSL2+KinD+Multipass: The Swarmenetes :: ~/wsl.dev — Get your Linux On
Introduction Local Kubernetes (K8s) single nodes cluster are so before COVID (read: 2019). The current “trend” is to create K8s multi-nodes clusters or, even better, High Availability (HA) clusters.When dealing with K8s in Docker (KinD), both multi-nodes and HA are possible, however it …

I began following the Kubernetes community more closely and learning how to leverage some of the vast array of tools in the Cloud Native landscape:

CNCF Landscape

As someone who enjoys understanding complex systems and how they all fit together, the world of Kubernetes was a brand-new playground to play in and learn. Also, the people in the Kubernetes community seem nice.

Experimenting with flux2 on microk8s
In which I try to get flux2 working on microk8s...

The thought occurred to me this might be an area I could find a niche in and even work in professionally. But how was I, known to many as the WSL guy, going to find a role in the Kubernetes community? What did I have to contribute?

The thing is, I really enjoy making software run in places it was not originally intended:

By far my most popular tweet.

I set out in a series of conversations with friends in the Kubernetes community to learn and explore. I thought about how I could leverage my OS interoperability knowledge, devrel skills, and engineering management experience to give back to Kubernetes and developers. It was challenging to find a position that offered this specific mix.

After many conversations and interviews, one opportunity in the Kubernetes world opened that felt like a good fit, where my unique background could be useful:

Windows containers.

The state of Windows containers in Kubernetes is, to say, a bit rough, just like WSL was when we first launched Pengwin back on WSL 1. But a lot of interesting work is being done in that space by passionate, smart people.

I want to go help make deploying and running Windows software easier in Kubernetes for developers and IT administrators, running Windows and Linux workloads side-by-side. I am then going to show Windows developers how to take advantage of this amazing platform and rich ecosystem, just like I did with WSL.

I am a Microsoft MVP for Windows Development, after all.

I am pleased to share that I will be joining the Rancher team at SUSE to help improve the experience of running Windows containers on Rancher and rke2. SUSE's motto is 'Innovate everywhere' and 'everywhere' is where we are going to make Windows containers easier to use, everywhere: on-premise, on Azure, GCP, AWS, and the edge.

Yup, I am going from running Linux on Windows to running Windows on Windows with Linux.

I will not be far from the WSL community. I will still be using WSL in my day-to-day, in my tutorials, and blogs. Did I mention my book on WSL is coming out soon too? I also look forward to continuing to work with Microsoft as a partner in my new adventure, including some of the same Microsoft teams I have already been working with.

Deploying Rancher on k3s on WSL 2
Running k3s server on WSL2 and then installing Rancher on it.

I will not be on the SUSE WSL team, but I may submit a PR over there from time to time.

I will profoundly miss my colleagues at Canonical and the teams I led there, including:

I deeply appreciate the opportunity Canonical gave me to work on WSL and the forward-thinking of the leadership there to embrace WSL.

I am excited to 'go green' 🦎, play a role in the new SUSE, get more involved in the Kubernetes community, continue pushing the boundaries of OS interoperability, and empowering developers.

Stay tuned for more.