Ubuntu, SUSE Linux, and Fedora Are All Coming to the Windows Store
theverge.com
theverge.com
It may be childish, but I resent Windows for every anti-privacy, anti-competitive move they make, despite how much it is within their rights and fitting with their corporate goals. Trying to put linux in windows and pretend that they've been on the side of developers who push F/OSS this whole time is a hard pill to swallow.
I recoil at the possibility that some developer 5 years from now might ask me "Why bother installing your own linux distribution? You can just get Windows Go 15 and run Arch/Ubuntu/SUSE from inside there. Don't forget to disable the ads and tracking that come standard".
What's happening here is that Microsoft, after a number of years of troubles keeping up, are following the market. WSL is presumably not meant to compete with Linux or FOSS as a desktop OS, but with Mac OS and Linux as developer platforms.
Companies like Google and Apple figured out that if you just give people their pony e.g. base your things on FOSS, they won't notice when you centralize everything, track everyone and generally behave badly. In many ways Microsoft is doing better here. Their projects aim to be cross platform and are being developed together with the community. Instead of usual the code dump and silent mailing list we've become accustomed to from some companies.
Linux have had the chance to do better for awhile now (and in some ways it has). Microsoft have been critized constantly for Windows 8 and now Windows 10. Apple left a huge hole in the "professional" market for years, including after the new Mac Pro and the new MacBook Pro. If some developers move to Windows because of this I think that's fair.
I understand and agree with that point, I don't believe I remarked on pushing WSL as a Linux or FOSS desktop OS, my point was more that it was way to lure developers to Windows, after Windows has spent time and money making moves that do not benefit developers and hurt competition.
Also I already hear the "oh just run it in a VM" argument all the time right now (not saying it has no merit), as reasons for why people don't run linux distributions, and thought this was similar.
> Companies like Google and Apple figured out that if you just give people their pony e.g. base your things on FOSS, they won't notice when you centralize everything, track everyone and generally behave badly. In many ways Microsoft is doing better here. Their projects aim to be cross platform and are being developed together with the community. Instead of usual the code dump and silent mailing list we've become accustomed to from some companies.
It certainly depends on the product, but "developed together with the community" feels to be to always only be true up to a point (and usually not the point that people end up wanting). Benevolent dictators make sense as the governance model for open source products, but I just don't believe in Microsoft as my benevolent dictator anymore than I would in Google.
Also, I'm totally fine with code dump and silent mailing list, it's not the company's job to give you the fruits of their internal labor for free. I don't expect that from any big tech company. I can't see that Microsoft is doing "better", they're just trying to get in the same game that the other companies are already in. Maybe I just haven't interfaced with enough companies running F/OSS projects to know the difference, if it's that stark.
> Linux have had the chance to do better for awhile now (and in some ways it has). Microsoft have been critized constantly for Windows 8 and now Windows 10. Apple left a huge hole in the "professional" market for years, including after the new Mac Pro and the new MacBook Pro. If some developers move to Windows because of this I think that's fair.
I assume your rationale behind developers moving to Windows being "fair" is that it will encourage competition (and cause the linux community to get off their laurels)? Based on that assumption, while I agree that more competition is good, it's that very competition that microsoft (and most other companies) has seeked to crush at times. The linux community is fundamentally different. Redhat is not (I think) fundamentally different than Microsoft, but the linux community certainly is, because the structure, principles, and philosophy are just not the same.
The linux community is not just a competing OS, it's a way of thinking. Shoe-horning a different way of thinking into your own without actually changing your own (and in fact sometimes making philosophical movements in the opposite direction) looks like nothing more than a ploy to entrap people into thinking "microsoft gets me" when they (in my opinion) would be better off committing to an actual group of like-minded people.
Also, I'm not 100% sure what exactly you disagreed with in my comment... To sum up:
- Microsoft is different partnering closely with the community
- Linux needs more competition (?)
But just for performance and workload capacity, I can't give up Ubuntu, when installed in the very same hardware.
There's something in Windows that just removes control from the user, and I say this in a very technical way.
- thought to myself "why on earth would anyone want that"
- looked at the comments, noted people who were working with legacy software that turned out to be dependent on windows, decided to keep my disparaging commentary to myself
- felt sympathy with smidgen of condescension (I'm of the opinion that someone should just rewrite those old tools, but being a relatively young developer, I'm naive like that)
The trick is figuring out what this the priority. There is some 40 year old software that mostly work: it runs fast enough; it doesn't have many bugs; it doesn't follow best practices that the software world has discovered since; and it rarely needs new features. This code needs to be rewritten but the value just isn't there. There is other code that at only 5 years old needs to be rewritten: it is full of bugs, new features have been tacked onto an architecture that wasn't designed to support it - this software needs to have a large budget given to fixing it in the long run this will save a lot of money. Most projects are somewhere in between, you should give the team a little extra time/budget so that they can keep the maintenance up to do and it will never get much worse.
While possibly a highly unpopular opinion, this is where I think solutions like Electron/Node Webkit fit perfectly.I think this is actually kind of already solved (just not with the tools that everyone may want). We shouldn't be even aiming for any particular distribution to begin with, at the expense of a larger executable and less-than-native UI performance, you get write once ship just-about-everywhere when you use tools like electron/node webkit.
Developers often hate web programming, but it's just about the only easy to pick up, and relatively consistent tool for the job of platforms that "just work" (pretty much) everywhere right now. It even seems like the best way to do it going forward, given that:
- Browser companies will work hard towards making browsers faster and efficient, because it's in their best interest (which is the best kind of guarantee).
- Cross-platform minded languages like Go or Rust will become more popular for those who want to get away from using JS at all, and JS could basically become an RPC layer for the "real" application
- Once WASM really takes to the mainstream, languages will just compile it to it. WASM already has LLVM support, so there's a bunch of languages for free already.
So soon, JS won't even be the sticking point in why people dislike distributing cross-platform apps with Electron/NodeJS, then we'll focus on things like executable size and memory usage, and solutions will pop up for those things too.
<tl/dr goes here>
Well ...: https://twitter.com/jacobrossi/status/851992646151278592
I also trust browser vendors to focus on keeping stripped-down versions of their core products secure more than I just joe/jane schmoe the app developer that just learned how to use QT/Swing/whatever.
I sure love my data types of `int` to be IEEE 754 floating point numbers!
With WSL, developers targeting servers do have less of an incentive to port to Windows; but I'd argue that was the trend already, which is why MS is finally coming around.
On the other hand, developers targeting desktops now have more of an incentive to target Windows. A lot of early adopters and peers for these people are power users and other developers, who run Linux or Mac on their desktops as much as (if not more than) Windows. If more of these people move back to Windows because of WSL, desktop developers will have to consider Windows a priority again.
While a lot of the focus of "New MS" is on selling and promoting their cloud services, they are also interested in stemming the bleed on desktop. WSL helps a lot in that regard, IMHO; and as a side effect, it keeps developers on Windows: familiarity is always useful when it comes to peddle other Windows-based solutions. Win-win (for MS).
I don't think that will be an issue with GUI programs on computers, but it might for CLI programs.
"I mean, the privacy is shit, but you can sort of deal with it. But at least you don't have to dance the Ritual Dance of PulseAudio if you need to do MIDI (or get as much as a hiss out of your speakers), suspending your computer doesn't garble your desktop background or desktop icon labels, you can update Windows Go 16 and it'll work after you reboot..."
I don't like Microsoft any more than I like any company of its size, but they're making a compelling case, while the Linux "community" is busy supporting cloud, IVI, and IoT vaporware.
Edit: ten years ago I was certain they were going to pry Debian and OpenBSD from my cold, dead hands. But Windows, for all its privacy compromises, is working better and better, whereas Linux desktops are getting worse (and less portable), with a never-fulfilling promise that it's going to get a lot better when they finally get stable, this massive rewrite that we started like six years ago is just about done...
Edit edit: I know my comment looks overly negative and I seem grumpy but really, I'm not, I like Linux, I make a living out of writing Linux software and I've used it one way or another for almost twenty years. That being said:
1. Please stop recommending me that I use something more user friendly, like Mint or Ubuntu. "You can update to Windows Go 16 and it'll work after you reboot" was a joke about Ubuntu.
2. This "I got this new machine and it works flawlessly out of the box, Linux is great if you get good hardware" is the wrong mentality if you're not Apple. Every operating system, including TempleOS, runs flawlessly out of the box on some hardware. It's getting it to run flawlessly on hardware other than the developers' machines that's complicated. Go ahead, grab ten high-end laptops at random and see how well plugging and unplugging your monitor works, even on systems that are officially supported. How do you think I ended up knowing xrandr's command line options better than I know tar's?
Not being able to care for my Linux box is not my problem, my problem is that I don't want to care for my Linux box. I babysit Linux at least eight hours a day at work. I don't want to have to do it at home, too.
I run Arch and I definitely run into a few things from time to time where I need to go on a google hunt to figure out what's wrong (if it's not already obvious), but the distro is pretty user friendly (despite the 'hard core' reputation it has which honestly drew me to it). Ubuntu just about works right out of the box 99% of the time these days.
Also what is IVI? this: https://www.ni.com/ivi/what.htm ?
Now KDE does provide compatible themes for GTK, but the fragmentation in GTK (2 vs 3) does not help. The solutions are at best a stopgap measure till the next major version breaks what you managed to get right. It's a never ending game of whack-a-mole. It does not help some of the most popular apps are written in GTK. As I speak due to reasons I haven't investigated yet, I am unable to paste text contents in GTK apps. Windows has other points I take issue with, but at least the UI just works as expected and doesn't seem to hang by a thread.
- XFCE
- BSPWM (very minimal, lots of set up, and not great documentation, but I manage windows for the most part without leaving my homerow now, so I love it. once you're past). If you're not one for keyboard shortcuts and muscle memory, it may not be interesting, but I run bspwm and love it.
Point taken on the GTK pain, it was so painful that I stopped using it (I used to run linux mint, and cinnamon/mate, Gnome, were also thorns in my side), and wince every time something I want to install has dependencies on GTK (just because it pulls in 10098123 other packages every time).
Less portable: both major projects (Gnome and KDE) are increasingly depending on Linux-specific technologies (mainly through systemd dependencies, e.g. timedated, localed, hostnamed and logind, which are explicitly Linux-specific). They can be replaced by shims, fortunately, but these are difficult to write, because the components that they replace move quickly, often not very transparently, and without much documentation.
Worse: frankly, what I dislike most is the frequent rewrites of major components, which keeps everything in a perpetual almost-stable state. I can get my Plasma box to act up just by trying several window decorations one after another in System Settings.
But there are a lot of things that recent Linux converts don't realize about their major pain points. For instance, until a few years ago, getting uniform looks between GTK, KDE and Qt applications was largely a solved problem, thanks to e.g. projects like QtCurve (there were several other solutions, QtCurve was just the one I liked most). Good luck with that today (see e.g. https://github.com/QtCurve/qtcurve-gtk3)
Basically, except for Bluetooth and proprietary graphics driver, there's nothing that "almost works" today which didn't "almost work" ten years ago, either, except it probably got rewritten at least once.
> Also what is IVI? this: https://www.ni.com/ivi/what.htm ?
Nope, it's short for In-Vehicle Infotainment systems. It's one of the very lucrative markets for Linux solutions, because the competing solutions are either tied to a specific big player's interest (Android) or super expensive (QNX). Video entertainment in general (IVI, smart TVs etc.) is the main force that drives graphics and UI-related development in Linux.
It's not a bad thing (quite the opposite, I certainly don't miss using VESA drivers...). But it does mean that, for the people doing work on major components of the graphics infrastructure, desktops aren't a priority. It needs real community effort in order to be turned into a viable desktop option, and that's pretty hard considering the rate at which developers are being driven away.
Yeah, turns out POSIX is no longer enough. I am all for operating systems using the best technology stack they've got. Nor Windows, macOS or BSDs get hate for doing the same, so why should Linux not be able to fully embrace its own solutions to make itself more competitive?
People always complain about this and that not being on par with Windows or macOS - well, in order to get there, you'll have to take full advantage of whatever APIs you can, even forgoing POSIX in some instances.
You can get the best experience using the most up-to-date APIs available on your platform or the most compatible, lowest common denominator experience, but you can't get both.
> Basically, except for Bluetooth and proprietary graphics driver, there's nothing that "almost works"
True that, it tends to "just work", on reasonably standard hardware, like the latest Dell XPS 15, practically everything 'just works', even on a 2015 retina MacBook Pro, my experience has been near flawless.
Thank God the guys who write the kernel never thought about this :-)
Besides, this isn't what I was criticizing. What I wrote (it often helps to read the whole argument before offering a counterpoint) is:
> Both major projects (Gnome and KDE) are increasingly depending on Linux-specific technologies (mainly through systemd dependencies, e.g. timedated, localed, hostnamed and logind, which are explicitly Linux-specific). They can be replaced by shims, fortunately, but these are difficult to write, because the components that they replace move quickly, often not very transparently, and without much documentation.
Windows, MacOS and (at least Open)BSD don't get all this hate because they tend to introduce components when they're reasonably stable and almost always with full, proper documentation. They rarely dump beta-quality code for the community to test and document, like Red Hat did with pretty much every desktop technology they developed after 2005 or so.
Sorry, I tried, but can't see what you're arguing here, since the discussion was about user space, not the kernel.
> They rarely dump beta-quality code for the community to test and document
Huh, Microsoft has a loong history of updates breaking things, (even permanently) and they recently fired practically all their testers to let the users test their updates.
Mac OS 10.7 was a broken mess and the latest Sierra broke cURL.
Besides, that is the trade off of developing in the open, you get to see not only the good stuff, but all the quirks on the way there too, you must personally decide if it's a trade-of worth making.
Now, for all that I like Qt, I've never gotten into KDE because I can't run it without it crashing all the time. And Gnome is a great UI for my pre-literate children, but it's not for me. But the fact that mainstream desktop environments are a bad fit for me doesn't mean I'm having a bad time running Linux on my desktop! My window manager does exactly the things I want it to, and not one thing more. Linux crashes for me less often than Windows, and unlike Windows I can almost always ssh in and put things in order before I reboot. (In the course of developing a GUI application, there are lots of ways to create system instability!) I can't imagine, as a developer, preferring a watered-down Linux running on the Windows kernel to the real thing. It's like saying that Wine is Windows. (Not that Wine is a bad project, just that it's not a great way to have the Windows desktop experience.)
Ease of use also depends on the distro you choose. Ubuntu or Mint will probably be the easiest; if you install Arch, you should know what you're in for. (Before you jump on me, I posted this from a system running Arch.)
The driver situation has massively improved, absolutely. The second time I installed Linux (on a brand new computer) was scariest -- S-ATA was super cool and new and my S-ATA controller wasn't supported, so I had to build a patched kernel on my old machine and boot with it...
But higher-up, I don't think we've progressed significantly past where we were in 2010. Sound still breaks (and ironically enough, it had just started breaking, with Alsa finally getting proper soft mixing and hotplug support via udev), KDE and GTK applications can no longer get uniform themes, display managers still get laughable bugs...
the DE end had crapified (it may by shiny crap, but still crap), and the crap is seeping towards the kernel year by year.
The day Torvalds is no longer present to hold the kernel devs to the rule of not breaking userspace is the day Linux goes down the drain.
I don't think its childish, but I do think it's more emotional than logical. They aren't trying to pretend that they have been on the side of FOSS developers the whole time. Most MS'ers that I've talked to are very clear about what MS did wrong in the beginning of the Open Source era. Lot's of them went to work there just to work on open source.
I'm not trying to get down on you or anything, I just think that maybe you are letting your feelings about the past color your reaction. Also, no one is saying that you should give up anything. This is for people that want to use it to help with their development tasks.
You know, I watched a SQL presentation from their Build conference today about SQL Server and containers...the entire thing was on Linux. Completely. They didn't use Windows Server even once.
"Why bother paying the Windows tax? Everything I need runs on Linux natively."
https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subs...
It's aim is to run Linux binaries natively. The degree of it's usefulness, issues and filesystem interoperability was discussed before so won't get into that.
Another difference is that WINE runs completely in user land, while the WSL Linux syscall handling runs in kernel land (lxcore, lxss).
Probably another good comparison is Linux compat in the BSDs, which implement Linux system calls, signal handling, etc. but can use glibc and other core libraries from a Linux distribution.
Hope there are some reduction in computational overhead.
Then again, according to Wikipedia, maybe they were already planning for this?
> VMware Workstation versions 12.0.0, 12.0.1, and 12.1.0 were released at intervals of about two months in 2015.[61] In January 2016 the entire development team behind VMware Workstation and Fusion was disbanded and all US developers were immediately fired.[8][9][10][12] The future of these products remained vague; the company said that development would continue. On April 24, 2016, maintenance release 12.1.1 was released. VMware announced the release on 8 September 2016 of Workstation 12.5 and Fusion 8.5 as a free upgrade supporting Windows 10 Anniversary edition and Windows Server 2016.[13]
I've tried Windows XP etc on VBOX with the guest addition and it feels soo much snappier ;(
This runs fully alongside the Host OS, from what I can see.
Say there's a tool that doesn't have a Windows version, like Facebook Flow didn't have - you can just install the necessary packages and run the linux app on your project folder - plenty of dev tools are built on top of *nix and Windows is a second class citizen in OSS - this solves that problem nicely. Or you can use linux GCC/clang to build the linux binaries on Windows and not muck around with cross compiling.
No one is taking away your VM, don't worry.
(Full disclosure: no relation to product, user only)
This should provide way better latency than my VM tho, right?
Oh, that brings up some fond memories. During my training, I would use CoLinux to run Debian on my Windows XP desktop. Good times... ;-)
There's Docker for windows which allows for linux docker containers to be run on windows, using Hyper-V.
Then there's Windows Container Services which allows for Windows Docker containers. Those can either be run on the host kernel or they can be isolated in a Hyper-V layer.
Parent's link is btw much better and straight from the horse's mouth, more details and doesn't confuse WSL with virtualization.
I tried doing it today on my laptop:
1.) Open up the Programs and Features control panel.
2.) Go to Turn Windows Features on or off
3.) Select the Windows Subsystem for Linux option and hit OK. Installs, prompts for reboot.
4.) Try to launch C:\Windows\System32\bash.exe. Console window flashes momentarily and disappears.
5.) Open CMD window and run bash.exe. See a message that says "In order to use this feature you must have Developer Mode enabled."
6.) Faff around trying to find where the developer mode switch is hidden, in the newer Settings app. Enable that. Wait five-ten minutes as it does... things. Reboot again.
7.) Try to run bash again, and again console window flashes in and out of existence in a millisecond. Run it again from a CMD window. Type "y" to accept license terms. More things download from the Windows Store(?). Create a linux account.
8.) Finally have bash working on Windows, albeit in the terrible, terrible default console shell. Go look up how to setup ConEmu...
This really should be streamlined a little bit, right?
Also, the default console shell has gotten a ton of improvements.
1) Enable developer mode
2) Install using Windows Features
3) Reboot