People in my generation are used to the fact that you can install a new operating system on any computer. But if you look back in the history of computing and look forward towards the future you realize that this is the exception and not the rule.
For a long time hardware and software, at least the operating system part, were sold and used together. The software is already installed on the hardware when you buy it from the manufacturers and can’t easily be replaced because it is tied very closely together. The only exception is the personal computer between the mid 80s until now. When you look at all other computing platforms you see that this is a very unusual exception. Hardware and software are tied very closely together in everything from embedded to mainframes to mobile devices like your iPhone or Android phone.
This was the case for all the computers before the IBM PC. Examples are the early mini computer and mainframes like the IBM 360 and 370 series. It was basically impossible to replace the operating system.
Then in the 70s the first home computers or personal computers showed up. Examples are the Commodore PET, the Apple II and the first Tandy. Later in the 80s we had the Atari, the Commodore C64, ZX Spectrum, the Macintosh, a bunch of Unix workstations and the Amiga. All of them shipped with an operating system that was basically irreplaceable by normal users. Sometimes technically possible not practical for normal users.
Let’s look at current and future computing platforms. Today we have mobile phones, PDAs and tablets, Smart TVs, smart watches, cars and a ton of other computer platforms where hardware and software are closely tied together. Today it is even harder to install different operating systems thanks to the wonders of DRM and locked down boot-loaders.
The only computing platform where we have a lively market of alternative operating systems is the IBM compatible personal computer space. Here we can choose from a ton of different commercial and free Linux distributions, we had players like OS/2 and different flavors of DOS from different vendors and Microsoft selling Windows in boxes independent from the hardware. This open platform made it possible for the free software community and the Linux vendors to develop a market of alternative operating systems.
So why is the PC different? There are no real form-factor or hardware or software or technical reasons. It is theoretically possible to replace the OS on all the other platforms if the hardware manufacturer would support it. Admittedly, in the world of special purpose super computing hardware it is the norm. And I’m sure someone will send me a message and pointing out how this could be done by a very experienced hacker. But the fact is that this will never be mainstream. On all these platforms the hardware and the software are tied closely together. There are no technical reasons. The only reason is that the market developed differently. So why is that?
Let’s look a bit into the history books.
IBM was late in the personal computer game. They concentrated too long on their old cash cows, the big-iron mainframes they sold to large companies. In the late 70s and early 80s they realized their mistake because the personal computer market exploded. To become a serious player in this new, lucrative market they had to launch a personal computer fast. This meant the usual approach to develop everything internally was no longer an option–it would have been too slow. Instead, they decided to build and launch the IBM PC out of off the shelf components. They used an Intel processor, a bunch of other standard chips and components and they licensed DOS from Microsoft. But the IBM and Microsoft deal contained something very unusual. The option for Microsoft to license DOS to other hardware vendors too. For the first time it became possible for other vendors to build a compatible PC mainly by licensing the same operating system from Microsoft that was also running on IBM machines. IBM had inadvertently created a ‘standard’, the IBM compatible PC. And for the first time a computer was not one product but two. A hardware component and an operating system part that users could buy independently.
Only because of that it was realistic that a community of free software developers could write an OS and real users could actually install and use it.
Let’s imagine a future where IBM would have bought MS in the early 80s instead of licensing DOS. Or negotiated an exclusive licensing deal with MS. In this case the whole IBM compatible PC market would have never happened. And the option for an open source and free software ecosystem on PC and server would have never happened. In the late 80s IBM tried to move to a closed platform with the PS/2 series but failed. The cat was already out of the bag.
In all other areas beside the IBM compatible PC space we see closed platforms again. You can’t easily replace to the operating systems on your TV, Smart Watch, car, phone, tablet and so on. You can’t buy alternative operating system for this platforms.
So it is an interesting twist of history that the free software revolution was only possible because Microsoft created this open ecosystem and decoupled the hardware business from the software business.
The niche of an hardware independent operating system for some of these new platforms is now occupied by Android. Google is doing a great job by making Android open enough that a lot of people praise it as open and cool. But, both due to the way Google handles the ecosystem and due to its licensing, third-party manufacturers can use Android to create new devices but at the same time keep the system closed and locked down enough keep Google in control and allow them to use it to push their cloud services. Additional to the classic lock-in between hardware and software like DRM, closed drivers and pre-installs we now have lock-in through deep integration of cloud services. This is pretty well explained in this blog post at arstechnica
The big question now is: what does this mean for free software, new free software contributors and the overall freedom of the new computing platforms? It’s hard to see how a potential new completely free software project could conquer these new closed platforms. What is needed is a really good go-to-market strategy which makes it possible for the mainstream users to install and use these new alternative software on their devices. Without this it is hard to see how this can ever attract a bigger user base and a relevant contributor community.
This is a hard nut to crack and a real challenge for free software. It will require more than heads-down-and-code. What is certain is that we can’t rely on an open ecosystem anymore because it is possible that the personal computer was an exception and the last one!