This is a joint post by Michael and Jennifer.
We each started using Linux more than a decade ago, and for our entire married life, we have been a primarily Linux-based household.
This spring, we decided to finally get smartphones. In the course of making this decision and selecting our phones we reevaluated many aspects of our technology use. This has resulted in a number of changes that many may find surprising:
- We carry Nokia phones running Windows Phone 8.1.
- E-mail service for elehack.net is now hosted by Microsoft, via their hosted Exchange service as a part of Office 365 business subscriptions.
- We are running mainly Windows on our personal laptops.
- We use Outlook for our e-mail, contacts, and calendars.
- We use OneDrive for Business and SharePoint to ferry data between our devices and coordinate shared data for our household.
In short, we embraced Microsoft.
Whatever would possess us to do such a thing?
There are a number of philosophical reasons that have led us to this change. Our philosophy has shifted and evolved, becoming significantly more nuanced than it was when we were teenagers, and Microsoft and the technical community more broadly have also done some changing of their own.
Microsoft is not the bad guy
Microsoft is not Evil Incorporate.
They have engaged in some shady, and frankly abusive, behavior in the past. They probably still do some shady things today.
But any organization sufficiently large to be interesting will engage in a mixture of admirable and abhorrent behaviors. Some will have a better good:bad ratio than others, but they will be neither perfect angels nor demons.
Also, our particular values (and the way we balance those values) have likely changed as well.
But given the current Big Three consumer tech companies (Google, Apple, and Microsoft), Microsoft seems to be the most trustworthy and responsible these days.
They are also doing some seriously cool stuff. They employ researchers, especially working on privacy and security and bringing advances in programming language theory to working programmers, and let them publish their results extensively. Just today, we learned about an initiative to hire and support people with autism at Microsoft. Their recent advertising campaign to encourage girls to pursue STEM careers is one piece of a larger, credible effort to encourage and support women in science and technology careers and be an leader in workplace equality. They aren't perfect, but they're ahead of the curve.
Technical distance is a problem
It is not good that so many technically knowledgeable users use an entirely different set of technology than 'normals'. Proximity motivates solution; if those who build technical systems use different technology than their users, they're likely to miss key pain points (or security vulnerabilities) that they might have the potential to address.
Technical distance also makes it hard to recommend software to family and friends. We don't think people should have to use Linux to make reasonably safe and effective use of their computers, and we don't think they should run CyanogenMod at all unless they are among the technical elite capable of resigning their own phone images. We want to be able to make effective and useful recommendations, and maybe even help out on occasion, and that requires using the platform on which our recommendations will be implemented.
One specific use case for Jennifer is that, now that she is taking math classes, she has a lot of peers with an interest in programming but not necessarily an interest in maintaining a Linux install. It's easier to encourage programming if the prospective programmer doesn't feel like they first have to install and learn an entirely new operating system to start learning, playing, and solving problems.
Our own software development practices have also changed substantially since our early Linux days. Rather than writing everything in Vim and a terminal, we now make heavy use of IDEs (particularly IntelliJ, PyCharm, and RStudio). In those environments, it makes less of a difference whether the underlying OS is Linux or Windows, and professional programmers can be very productive on Windows. And SourceTree is a wonderful piece of software.
We are still using professional-grade offerings, such as the business O365 subscription, but it's a big step closer to ordinary consumer software offerings.
In the '90's and early '00's, Microsoft was rather hostile to the idea of open source software. Clauses in the Visual Studio license agreement restricted the licenses under which you could distribute software built with Visual Studio (the GPL was prohibited). There were the famous Halloween Papers. Their legal war of attrition against Lindows, even after a U.S. court rejected their trademark case1.
But times and Microsoft have changed. Microsoft has open-sourced significant portions of .NET. Microsoft Research regularly releases open-source software, such as the F# programming language and compiler and the Z3 theorem prover. They are also partnering with Docker to provide container deployment solutions for both Windows and Linux, and recently acquired Revolution R with plans to continue supporting their open-source R distribution. And they even have a Twitter account dedicated to the open source and standards contributions they make.
What we want from open source software has also shifted. For quite some time,
Michael's single biggest desire for open-source software has been to avoid
vendor lock-in. But source code availability is just one piece of avoiding
lock-in, and Java source code and Markdown files are no more or less open
because they're edited on Windows. Also,
.docx is arguably a less locked-in
format than even
.odt (the OpenOffice/LibreOffice format), since LibreOffice
can read Word files but not always the other way around.
We still love open source. Much of the software we use on Windows is open source (Vim and Firefox for two pieces), and our home server is running CentOS. We also develop and/or contribute to open source software from time to time. But safe, effective, and sustainable computing is a complex puzzle, and Free/Libre Software is not a silver bullet.
Local data is good
Microsoft has few peers in its maintenance of the continued relevance of local applications and the availability of on-premises data storage. Even if we are not using Microsoft ourselves, we want significant aspects of their vision for computing to succeed, so we do not have a world in which all the personal computation is in a glorified web browser.
Pieces of Microsoft's strategy may be holdouts from a battle to maintain relevance in the face of Google eating the world, but local computing is valuable to end users.
Microsoft also has long experience with supporting environments in which local data storage is crucial, such as health care, finance, law, student records, and R&D departments concerned about trade secret leaks. They deeply understand the need for and value of local computation, and I believe they are committed to keeping it a practical option long into the future.
Security and Privacy
Google and Apple are also doing admirable things for security. But their vision is limited. It is difficult for any company to see itself as one of the threats from which its users may need to be protected, but Microsoft seems to be doing better than many others largely through its recognition of the importance of local data (see above) and its maintained interest in the outmoded idea of asking users to contribute financially to the upkeep of their software.
Finally, if we need to protect our data from advanced adversaries, we need end-to-end encryption, and at that point it doesn't make much difference whether the server through which we send those encrypted messages is leased from a hosting provider and administered by us or operated by Microsoft. And Microsoft is likely running a more secure server infrastructure than we have the time or expertise to match.
Practicality and Convenience
There are also many immediate practical benefits we see from our switch.
Updates work. Our Fedora machines (particularly Jennifer's, for some reason we never could figure out) frequently failed to install updates in a timely manner. The update facilities in modern Windows versions work pretty well.
Texas State uses Exchange.
Synchronizing data is hard. Having it just work, so our e-mails, calendar, and contacts are on our laptops and our phones and the Web, without needing to maintain and worry about a PHP installation, is really nice.
OneNote is a slick piece of software (and Microsoft seems pretty invested in making it a useful cornerstone of the Office ecosystem, so it is unlikely to go the way of Google Keep). We are somewhat concerned about the lock-in and data portability aspects of it, and it is a notable exception to Microsoft's pattern of keeping data locally storable, but it's very useful.
Operating an e-mail server is obnoxious and stressful. With Google storing copies of the vast majority of our e-mails to anyone except each other anyways, it doesn't quite achieve its potential privacy benefits. Outsourcing e-mail has been a relief, and using Microsoft means that our data is still subject to U.S. legal protections, meager as they may seem some days (as opposed to storing it in Australia and giving certain TLAs a free pass to treat us as foreign entities).
Contingency planning is more achievable. Michael has historically done our server maintenance; it's a lot easier for Jennifer to take over administration of our Exchange account than to document and keep up-to-date the various details needed to keep the Postfix + Dovecot + SpamAssassin + dkimproxy installation working.
Microsoft has tech support you can talk with on the phone, even if you're just paying them $10/mo for a couple of Exchange accounts.
The Surface Pro, and recently-announced Surface 3, are very compelling devices and strong contenders for future portable computing purchases.
There is a lot more we could say; this article is by no means exhaustive. It is also not intended as a full-throated defense of everything Microsoft is, has been, or will be, and it is certainly not a bash of Linux, which is a very useful system with many merits (such as systemd). We have tried to focus on the positive aspects of why we have chosen to entrust Microsoft with so much of our critical infrastructure.
In a decade, who knows what we will be doing?
Trademark is a legitimate issue, and there is a good argument that Lindows should be considered to be infringing of Microsoft's trademarks. However, the U.S. court in which they sued did not agree that Lindows infringed, and rather than accepting the ruling, Microsoft responded to the loss by continuing to sue Lindows in other juristictions until they couldn't afford to defend any more. ↩