Ballmer went head to head with open source and thought he could crush the threat. That didn't work, and things weren't looking great for MS before he was ousted.
Nadella's strategy is far more subtle: not quite Embrace/Extend/Eliminate, more Embrace/Neutralise/Replace.
Linux is a threat to server-side windows? Fine. Let them deploy on linux, so long as those linux boxes are in Azure. But that means devs get familiar with linux at the expense of windows, which means (a) they'll want linux on their desktop and (b) things are more readily transferable to AWS/GCP/whatever.
So: give them linux _in_ windows. Make appealing tools like vscode available free to create good will and positive sentiment towards Microsoft. Re-build the advocacy that hemorrhaged in the latter days of Ballmer's tenure.
And they're nailing it. By comparison to Google/Facebook/Amazon, there's very little negative press for Microsoft. And lots of positivity, even just in this thread.
It's hard not to be impressed by how successful they're being. And I say that as someone who still bears the scars from the 90s/00s hegemony. Microsoft was positively reviled by swathes of people in those days. Their attitude and market abuses rightly got them into hot water with the DOJ.
So, whilst I respect the turnaround, I'm wary. Microsoft is cruising inexorably back to dominance. History says that wouldn't be a good outcome.
[0]: https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/
I think it's smart because this will capture all those Linux people who aren't super comfortable administrating their own distro and even for those that are it's now giving them another option if they ever need to run things both in Windows and Linux at the same time or just run into some Linux issues and don't want to spend the time on them they can switch to Windows 10 WSL.
At this point the only thing that I still think it doesn't make much sense is Microsoft running/developing their own kernel. It's entirely possible for them to start running Linux and run all the WIN32 support, drivers, DirectX, etc as a separate sandbox (similar to the type of sandbox WSL runs). The performance overhead from doing that should be negligible on modern hardware.
EDIT: note that I only mean switching to Linux kernel for their desktop OS, there are plenty of usecases of Microsoft kernels where every bit of performance matters but I suspect those will continue to use their own kernel as part of Windows Server releases.
Corporate pride took a huge hit after they completely wiffed on mobile, then went on to throw good money after bad for a long long time before they were willing to admit that they had lost. Think about where MS could be if they taken google/android seriously at the beginning. For a while, the prevailing opinion was that Microsoft was nearly (or already) no longer a a supermax tech company.
Lots of business orthodoxy got nixed, most prominently the supremacy of Windows over all.
[0] https://3rdpartycodeprod.blob.core.windows.net/download/Azur...
A lot of developers use MacOS, particularly web developers who are almost always deploying the server to a linux machine. With the Mac being BSD-flavoured, a lot of open source tooling works the same as it does on Linux. MacPorts and Homebrew have done a lot to drive that.
The experience on Windows for this has been incredibly poor. There are solutions, but they're less integrated.
WSL comes in, along with Windows Terminal, and now you can have a much nicer time with it all without dual booting or running a VM.
Who knows where it'll be in a decade, but if anything, they're just making themselves a viable competitor to Apple by providing better development tools than they do.
Once I moved to Manjaro/XFCE a few years ago, all the problems disappeared. Docker just works. All the web dev tools are built for my platform and just work. There are no compatibility layers or emulation layers to worry about. I'm in charge of updates. I don't get nagged to do things at inopportune times. I'll never go back to either one of them full time. Windows for games, Macs for iOS/Xcode. That's it for me. Even for .Net and iOS now - I can do that too on Linux with .Net core and React Native.
Before WSL1 I would run Linux inside a VM from Windows and use remote development tools (like VSCode via SSH, SSH tunnels for port sharing, etc). It was all pretty straight forward, stable and I had no issues.
I used WSL1 when it launched and it was _incredible_. Bash actually on Windows. My workflow changed because of the level of integration I had with Windows. I could run browser automation tools against my Windows browsers, from Linux. I could run Windows programs from bash.
WSL2 came on the scene and introduced a hypervisor layer and I essentially came full circle. Sure it has some smarts around memory VM allocation - but it doesn't always work right and you're never really certain it's not running, consuming memory. Network port mappings were automatically tunneled, but only in one direction and they would occasionally fail causing random issues that require a reboot to solve. Now GUI windows are shared with Windows via RDP, cool..
Ultimately, WSL2 is the attempt to take Linux VM and make it appear like it's not a VM. Maybe it'll get there one day, but due to the got-ya's it's not for me.
I have since reverted back to using my choice of distro inside my choice of hypervisor, where I know what's going on and don't have to mentally reverse engineer the magic when it goes wrong.
Cygwin has been able to do this for 2 decades, actual bash plus other unix tools compiled to actual windows exe's. You can even run some gui tools if you run an xserver on windows.
Even WSL1 wasn't as good, there were too many issues like tail not working properly on windows files, issues with network shares, interop, etc. I pretty quickly reverted to cygwin.
I much prefer WSL1 and I've only run into a couple of issues over the last year (can't set Windows time from Linux and ssh-agent doesn't work out of the box) which is a significant improvement over cygwin or even a proper linux distro (which would occasionally boot to a black screen after updating anything related to X)
> Ultimately, WSL2 is the attempt to take Linux VM and make it appear like it's not a VM. Maybe it'll get there one day, but due to the got-ya's it's not for me.
In my experience, its been pretty great and elegant to work with. I've used it for ~1.5 years so far and they seemed to have broken down a lot of those vm walls to make it seem like some kind of hybrid windows + linux operating system. Doing stuff like 'code .' from within wsl to open the current wsl working dir in the vscode windows gui is pretty neat. And you can also do kind of neat stuff like writing to your windows clipboard from within WSL by running the powershell windows executeable. This is in my wsl .bashrc to do that:
function cb () { powershell.exe -command "\$input | set-clipboard" }
echo "hello" | cb # write hello to my windows clipboard
Microsoft is very good at making deals with management. The marketing/sales apparatus is what really sets them apart. I can imagine being forced to give up my mac because someone who is barely technical made a decision after going out to lunch and hearing that WSL solves all the reasons I would use a Mac while giving more control to the enterprise.
While that example is a stretch to match the story, it's basically the reason why all the developers where I work have to spend time migrating from our self-hosted GitLab to GitHub enterprise. BTW If anyone at GitHub is reading this, can someone pretty please add sub namespaces within the enterprise?
Then they tried asking us to install CrowdStrike voluntarily on our Linux machines. I told them sure, once they ship a NixOS package for it. They never did, and the company shut down in any case.
This limitation came as a surprise even to the client, they were under the impression that Linux would work fine.
That said, I'm glad they're seeking to benefit by increasing interoperability and developer goodwill. Their current strategy is good for users and devs and probably the best we can hope for. This will change if/when Windows becomes the one and only viable platform again and switches back to using that as leverage, but with the way things are going I think that will take a while. Not only have they been losing to Linux on the server front, they've been losing to the web and Apple/Google on the application & mobile fronts, so they are a long way from lock-in there.
I haven't really seen that, as a primarily Windows Dev all the moves they are making are to encourage you to use Linux over Windows for backend work.
Hell, they own Windows but for some reason App Services targeting Windows are more expensive than Linux on Azure. It's almost as if they want us off Windows.
Could be easier for just make Linux do the hard lifting and put a Microsoft layer on top
They charge AWS the right to use Windows - so Azure also needs to markup by a similar price, otherwise they would fall foul of antitrust regulations. It’s not legal to give Windows away for free on Azure but not AWS/GCP/anyone else who wants to rent a computer from their garage (I.e. essentially making Windows Server free-as-in-beer).
As one of those developers, I hope so: but I can barely bring myself to use VSCode, and made excuses to switch everything to GitLab once they bought GitHub. The latter is somewhat of a coincidence but it was a factor for sure.
Honestly curious, are you referring to Microsoft's illegal[0] tactics to destroy Netscape?
[0]https://www.washingtonpost.com/archive/politics/2000/04/04/j...
Also while this image https://i.redd.it/c4izfrkd4jl61.png is obviously just a meme (before we even called them memes) it really does grasp the messaging from Microsoft about Linux around the turn of the century. Dating the meme is easy, that's a first gen iMac visibly. https://i2.wp.com/sixcolors.com/wp-content/uploads/2018/05/b...
Those were not happy years.
1) Putting code in Windows, back when it was a separate graphical shell that ran on top of DOS, to detect if it was running on DR-DOS and shutting down with error messages more or less vaguely blaming the underlying OS.
2) Screwing their development partner IBM over on their joint project OS/2, switching to marketing their own branch Windows NT in stead.
3) Bundling their productivity apps together into an "Office Suite", thereby having the strongest[1] ones help selling the weaker[1] ones. (Yes, such bundling used to be illegal; it's actually a legal term that may have entered the vernacular via their first antitrust trial. For all I know it still is illegal in other industries.)
4) Related to both of the above, faking out Lotus and Word Perfect by pretending that OS/2 was the way to go, but themselves developing MS Office to have it work much better on Windows 3.x than these competitors. Arguably, WP an Lotus were somewhat out of touch and got started on porting their apps to Windows 3 far too late... But from all one could gather from the media at the time (and the trial documents later), that was in large part because MS had kept them in the dark.
5) OEM license deals with computer manufacturers that made selling both machines with Windows and with other OSes much more expensive for the manufacturer than if they sold only Windows machines. This was the main reason, IIRC far into this century, that it was almost impossible for ordinary consumers -- including up to at least SMBs -- with Linux preinstalled. (And I suppose this history has led to entrenched habits and business models in the industry which still make it pretty difficult and rare.)
And these are just the landmark ones that come to mind immediately. Beyond that, there were just endless amounts of "FUD"[2] and "EEE"[3] that helped them become a de facto monopoly in PC operating systems (and, arguably, office productivity software) -- "Linux is a cancer", etc etc. (Wouldn't surprise me if they're behind the insidious terminology of calling copyleft licenses "infectious" and "viral", too.)
All in all, back in their heyday -- from at least the mid-eighties to at least the early 00s -- they were just simply the actual supervillain of the computer industry.
And damn, it makes you feel old -- "What's wrong with kids nowadays, that they don't know this stuff?!?"... No, really, I just realized I'll probably never get around to trusting Microsoft again: When someone's been behaving very badly for years, then claims to be rehabilitated, how long does it take you to see them as trustworthy again... Twice as long as they were "bad"; three times? Counting low, say twenty years of monopolistic FUD / EEE / illegality and a 2× "probation period" starting ten years ago, that would be in thirty years. If I live, I'll be 87 then.
Buuut... Given their history as I know it, these current WSL shenanigans feel far too much like EEE all over again. (And, not to be too paranoid about it, I'm still not sure Stephen Elop wasn't a mole parachuted in at Nokia to try and make the mobile phone industry a Windows Mobile quasi-monopoly...) So, supervillain career possibly still ongoing.
___
[1]: Which is which varied with the customer. In the legal business, Word Perfect used to be the absolute de facto standard, but they were probably less married to their Lotus 1-2-3 spreadsheets, so getting Excel bundled in "for free" with MS Word was at least a bit of an incentive to switch. In the accounting industry, it worked the other way around.
[2]: "Fear, uncertainty, and doubt".
[3]: "Embrace, extend, extinguish".
I'm curious as to why they didn't just purchase https://x410.dev/ and integrate that into WSLv2 as it has hidpi support already too. Also If Microsoft is able to get GPU compute working with native performance I would absolutely switch back from M1 mac.
This 100% describes me. Not only does WSL remove a reason to dump Windows for Linux but it evens removes the need to dual boot. Linux is becoming a Windows App like a browser or media player.
It's hard for me now to love an OS that
* blatantly spies on its users[0]
* has an update mechanism that takes way too much time and CPU
* and an antivirus software that scans those updates, making the machine even slower
* shows ads, even though users paid for the OS[1]
* in its "professional" edition comes preinstalled with all kinds of cruft like Candy Crush[2][3]
* in its home edition blocking users to install a different browser, patronizingly claiming that Edge is the best[4]
Switching to Linux made me feel like I actually own my machine again.
[0]https://www.privacytools.io/operating-systems/#win10
[1]https://www.pcmag.com/how-to/how-to-remove-the-most-annoying...
[2]https://i.imgur.com/qhoV17Q.png
[3]https://www.pcmag.com/news/windows-10-will-come-with-candy-c...
Then I went back to virtualized Linux because I got tired of my hardware not working.
Now I get the best of both worlds for me. I can do all my work in Linux and all my peripherals work.
Not everyone that chooses to run something else does so because they're incapable or an idiot, sometimes people just want to take the happy path and get on with the important things.