That said, no hate toward this project. Arch Linux is probably my favorite distro (although I'm on Xubuntu at the moment).
> Boot times are very short with SSDs so restarting is not a problem.
Personally - this is a question of individual preference, though - I do not mind the OS boot time itself very much (to a degree). Whether the system takes ten seconds or two minutes from reset/power-on to the login screen does not make much of a difference, to me, psychologically. But once I log in, I need to open all of these programs, make sure the windows are in the right place, SSH connections to certain machines are open, etc. I admit I am kind of obsessive-compulsive about this, but this is a far greater (psychological) barrier to rebooting than the OS boot time itself.
I do not use Windows at home, and my work laptop runs Windows 7 (I intend to keep it that way, too), so I have not been able to play with the Linux subsystem on Windows. But if you consider it as an alternative to Cygwin (which I do use), it sound kind of nice. Now if only Windows had a native, builtin X server... ;-)
EDIT: With Cygwin or the Linux subsystem, driver issues are not an issue, of course, because hardware is still managed by the Windows kernel and Windows drivers.
Hibernation should solve this issue, no? It certainly does on single-OS machines. I practically only shut down my desktop when I want to tweak the hardware and/or BIOS.
It's a little more annoying for dual-OS because there is a 'hibernate' command and a 'reboot' command, but I'm not aware of a 'hibernate-then-reboot' one, so you have to manually hit the power button after hibernating instead.
Now I can play around Tensor flow (in theory) and not have to worry about the crummy GPU support in nearly all hypervisors.
I've reached the point where I'd love to have Linux on my work machine, no Windows at all. That's only because for the first time Linux isn't this cool kids playground that I'm not invited to.
I was not a smart freshman
This one has been around a bit longer, too, and despite its name is now much more than just a pretty face for GDB but rather a full cross-platform development environment which has IntelliSense everywhere, handles the installation of toolchains and BSPs for embedded targets, building kernel modules (with VisualKernel addon), etc.
They didn't try to implement all of userspace, just the system calls... a lot less to cover. Very cool project.
BTW Wine is approaching release 2.0. Hooray for Wine!
That's not necessarily doable for everyone, but for me that workflow is so much simpler than it would be with dual booting or a separate Linux VM.
Although I'm guessing a few devs are in the boat with "all company PCs must be windows." Gives them an out no?
Step 1: Embrace new technology ( like Ruby, Python, Java etc ) that run on other ecosystems
Step 2: Add extensions to the technology that only works in Microsoft ecosystem. For example, add new functionality to Ruby for Windows that only work on Windows
Step 3: As more and more people develop software that uses these features, more people will have to switch to Microsoft ecosystem to continue using those pieces of software. This is not a voluntary switching based on the merit of the software ( as the same software could have been developed without those extensions ). The switching is often mandated by management decree, customer requests or market concerns.
The danger of this strategy is the cost for people outside the Microsoft ecosystem.
a) Bad pieces of technology becomes successful, merely because it came from Microsoft. Everyone is forced to use it.
b) People are locked into Microsoft platforms. This causes all the usual problems associated with lack of freedom : harder to experiment, keep the costs down for companies etc
Some people say Microsoft has changed their ways and they have since repented, but most people are still suspicious. Once bitten, twice shy.
Or when Facebook Messenger supports XMPP up until the point where their user base is big enough and they don't have to care about interop anymore?
Welcome to Software Business 101, everyone plays nice with the standards/alternatives/competition until they don't have to anymore. I never understood why Microsoft gets extra flak for this in 2016 - maybe they were particularly good at it 20 years ago, but every big player will play hardball if they get a chance.
The answer is to avoid single vendor lock-in under all circumstances, but Microsoft is hardly on a trajectory to become the single vendor for Ruby or any other Linux-first tech at the moment (ha!).
And that is why I prefer to be a developer instead of a manager.
IMO everyone should get flak for these kind of monopoly building business practices.
It might be Software Business 101 now, but when enough executives note that it makes you hated after a number of years, the course content might change...
(For example, what makes me vary about this case is: I expect the Linux subsystem under Windows to start working worse and worse, sometime in the future.)
This is an interesting effect there, that due to WSL, there will be less perceived need to support windows for development tools. However, isn't WSL aimed mainly at developers? Regular users won't be turning it on. So if you're developing the next dropbox with clients written in Ruby, you'll still need a ruby and gems that run on Windows. i.e. to support end users, we'll still need dev tools that run on Windows. edit: Server-based stuff not so much, and server-based stuff is the main thing these days, to put it clumsily.
Something like WSL attempts to reduce the desire for this setup. Having things like real openssh work properly without cygwin is a major plus in my book.
I'm excited because everyone at my company doesn't develop on linux because "we know visual studio" and "setting up a build environment will take too much time".
With the linux subsystem for windows, we have the ability to push them to slowly start developing new systems on linux. So I'm super happy about it.
That's essentially how the windows subsystem works. It might not technically be a VM, but practically it is.
If past conversations on reddit are anything to go by it's because a lot of people don't want to recognize that WSL is essentially a VM. Docker too for that matter.
The way WSL is implemented is actually really interesting. Linux syscalls are translated by an NT kernel driver and some other shims handle the NTFS->POSIX transition on the filesystem side.
Wine runs on the host OS, WSL runs apps from linux image. This image is self contained, just like a VM.
Aside from that, I said it's practically a VM. There might be some different technical stuff going on underneath, but for a user there is very little difference between WSL and a VM.
The reverse is also true, by the way - WSL portion of filesystem can be observed directly from Win32 (cd %USERPROFILE%\AppData\Local\lxss and look around, but don't touch - there's some magical pixie dust there that's easy to disturb and break things from the Linux side of things).
And it's not just filesystems. We're also talking about potentially shared file descriptors/handles (where appropriate), access to processes in both directions etc.
So from user's perspective, I would argue that it's actually more similar to Wine. Even if the implementation is more low-level (syscall emulation vs userspace API emulation).
Actually (it's been a long time since I last used Wine though, so I might remember incorrectly), Wine is "self contained" as well and there's a "C: drive" directory structure with notepad.exe etc. too, just like the WSL system.
Would be cool if the Windows Linux subsystem can work like Parallels for OSX that can be blended into the general OS but also snapshots taken and if the user wants, bring the Linux environment in it's own window.
Consider full disk encryption on the GNU/Linux drive as well, since Windows can still access the disk.
(*Or a boot loader on a separate USB drive which is never plugged in while running Windows)
Moving to something like this one day makes me conflicted. On one hand I feel like I would betray open source, on the other hand I wouldn't have to restart my machine to play games...
Ideally, I'd like to use 2x1080 (sli) with Windows KVM guest and then use the integrated graphics for Linux host.
Totally worth it imho. It allowed me to go Full Linux
Storage for VMs is still primarily emulated rather than virtualized, but you can use VT-d to grant a VM exclusive access to a HBA or RAID card or NVMe SSD, because VT-d works for any type of PCIe device.
Video games are fun.
The interesting thing is that games are some of the most costly and closed source things in software today. Windows costs the price of two games or less.
Further, if you own a PlayStation, an XBox it's likely you have spent hundreds of dollars on closed source games. If you bought a fancy graphics card, would you expect that to be free as well?
I love FOSS software as much a as the next person, but people who write software do have to live. Like game developers, employees of NVIDIA, even the people who make the Arch Linux distribution.
I'm truly not picking on you or FOSS, I just find it hard to rationalize FOSS zealotry that is almost universally hypocritical to some degree. Even Linus gets $10m a year or something like that. I'm not even sure to be honest what FOSS software IS any more.
It's a serious question, because I'm really confused.
Hah! I wish. I've spent thousands on single SKUs - yet SASS and anything B2B can make that look like chump change.
Meanwhile, Steam sales discount high quality, high end titles significantly pretty quickly - to the point where a lot of gamers basically never pay full price.
To say nothing of mobile being flooded with $0.99 titles.
To say nothing of the effectively free humble bundles.
To say nothing of all the free web and indie games out there.
Although I guess the right freemium Skinner box can also cost thousands in DLC and micro-transactions? But you can get games so cheap these days that people don't even get around to playing everything in their Steam libraries.
> I just find it hard to rationalize FOSS zealotry that is almost universally hypocritical to some degree.
On the more practical side of things, games are entertainment and frequently rely heavily on obfuscation to avoid hacking to gain unfair advantages in multiplayer. It's all somewhat fungible - if you can't play game X, you can still have fun playing game Y - the only real downside being your emotional investment in game X. Vendor lock-in isn't much of a problem, and a number of games are mod friendly.
Having your business and personal data stuck in vendor lock-in and being legally prohibited from taking over where they fuck up, or try to escape from their clutches should they jack up their prices, etc. is a whole new level of potential downside. Entire businesses die when twitter changes their API terms.
Meanwhile, if WoW ever shut down, gold farmers would find another MMO to abuse the same day.
I was more thinking of zero day PC Games and especially console games in my comment but that should have been made clearer. I get that they do get heavily discounted though over time.
Totally agree with your penultimate paragraph, nobody likes it yet we still have our Netflix accounts AND our Amazon accounts.
To me it seems HN often picks on the little guys who are just trying to make a buck while actively supporting giant corporates and going Wheeee!
Nice post by the way
You might be right that there is some projection.
I've been working on a project for quite some time now, without any pay and it is close to completion, and I more and more frequently reflect on how it should be positioned, marketed and ultimately generate some revenue so that I can actually afford my own apartment.
When I read HN I see this tension. Something comes out and the comments will be. Oh that's cool but fuck you, it's not FOSS but at the same time I see yay, another gadget I will immediately go and buy.
You just can't win.
I develop on Linux mostly and Windows occasionally, and I've more than paid my dues to the community over the years, but at some point hard decisions have to be made. FOSS is great when you have enough cash stashed to not give a damn or you are just doing it as a hobby.
I feel like I'm staring down the barrel of a gun no matter which business model I choose sometimes, and it pains me to have to make a decision, and neither one looks pleasant.
In general the conceit seems to be paying for support and giving the source away for free (RedHat). Or selling a service and not making the source available (GitHub). It sucks because someone who writes an amazing tool still has to come up with a whole other business in order to make income from it.
There is commercial software on Linux where I don't hear people avoiding it because it's not open source: PyCharm, Sublime, Autodesk Maya, Foundry's Nuke, as well as (like you mentioned) games.
"come up with a whole other business in order to make income from it"
You really hit the nerve there.
And is not that I'm naive enough not to think that marketing function and all the rest shouldn't exist. It's just sheer frustration.
There are some desktop apps where the developers do a similar thing and provide source code and perhaps unsupported installers, but you can pay for supported binaries through the Apple App Store. Collabora are trying to monetize some of their LibreOffice work that way:
However, selling the software itself means you have to engage in a robust licensing system to defeat the pirates, which is no trivial feat (even mighty Adobe went online-as-a-service because they couldn't beat the pirates).
FOSS companies make money by selling services, not software. Sometimes lots of it, and they're laughing all the way to the bank. FOSS also means "I can try it out in my own time, and not be hassled by sales staff or have to jump through hoops to get a trial", not to mention "I can tweak certain bits to better match my stuff".
I use Windows for games, because 'right tool for the right job', and the most polished games are on Windows. However, there is not a hope in hell that I'd use Windows for my day job - the one that keeps me fed and housed. Random (and LONG) forced update restarts. Broken/empty "click here for more info". Difficult to get at the system for troubleshooting. High minimum requirements. The list goes on and on. And even working as a dumb end user, I can't reskin the desktop anymore!
Actually that somewhat hits the nail on the head regarding how a lot of us feel. We'd love to do it but the pragmatic reality is that we can't do that all the time.
He feels the pain, I feel the pain, and I'm sure a lot of other people do as well.
The fact remains if he or I play games, or I buy a tv or a washing machine. Well screw us both because on some level we are betraying open source. It's 50 shades of gray.
Anyway, it doesn't really matter. I'm no less confused.
I can slap a Linux distro on my PC in 30 minutes and be ready. Copy over your home folder and apt-get your software and you're ready to go. You can even install it on a USB drive. On the other hand, with Windows, I have to worry about licensing, version (will Windows 10 install home or professional?? It's the same image and it decides by itself...) and just a ton of other stuff. We're at the point where Windows has no advantage over Linux (except for games). A decade ago, you would always run into driver problems, packet manager bugs, configuration problems, etc. on Linux. Today it is rock solid. I am just choosing the better system here - who programmed it and how available the source is does not matter to me.
Although I use Linux 95% of the time, and I think Windows has lost its way a little. I would disagree that it isn't robust. The kernel at least is quite excellent. But that's another topic.
Sorry for raising this issue, it's the "I will pay $1000's of dollars for hardware, and games", but I can't spare change for an OS that got me started. Apologies.
Oh, and I also think the Windows kernel is quite excellent. Based on my past experience with how quickly my laptop battery is being depleted, I also feel like Windows 7 saves more energy than Ubuntu. It is just that with the advent of Windows 10, I cannot help but feel like Microsoft adopts some infantilizing practices which I cannot stand. In particular, that my OS is permanently communicating with the internet and doing stuff with compressed memory now - something it never did in such scales on Windows 7. I just want a solid, predictable system. Not one that shoots my CPU usage up to 100% at a random time during the day because "system and compressed memory". If an idle system makes my CPU fans howl at random times of the day, doing unspecified work that I cannot control, it does something wrong. Period.
I recently switched back over to Linux for full time development and it really is like a breath of fresh air.
I would really love if Qubes OS would support that, but it's not quite there yet.
Beyond native ports, one can use PlayOnLinux or just plain Wine with varying degrees of success.
2644 games for Linux, and 10750 results for Windows. There's a good deal of high-profile stuff, but Linux support definitely does skew toward the indie side of things.
Also, what are the advantages compared to solution like https://github.com/RoliSoft/WSL-Distribution-Switcher, which allows selecting different distributions, including Arch Linux?
Sorry to rain on your parade, but there is _no_ official Arch Linux image on Docker, as you can easily verify.
Use at your own risk whatever Arch Linux image you happen to find on Docker Hub, such as this one. It might work or it might break, but it ain't official.
This is the first step: embrace. The next step: extend. Apparently it's already happening, as people scurry to adapt shit so that it works with WSL. Next you'll have companies requesting that all Linux software be "adapted" to work under WSL, and if it isn't, they won't buy it.
Once this happens, Microsoft can proceed to step 3: Extinguish. How? Easy - by adding incompatible shit to WSL. If companies succeed in forcing Linux software vendors to provide a WSL-specific version, they will have to be compatible with these WSL extension. Voila - now they are supporting a new Microsoft platform that Microsoft controls.
Back before many of you were born, Microsoft killed entire product categories and companies by providing free versions of Office when it was first introduced, and making it compatible with competitors' file formats. Is it free now? Hell no, it's their main source of revenue!
Can they repeat the same hat trick with Linux? Who knows, but they damn sure are gonna try. Anyone who thinks "Microsoft loves Linux" needs to take a history lesson. The only Linux Microsoft would love would have a dead penguin for a logo.
This also applies to Visual Studio Code.
But, I've tinkered recently with Windows 10 and WSL, and it's actually really neat. They've done a remarkable job making it work like a real Linux system in a lot of regards; my projects kinda bump up against the limitations of that (as they are administrative tools and perform actions as root and such), and so I can see areas where it's still incomplete, but I'm honestly shocked at how well it all works.
So...the answer is I would never use it over native Linux, except when I happen to be in Windows and need to use Linux. The people who currently run a VM with Linux in it on their Windows machine are an excellent target audience. I would guess people who build cross-platform apps would also be an excellent target audience. In fact, using it for a little while got me thinking about what kinds of apps I might like to make, if I were to work on desktop apps again (it's been a very long time since I've worked on anything that installed on Windows, and even as recently as a year ago, the idea of it probably never crossed my mind).
So, it's good for Microsoft. And, good for people who prefer Windows on the desktop, but also have to deploy on Linux servers or deliver to Linux users. People who use Linux natively, by choice, and are very comfortable doing so probably don't gain anything from using Windows with WSL.
My laptop: Gets < 2 hours w/ Ubuntu, > 6 hours w/ windows.
My Desktop: Not having to manage dual-booting between Gaming & Hobby-Time programming... Being able to hack on python/node and deploy to my Pi, play a game of Overwatch, then working again.
If power management was something that I didn't have to spend hours to get right, I probably wouldn't be so dreamy-eyed over WSL... But they just finally figured out how to support Video Card Switching (Prime) after 5 years, I'm not holding out for any big improvements.
Prime exists for a while. I suppose you mean closed Nvidia driver only now starting to support standard features. That's Nvidia's problem, not Linux problem really.
> play a game of Overwatch, then working again.
I get it, though I simply skip games that don't work on Linux. And I'm not interested in supporting a company with dismissive attitude towards Linux gamers either.
The only issue I had was with my Oculus Rift, but I suspect I could have fixed it by getting a dedicated USB PCI card to passthrough. Anyways, for AAA games it worked wonderfully with very near native speeds.
I love RHEL/CentOS dearly for servers, but needing to write a complex spec file and deal with the rpmbuild system just to get an RPM for a library is a pain. You end up with /usr/local full of stuff that's hard to update.
WSL looks like a nice replacement for cygwin, but that's about it for me.