I fight for the users -Tron, 1982
This article is a brief history lesson about what happened to computing in the late 80's, what's happening now, and how the two are connected.
Let's face it, the "PC compatible" years were a bear. Slowly tearing the monopoly away from IBM had a massive cost in money and, if not blood, careers. Windows, and Microsoft, ended a lot of those hardware troubles. Many saw
Micro Channel Architecture (MCA) as the last nail in the IBM coffin, even though it was accompanied by other, more popular, hardware innovations like the now fading PS/2 port. MCA wasn't the issue. What manufacturers and users were no longer willing to put up with was proprietary hardware. It had too high a cost. There was too much TCO in the proprietary model, and too much licensure cost for producers. Windows/DOS presented a solution to misbehaving IBM hardware market models, itself building on the software models pioneered in
CP/M. With the cooperation of some hardware vendors who were fed up with IBM, a bargain was struck. Hardware would become largely generic, managed by proprietary software models, and the users and businesses ate it up, if only because of cost.
Windows XP is now a benchmark for ease of use, probably the pinnacle of that paradigm in proprietary software.
I've plugged hardware into XP that I
know I should have had to download proprietary drivers for (like my
fossilized Microtek E6 SCSI-I scanner), and it just works. I've installed an XP imaged hard drive into a totally different setup, several in some cases, and had it boot with only a hiccup. It makes a mess of your ENUM and driver keys, but it works. This is a monumental accomplishment. XP, for all its flaws, is an amazing product.
Operators and hackers, however, never really cared much about this ease-of-use, "Out Of Box Experience" (OOBE) movement in software, because, back in the day, we could handle the setup issues for "PC compatibles," and today, we are still fluent in writing the necessary scripts and configuring hardware. We have the tools and the knowledge to handle many problems, and sometimes even to code the drivers when third party support dries up, if need be.
Modern Linux distros seem like a picnic when compared with the "PC compatible" days, but we should remember that it was Windows that put an end to that mess, which we found to be "fun," and it is Windows simplicity that many distros and desktop environments (
both KDE and Gnome) hope to emulate. Folks often
claim "Windows doesn't work," but that is a matter of priorities.
We don't need OOBE support. When you don't need that kind of ease of use, then the pitfalls that come with it, in the form of lock-in and lack of configuration flexibility, and the instability and resource waste of a code base that has to have
everything on to receive
any configuration, seems like a huge burden.
It chafes at a knowledgeable user's sense of frugality. We'd rather compile in what we need, because we know what we need.
Returning to the days of "85% PC compatibility," what seemed like a sham was how some vendors weighed everything as equal when the percentage referred to default PC OS calls. There's a big difference between things like Tandy sound not being 100% compatible (big whoop), and your video calls (Tandy again!) needing third party support to work. The method of basing the percentage on "How many popular software packages work?,"
out of the box, made a lot more sense.
The operative words there are "work out of the box." Does the shiny silicon monster crunch those bits or not? With how much fuss for the end user? In software, we can't weigh every piece of software configuration and functionality equally. What's important to the end-user needs to work. It used to be the third party vendors, like Word Perfect, that guaranteed that "it worked."
Truth be told, it still is. It's just that the successful hardware companies now have to be software companies. Much of Microsoft's success with XP was based in that good will.
Microsoft has learned this lesson the hard way. In my view, they clearly
did not give NVidia the chance to code mature drivers before Vista's release. The graphics driver is paramount; it has to work. They launched anyway. Their OS "crashed" and it was
their fault, not NVidia's, because Microsoft should never have launched without the dominant video vendor on-board, to take advantage of their video heavy, effects driven desktop. Microsoft has forgotten that they put an end to the configuration mess with the
cooperation of hardware vendors. They thought they could launch on their own, irrespective of that detail. You do not launch without all hands on deck.
I believe that this is because their focus has changed. Who they are in collusion with has changed. They are now focused on all aspects of security, particular
their own security. They are on a clear path. They have attempted to secure a legal victory against unlicensed use of their software, and the various content "sharing" enthusiasts (who do not have that right), not in a court, but with code. It's absurd.
There is no "all things being equal" in operating software today. People simply expect the OS to work. Configuration is a dead issue, and outside of the Mac, the competition is
still late to the party. It's dead, not because it's unimportant, but because no one expects to have to configure anything. That is the expectation.
This means that important hardware, mainstream hardware, needs more work, and not what is interesting or cutting to bleeding edge. That is why it is
still not the Year of the Linux Desktop. No one should, for example, have to look at even a good configurator for their Xorg.conf, let alone have to do web research, and run module-assistant, to get their video card to work.
Beyond that, the "next big thing" is OOBE platform security and Microsoft is ever keen in its market instincts, if not their engineering prowess. The only problem is, they are not as worried about the user's security as they are with their
own security, and thus have gone astray. Like every monopoly in history, they've become deluded that they can dictate the product specification, without increasing value to the consumer in any meaningful way.
A compromised, malware infested box is the single biggest hassle to the current end-user. An unlicensed user or copyright infringer is a dreaded threat to the software industry and anyone who produces an imaginative work. The only question is whom will the computer serve: Its end-user or the ends of some unseen master, writ into the operating code and hardware security circuits?
This is a true dilemma. Operating software and environments have matured to the same point that proprietary hardware solutions had before Windows 3.0: the commodity level. The methods of operating software and environments are tested and solid. And, once again, the monopoly power is trying to produce the
correct product, which is
easy security, but to meet their own security needs instead of the needs of the user. Now is the time for the consumer to demand that proprietary software, on the operating level, come to an end, for the same reasons: the model no longer provides an advantage of the common user.
IBM, after it lost control of the PC market, is now a platform support company. In the future, Microsoft is a security support company.
All well and good, except that OneCare is awful, and it will continue to be awful without complete platform lockdown. Microsoft has made it very clear. They would rather have every piece of code running on the machine contact Verisign before it can run, preferably before it can install. Many installers already exercise the option of contacting a
CRL authority before launching. Microsoft wants this to be the standard. How long before it is the law?
On the other hand, UNIX-like systems were intended to be connected to the Internet, and are inherently more secure in that environment (within the limit of Internet protocols). It will be much easier to build "easy" security on that model. If "easy" security is possible without built-in hardware lockdown, it will be built on Linux or Free BSD.
Vista is a mess right now, but it won't stay that way. Microsoft can't make it work without the hardware vendors that they have blamed for
their failure in partnership, but those vendors will eventually come around if there is no alternative. In trying to meet their own political ends in code, instead of sticking to their bread and butter: "It works," Microsoft has left itself as vulnerable as IBM in the days of the PS/2. Microsoft can't code legal enforcement without massive collusion with the hardware vendors, and user acceptance of those shackles. Without that such efforts are a waste of time. It is clear to me that Microsoft left critically important hardware vendors, and by extension, their users, twisting in the wind.
This leaves an opening. At least MCA was awful only for its lock-in. It was at least superior to ISA. Vista is, for the time being, clearly
inferior to its predecessor, and vendors that Microsoft cannot live without are angered.
Unfortunately, there is a dark cloud that goes with this silver lining. Companies like Microsoft, and all technologists, are finding out that being an "operator" is
not "easy," it seems that you can't make it "easy," and all those folks who bought "easy" are now either part of a botnet, with a compromised box, or swearing at a UAC dialogue they don't understand or care about.
This is the future challenge of software development. The first group of geeks to come up with an easy-on
secure box that doesn't annoy its users are going to put an end to proprietary operating software by building a truly secure operating platform. Security where
the user decides whom his machine will
trust, not where a software company certifies which users are
trustworthy.
Microsoft's initiative towards this is heavy handed. I think someone else can and will do better than computers which serve their "master" instead of their user. Even Microsoft is capable of doing better than "
Trustworthy computing." They have identified that ease of security is the future, and they are not above exploiting it to produce a product that will restrict our rights for consumer convenience. Authority based, centrally controlled trust establishment is not the answer, however. It is a dead end. The user must decide whom he will trust, or computing dies as a vital platform, and will become a service-based appliance, to be used only for purposes determined by a cabal of companies, and eventually the government.
We are at the same maturity level and jumping off point in software that we were at when Microsoft ended the IBM monopoly, when "PC Compatible" became "MS-DOS compatible." But I think the stakes in 2010 are much higher than they were in 1988. All it takes is for someone to hurl the disc, and end the idea of "Master Control Computing" (MCC). Sure, it's a corny depiction, but it spells out what's really going on.
Build a secure box that works,
out of the box, which serves the user and not centralized authority,
of any kind, and the world will beat a path to your door.