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.