When it works, it's great, but some things just don't work and you're stuck.
I've found the WSL devs to be fairly responsive, but not to everything.
However, I've found open source projects to be pretty responsive to bug reports of their projects running on WSL; it's far easier for them to support that than support a native windows build.
There are often workarounds for issues, but their coverage is certainly not where we would all like it to be yet.
I'm not very familiar with OSX, but I'd be surprised if there weren't differences between it and mainline Linux that needed special care and I see this as similar.
Despite being a software company (or because of it), I think innovating on the internals of Windows and its APIs and cleaning house on the software front will be the real challenge for them - making incredibly beautiful hardware might prove to be the easy part!
I couldn't cross compile simple toy kernel (xv6) in OS X (because I needed to have i386-elf-gcc, which need to compile whole binutils , which really cumbersome, and brew doesn't support it -as far as I looked into it ) but in BashOnWindows , it just works, it maybe a little slow (specially file system operations) but it works like charm. I actually tried to compile linux kernel and running it on qemu, It worked, but compilation (which is a lot of file system operation) was so slow it hadn't worth it.
Nadella (MS CEO) aimed perfectly, instead of introducing some limited amount of support for linux apps, his company tries to port whole ubuntu user space. After this project matures enough, rest assured, it will be equivalent of using linux workstation (which is dream of most developers).
> After this project matures enough, rest assured, it will be equivalent of using linux workstation
Didn't Microsoft say WSL wouldn't support graphical apps? That's a big portion of userspace; and without that, it simply can't be a linux workstation
As for soft links, a lot of linux tools create soft links (ln -s from to) and generally that fails on NTFS (I tried installing a bunch of npm modules and all had this specific issue)[1].
[0] - https://mspoweruser.com/ntfs-260-character-windows-10/
[1] - https://stackoverflow.com/questions/8232778/nodejs-npm-insta...
With respect to symlinks - NTFS supports them, but there are subtle semantic differences with POSIX. WSL does actually support symlinks (i.e. you can do ln -s), it's various other behavior around them that breaks, like trying to untar a file that contains symlinks.
The team said that they're working on a custom implementation of symlinks that would provide proper behavior (but wouldn't be seen as a symlink from Win32).
Now, Microsoft should be in a position to put something better into their WSL, but that might entail the risk that someone else will hack that implementation and provide good drivers for everyone, something they clearly don't want (or they would have provided open specs for NTFS support by now).
So there's no ext4 driver, and no concept of loopback mounts.
I see that there's considerable demand for this exact thing in their bug tracker already. If they go for a low-hanging fruit here, it'd be FUSE support - and that should give us ext2, at least.
In theory. To anyone who feels that way, please try it out for yourself before making a leap. I thought it would let me develop Ruby on Rails under Windows like I could do on Linux or macOS. I discovered a whole bunch of unimplemented features that prevented this. After a couple of months of commenting on bug reports and watching and trying, I gave up. I'll check back later. YMMV.