Ye who fail to write a secure OS ought not to sell security.

This kind of business model is commonly known as a Protection Racket.

Guido: “This is a real nice OS you got here. It would be unfortunate-like if something were to. . .happen to it.”

Nunzio: “Yeah, like da man sez, viruses, trojans, all kinda stuff could get in here and really mess ya data up, ya knowz.”

Owner: “But, I bought it from your organization.”

G: “We know that. Who better to know all the ways to get in an’ out than the guys who built it, huh?”

O: “Then, why didn’t you just build it with security in mind.”

N: “Well, see, dis is how it works ‘n’ all. You want a standard OS in the right part a town, and we sell it to ya. Youz, eh, didn’t ask too much about how hard it was for rough types ta cause problems r nothin’. What we is doin’ is providin’ a service, like.”

O: “But if you built it right in the first place, I wouldn’t need your protection.”

G: “Well, times is hard an’ all. Sometimes somebody’s cousin gets the contract, and a few plans get, eh, re-specificied. Then–you know how it is–the deadlines just creep up on ya and youz don’t always get all the work done the way it should. Especially when someone gets it into his head to start makin’ new tools instead a usin’ what’s already been time-tested out there.”

N: “Ting is, we all gotta just learn ta work wit each odda. An’ we will learn how to work wit each odda. Won’t we.”

And that would be because Microsoft didn’t want to use the industry-standard OpenGL. There are some advantages and disadvantages to Direct3D. The major disadvantage is portability, particularly lack of.

I suppose it’s better than taking an industry standard and implementing “innovations” that kind of undermine the intent. Things like making changes to unicode such that only Windows computers are able to parse it without errors, even when the intent of unicode was to be completely universal and platform-independent.

I’ll give you this one. I will note that it took until Windows 95 to fully implement.

Actually, Windows 95 wasn’t fully preemptive unless you were only running 32-bit drivers – even one 16-bit driver added a great deal of cooperative multitasking to your environment.

The first Windows OS to preemptively multitask was Windows NT 3.1 in 1993. The first consumer version of Windows to be a fully preemptive multitasking OS was Windows XP in 2001, when Windows-for-consumers finally shed its DOS core and moved to the NT Kernel (now called Windows Engine).

The first version of the Mac OS to have preemptive multitasking was Mac OS X v10.0 in 2001. The first product called Mac OS to ship and be capable of preemptive multitasking was Mac OS X Server 1.0 in 1999.

So yeah, Windows beat Mac OS to preemptive multitasking, but the implementation of it was shoddy in consumer Windows until 2001… the same year the Mac OS went preemptive. Also, a great deal of the technical advantage of Windows 95 over Windows 3.1 was not preemptive multitasking, but the fact that it was now a 32-bit operating system. The Mac OS had gone 32-bit in 1991… though it wasn’t fully “32-bit clean” until 1997.

Of course, there had been 32-bit OSes before Mac OS, and preemptive OSes prior to Windows – neither development was an “innovation” that one OS had over the other.

From an end user standpoint, both Mac OS X and Windows XP are technologically very complete products. In the last decade, both Apple and Microsoft have drawn inspiration from each other’s products (whereas in the prior decade it was entirely Microsoft stealing from Apple). I really, really detest Windows, but not because Windows is particularly bad, but because it’s just not as clean an implementation of its core ideas as Mac OS.

The security system on Windows, however, is unforgiveable. Default users are given way too much power to harm the system, the integration of the Web browser and the operating system was a horribly design decision from a security standpoint, and its all just too easy to break. These problems don’t exist because Microsoft’s coders are lousy or because Windows is so powerful – they exist because Windows is compromised in a very severe way by its “backwards compatibility.” Microsoft needs to make a clean break from its ancient past, and rebuild Windows from the ground up with more secure default settings. Had Apple tried to shoehorn buzzword-compliance into the original Mac OS, instead of starting fresh with OS X, it’d probably be facing major security issues as well.

Spectrum, good post.

On the issue of whether Microsoft’s coders are lousy or not, well, I am sure they have very talented coders, but they followed lousy coding practices. One example, the buffer overflow. I have worked on very secure operating systems that did not allow buffer overflows (raised an exception) even if the programmer didn’t check for it. Microsoft’s problems were created by themselves.