Ubuntu on Windows

Today’s big news is that Microsoft has made bash available on Windows 10. No container, no virtual machine, no recompiled sources:

Here, we’re talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly in Windows.

This opens up a world of possibilities. A world also previously within reach alas be it with lesser solutions.

This means being able to use awk, grep, find, vim, wget, ls, git(!), package management and everything that is awesome and sane, from within Windows 10 natively. Sounds pretty sweet, right?

I’m guessing this will be pretty hugely successful (and make a whole bunch of other tools obsolete). A big part of the greatness and goodness from working with a GNU/Linux system has been ripped out and made available on Windows. There are *a lot* of people working with git and Visual Studio that will cry tears of joy. Because, let’s face it, that’s one of the main reasons for this move. But that is just one subset of users, there are so many more that will discover the (real) power of the command line and the power of package management that comes with it (that might even be the real benefit). So Microsoft improves the usability of Windows and while doing so casually punches Apple’s Mac OSX in the face. OSX is partly regarded/respected as great developer OS mainly because it has a shell.

So a lot of people seem excited, but a bunch of people closely related to GNU/Linux aren’t that vocal (yet). Or maybe they’re unfazed, uninterested?

Maybe it’s because this whole thing raises the question: what does this mean for free and open source software and GNU/Linux in particular? (This was supposed to be the year of the DESKTOP LINUX!)

There are roughly two ways to differently phrase what has happened:

  1. “A multi-billion dollar corporation with almost an omnipresence on the desktop computer, notices it’s missing something that is readily available with other competing solutions, and decides to nitpick the greatest parts of those competitors and incorporate it in their own solution. If you can’t beat ’em join ’em strategy.”
  2. “Computing and software is becoming more fluid, and an OS doesn’t have the clear boundaries it used to have but it is just made up of whatever the best ideas are, ideas that are expressed by software and thus interconnect via API’s and can be glued together to make the best possible solution to fit your needs. And that big multi-billion dollar company wants the best solution.”

If you like that last idea, I have news for you. This is exactly the idea behind GNU/Linux, and it already exists. So my guess is that the GNU/Linux community seems unfazed because they think: instead of being excited and giddy for all this you could just install Ubuntu.

And this is where the sticky part is. The openness of GPL software makes way for their current Microsoft approach, but it also bites itself in the butt. By using bash in such a way and incorporating this Free and Open software within this closed OS is suffocating the ideas of GPL and diluting its purpose. Because Microsoft is not GPL-ing/open-sourcing its own code base (sure, small parts), it’s just using the best parts and sticking to its own strategy. It’s a smart, clever, and tactically strong move and it will be very successful. But GPL thrives and exists because of other GPL software, and this approach works and creates beautiful things (take for instance how GCC made may for Linux, which made way for a gazillion other tools etc.). There is a viral aspect to the GPL that will be completely cut off. GPL software in a non-GPL environment has  a harder time in reaching its potential.

It strikes me as the people that are excited might not really understand or care for the GPL (or licensing in general). They just look at it from a user perspective and think: “hey, I get best of both worlds”. That’s fine and I’m not arguing against that (software is made for the users after all). But a critical aspect here is that they seem to forget that this software only got this far because of exactly this license. It’s a fundamental and integral part of it’s success and quality.

Since what just happened was completely unheard throughout the 90’s and 00’s I don’t think both sides would have guessed this would ever happen. But it did. Just like a couple of weeks ago Microsoft decided to create its own Linux version to support SQL server on Linux. So even stranger things might happen and I’m trying to keep an open mind. I’m not against this current move and probably will even use it myself at some point, but if this is it, and its just taking and not giving, this will not benefit GNU software in the long run.

Personally, I really think the nature of software is and should be fluid and so it should be able to be stitched together to create what you need. But this only works really well, if all parts of the ‘quilt’ follow the same rules.