4 ms·
This article sums up a lot of my thinking pretty well, and at the same time, I didn't find any of it particularly earth-shattering, and that it was all a rather
by mdip 5y ago
This article sums up a lot of my thinking pretty well, and at the same time, I didn't find any of it particularly earth-shattering, and that it was all a rather obvious place they've been heading[0] but I realized after I reflected on it for a moment that ... this industry sometimes makes you think in terms of minutes, not years, and ... holy crap, are we really here?
Shortly after Microsoft started realizing the threat that i-devices posed to the entirety of their business (anyone who had used an iPhone/iPod Touch saw what was coming), they reacted by digging in/"patriotism", with policy changes like: "We'll buy anyone who wants one a Windows Phone 8 device..." because... they were already buying almost everyone an iPhone that asked for one and they needed a way to say "we're going to make it a lot harder for you to show our customers that you prefer an iPhone". My best friend and I had jobs developing/architecting large MS-related things so we regularly assessed the marketability of our skillsets. We both concluded: "Microsoft has one way out of this: give away[1] Windows, probably need to start making Office/Linux work or provide easy integration points for the OS community to integrate with AD/Exchange[2]". I, separately concluded, that I needed to start using a Linux desktop, full time, because no part of me believed they'd do it. It's, culturally, too foreign for them.
And then, they started executing on exactly that plan, consistently. When they'd make the inevitable "Microsoft-centric" decision and get blowback, they'd unexpectedly listen, and either thoroughly explain, or resolve.
Windows 10 isn't free as anyone who's built their own desktop knows. But it's effectively become the last version of Windows you buy, upgraded for life, and they made that retroactive to Windows 7 (do they still do this? not sure). Stuff mostly just works with regard to Linux interop -- NFS is a problem in some contexts, but most of the things that seemed like they existed "just to make it painful to interoperate between the two platforms" are gone, and a lot of that is because Microsoft put money behind intentionally making "The Enemy OS" work, with care spent to not just "make it work" but fix the parts that aren't quite good enough" continuously.
The best part of it, though, is they're operating as the "opposite" of their past behavior with open standards/Linux in general. I wouldn't have been surprised to see an OK implementation of Linux interop on Windows (Windows Services for Unix was the start of that idea), with no attention paid to getting MS apps running at all on the Linux side. I'd have been quite surprised if they wrote anything* for Linux, but they made the important things work well on Linux.
I'm an enthusiastic full-time user of OpenSUSE Tumbleweed, with all of one disused Windows OS running in a virtual machine, who writes software almost exclusively in C# (console, web and even an occasional GUI, at home, anyway).
It's not just that they "open sourced a bunch of really important things", but it's how they approached opening up things like .NET Core. They completely failed with the full framework's "Shared Source" crap. They recognized the complete loss of trust that all of us (I am and have been a happy-minus-a-few-things Microsoft customer all of my career).
How many companies much smaller than Microsoft release their "frameworks/libraries/tools/software" as Open Source products but simply refuse to accept a single Pull Request. Basically, "Developing it transparently" -- a good thing -- but failing to "develop in the open". How many tiny little edge cases around the variety of framework Collections required me, in a high-performance scenario, to write an ugly hack because my performance edge-case was not worth fixing. They didn't opt to "develop in the open" and accept only internal PRs. They didn't take it to the next step and "benevolently, (but probably reluctantly) accept the occasional PR). They encouraged developers to submit pull requests using swag/recognition and, most importantly, willingness to accept PRs that aren't all that important to Microsoft (or maybe anyone but that one developer if it doesn't negatively impact anything). They even hosted it on GitHub, despite owning/pushing a competitor at the time, because "that's where everyone really is". A look at some of the core logic around collections (and enum for Pete's sake), turns out that all of those previous edge cases are not only solved, they're solved really, really well[3].
God, please give me a time machine so I can see the reaction when I explain all of this to 12-years-ago me. I "would will have been[4]" more likely to think that this future version of me appeared out of some alternative timeline that I'd never actually see.
[0] Not a dig at the author/topic, I just felt that he was explaining something that "most people who care at all about this topic already knows".
[1] Ideally "open source it" but I knew that was extremely unlikely simply because of legal reasons that are far more complicated than I care to understand.
[2] This was a long time ago; I'd say "Office for Linux" is a necessity, and is acceptable (and I prefer to use Outlook web, no matter the OS; it doesn't endlessly hang), today with the decision to write a Teams for Linux (albeit, with fewer features) client.
[3] I was downright disappointed that a really nice generic Enum library that I wrote is completely pointless in .NET Core. Every single thing that was 10-100 times faster in that library is now slower than just using the built-in stuff. And .NET's implementation uses less memory.
[4] See Douglas Adams commentary on the difficulties of time travel and grammar.
- 5555624 5y ago> But it's effectively become the last version of Windows you buy, upgraded for life, and they made that retroactive to Windows 7 (do they still do this? not sure). I upgraded -- for free -- a laptop running Windows 7 to Windows 10 about six months ago, long after the free upgrade period ended. I have a Windows 7 box that brings up a nag screen that Windows 7 is out of date and I should upgrade to Windows 10. This screen shows up every few days. So, they still do it.
- mdip 5y agoFor what it's worth, I realized after I wrote that original comment that I have a (rather powerful) desktop in my basement that I stopped using several months ago (really, about 2-3 years ago my usage dropped off substantially). I had just done a large hardware upgrade, re-activated Windows 7 Ultimate and ... a project heated up which caused me to not use it for almost six months, the PSU started to flake out, causing it to be unstable under moderate load (with PSU testing A-OK) resulting in another 6-months of reluctant, infrequent, use which became so infrequent that the last time I touched the machine it was to unplug the Ethernet cable as a precaution against accidentally using a two-year out-of-date and out-of-support OS to check my e-mail. I intended on upgrading it to Windows 10 but fell into one of the worst projects of my life that put it off for 3 months, I had already grown accustomed to using a new laptop, loaded with Tumbleweed which matched my work laptop and just never got around to it. One of the de-motivators to that was expecting that I'd be forking out money for the upgrade. That's disappeared, now, and I had already planned on finding all of that out this weekend/doing it because I'm at the point where -- though there are one or two things that there is no Linux version of my preferred app, and either my muscle memory in that app is so strong that using the alternative is *tedius as hell, especially for a rare need*, is so bad that calling it an *alternative* is highly misleading. Plus, I'm sitting on a 2070 that I acquired from family near MSRP to add to its existing 1070s and I'm pretty sure my kids will kill me if I wait any longer. Thanks for the info!