Issue #37: Microsoft

Putting The $ In Micro$oft

When I started in the world of professional computing, it was popular to spell MS as micro$oft or micro$haft or micro$loth. Or, if you were feeling particularly snarky, micros~1. Windows was invariably spelt windoze. What did they do to deserve that reputation?

Microsoft started life as a developer tools company: they wrote the first BASIC on the MITS Altair, and licensed BASICs on most micros of the 1970s and 1980s (including the Apple II, even though Steve Wozniak had written Applesoft BASIC for it already). That is where I learned to program, in Microsoft Extended Color BASIC on the Dragon 32 (a British rip-off of the Tandy Color Computer).

But that means that they are one of the many US computer companies that got rich by stealing public sector inventions, enclosing them, and profiting from them. Just as Cisco and SUN took the work that had been done at Stanford University, Microsoft took the BASIC language invented at Dartmouth without a license. They actually developed that Altair BASIC on a PDP-10 operated by the military and hosted at Dartmouth, and MS did not pay for their computer time. I hope all those American taxpayers are proud that their money was funnelled directly to someone who would become the world’s richest man, just as it is now going to Jeff Bezos via the NASA budget!

Microsoft did, I suppose, innovate, in that they added PEEK and POKE commands to BASIC. Indeed perhaps Bill Gates himself first implemented those. In these days where the UK government wants all ballerinas to retrain in cyber we might be appalled at such an obvious way to bypass, well, everything, and expect that this was what brought the ire of the developer community.

But no. There was not really anything to bypass on a microcomputer with an 8-bit Intel 8080 or equivalent processor and a few kilobytes of RAM. The only thing you were “working around” was the fact that not all of the hardware had a BASIC command: maybe you could read keypresses with INKEY$ but to read the joystick direction you had to directly look at a byte in memory.

Microsoft may not have believed much in paying the people who invented their products (see not only BASIC, but also MS-DOS), or supplied their resources, but they definitely believed in everybody else paying them. Bill Gates’s Open Letter to Hobbyists circulated to members of the Homebrew Computer Club and more widely via various magazines first introduces the idea of “sharing” software, then rewrites this to be theft.

As the majority of hobbyists must be aware, most of you steal your software.

Gates and Allen had organised a royalty model for licensing Altair BASIC to MITS. If they had charged a fixed development fee instead then there would not be any concept of software piracy, no over-the-top Genuine Windows™ holograms, and no unactivated copies of Windows. Software companies would be paid for writing software, like plumbers are paid for doing plumbing: they would not be paid for having written software, like record labels are paid for selling Dark Side of the Moon over and over on different formats.

This interest in extracting every possible cent from customers, and creating customers where none exist, could certainly be a source of the cynicism displayed when nerds write the $ in micro$oft. You can see it today, in Windows 10 and its “Windows as a Service” mentality. Having sold your OEM a license for you to use Windows, and potentially sold you an update license too, it is then time for the upsell. There are ads in the Solitaire app, and an in-app purchase to remove them. From Windows 3.0 to Windows 7, it was a free distraction; now it is a revenue stream. The archive manager is shareware and you can pay an annual subscription to unlock additional features like supporting some archive formats.

Microsoft’s tempestuous relationship with open source perhaps plays no little part in stoking the anti-Microsoft sentiment among nerds. The famous collection of Halloween Documents curated by Eric S. Raymond show a company first trying to understand, then come to terms with, then compete with, then undermine, not so much another product but another way of thinking about ownership completely at odds with the Microsoft way and “most of you steal your software”. No we do not, we are free to use the software for any purpose!

In the time since I was one of the interchangeable goons of the undiverse free software hoards, in my long hair, black band t-shirt, and combat trousers, Microsoft’s relationship with free software has changed significantly. They always used the software for any purpose where that purpose suited: various of the networking utilities in Windows were ported from BSD (which of course, the free software BSD license permits; if free software developers are angry about this, they should perhaps choose a different license such as the Affero GPL).

The fully-proprietary Windows Services for UNIX has been replaced, first by the Linux-compatible Windows Services for Linux, then by WSL2 which is actually real GPL2-licensed Linux running in a virtual machine. Microsoft has bought GitHub, the software forge website that loves open source so much it is a fully proprietary product. The one that hoovers up all that source code to feed the mighty Copilot, so that you can accidentally paste AGPL3 code into your proprietary application and hide behind “the AI did it”.

They sink significant resources into various open source projects: TypeScript, npm, Xamarin, Visual Studio Code, even the Common Language Runtime and .NET. Further than that, their browser, once the scourge of front-end engineers the world over, is now based on the open source Chromium project.

This all looks like it could be the start of another round of “embrace, extend, and extinguish”, a business model popular among Microsoft management. Readers who were not around the software sector in the 1990s-2000s may not be aware that Microsoft’s approach to competition used to be to integrate with the competing products, preferably using open standards, then break the integration until everybody needed things that worked the broken way (i.e. they needed Microsoft’s products). A combination of making Internet Explorer free, and making Internet Explorer incompatible with Netscape Navigator, eventually killed Netscape. Outlook and Exchange work with all of the usual email and groupware standards, except in the ways that they do not.

Anyway how does this embrace, extend, extinguish idea apply to open source? Microsoft have worked out that by providing the tools people need for the development they are really doing, rather than the old model of the development Microsoft wished they were doing, they can get incredibly detailed and accurate information about a large chunk of the developer community: think of the analytics from GitHub combined with the telemetry from Visual Studio Code and its array of plugins.

They can use this to get an advantage over competitors by getting information about how the competitors’ products are used, in addition to their own. And in addition to what open source libraries people are using to augment those products; i.e. what features might be missing. Somewhere on Satya Nadella’s F: drive there will be a spreadsheet showing up to the minute data on whether Microsoft should be adding a souped-up version of leftpad or is-number to the premium tier of MSDN.

So surely all of this, the way that Microsoft is adding their proprietary telemetry to the galaxy of open source software, is enough to warrant the opprobrium? Have they finally earned the $ in Micro$oft?

Let us be honest. The real reason that dollar sign appeared and the nicknames abounded was that Microsoft were good at what they did, and their products were popular. Yes, they absolutely did use underhand business tactics to get as popular as they did: crowding out competing browsers and media players (tell me how easy Apple have made it for competitors to integrate browsers and media players on the iPhone, I will wait); pressuring OEMs to abandon alternative operating system vendors; breaking interoperability and compatibility with competing products.

They also did a good—maybe not perfect, but certainly very good—job of walking the tightrope over the maelstrom that is the conflict between their own short term interests, and the long term interests of their platform: keeping the users and the developers as mutually happy as possible.

Yes, if you built an office suite that got an appreciable market share, you would find yourself on the receiving end of some very dubious competition, though not as outright evil as has been claimed; the idea that Microsoft lived by the mantra “DOS ain’t done ’til Lotus won’t run” has been soundly debunked. This belongs in the same dustbin of fake MS news as the 640 KB RAM is enough for anybody quote.

But for everybody else, you might find yourself on stage with Microsoft’s developer division, as one of their most valued professionals. Sure, the MVP program almost disappeared, but only for a weekend.

Microsoft understands that developers are not their enemy, for the most part. That they need third party software to add value to the Windows galaxy. Their job is not to ban developers from the platform for making money that did not go to the first-party apps; but to help everybody else help make Windows more useful. So if you go to a Microsoft developer conference, you will find authors of books for Microsoft Press who do not work for Microsoft. You will find interviews with third-party developers being recorded for Channel 9.

All that success breeds resentment. What do you do if you are in the Free Software galaxy, and far from eating the world you are mopping up the scraps that the incumbents drop from their table? If you are good, you explain how what you offer is better. If you are patient, you explain how the way you do things is better. And if you are vindictive, you fling insults.

People are angry at Microsoft not so much for the way they succeeded, but because they are successful at all. That, then, is the source of the $ in micro$oft.

Photo by Joshua Hoehne on Unsplash.

Donate using Liberapay

Graham is a senior Research Software Engineer at Oxford University. He got hooked on making quality software in front of a NeXT TurboStation Color, and still has a lot to learn.