Slashdot Mirror


Microsoft's CLR - Providing a Break from HW Vendors?

eyefish asks: "Is Microsoft's Common Language Runtime CLR (document in PDF form) really a way for Microsoft to slowly stop depending on hardware vendors like Intel to drive the Windows platform, and in the long run as a way to build a hardware-independent Windows platform to fight Java? I'd like to ask the Slashdot community what their thoughts are on this matter. Is there something preventing the CLR from being truly platform independent, now or in the future? How does it compare to the Java Virtual Machine?"

"It seems to me that once the CLR has matured enough, there won't be a need for Microsoft to wait for others to innovate on the hardware front and start offering its own hardware (and charge whatever it wants for it) to go with future versions of Windows.Net. Worst still, 99.99% of the population will not be able to say no to this strategy since they'll have no choice but continue using the Windows monopoly in order to run their favorite apps."

Jamie comments: I don't think it's about hardware innovation, or beating Java. It's about absolute control.

The big money over the next decade will be in transforming the computer into an entertainment device. AOL Time-Warner sees a computer as a revenue producer, with the unfortunate ability to copy digital works. They and the other five media giants want to put a stop to it; Microsoft and Intel will find it very profitable to help them.

One good step along the way is to give the computer a common interpreted language to run everything. We're there already. And when developers have to code to a virtual machine, not the actual bare iron, then whoever writes the virtual machine holds all the cards. And since the authors of the virtual machine will make a lot of money by enforcing intellectual property rights, the arms races are all over: copy protection is absolute, DeCSS won't compile, unauthorized MP3s won't play.

Of course developers rarely write on the bare metal anyway: we write to APIs, we write scripts, we write code that doesn't (need to) run in the CPU's supervisor mode. We're used to surrendering the ultimate control over the machine to the operating system, or to be more precise, to the BIOS that decides how and which operating system to run.

If we surrender this control, though, we'll find ourselves with a monopoly operating system that makes it impossible freely to write code for. (And it's not hard to cut off Linux and every other rogue free OS at the knees. The day that every motherboard's BIOS uses strong crypto to demand the master boot record be signed with a secret key known only to Microsoft is the day that Linux becomes a thing of the past.)

Naturally, to prevent you from firing up GCC and doing a rogue compilation of DeCSS or Lame or other unauthorized code, the operating system will have to stop you from running anything that isn't written in its language for its virtual machine. Requiring code to be signed by a central authority will make its first appearance as virus-prevention but its real purpose too will be control. Universities will be able to buy special licensed exemptions, at least until corporations decide universities are hotbeds of piracy and theft. At which point your alma mater begins teaching Computer Science 101 (and 201, and 301, and 401) in C#.

My prediction is that, unless antitrust legislation in the U.S. gets some teeth between now and then, the PC will become a Gameboy within fifteen years. Enjoy computers while they last.

3 of 514 comments (clear)

  1. Reply to AC: Frustrating, stupid comments. by JMZero · · Score: 5, Informative
    Right, like how their word processor has a standard file format that is backwards compatible. Oh, wait...


    What does their lack of backwards compatibility have to do with anything?

    Is it a ploy to make money? Of course it is.

    Does it really matter? No, you can set Word to save to Word 95 format and you won't lose anything important. You can even download a free 2000 viewer if you want, and cut and paste into Word 95.

    Would MS provide these things if they were a crazy, unrestricted monopoly that would do anything to grab cash? No, they'd encrypt .xls files to ensure noone could read without paying. And they'd charge $900 for Windows.

    MS is like some inkblot where everyone can project their own little "gotta stand up to the man", "slippery slope" fantasy world view.

    Want to fight MS? Help make Linux good. Quit whining.

    .
    --
    Let's not stir that bag of worms...
  2. Game Boy? BAD example. Too open. by yerricde · · Score: 5, Informative

    My prediction is that, unless antitrust legislation in the U.S. gets some teeth between now and then, the PC will become a Gameboy within fifteen years. Enjoy computers while they last.

    Game Boy is a bad example. The Game Boy Advance is an open system, fully documented to the point that anybody with GCC can write software and run it on the GBA without taking a vow of silence or paying the big N. The only things the GBA checks before running your code are 1. the very simple checksum on the header and 2. a bit pattern that produces the Nintendo logo but is legal to copy under the Sega v. Accolade precedent. So go get GCC for ARM and an MBV2 cable from lik-sang.com and get hacking.

    $article =~ s/become a Gameboy/become an XBox/; and it becomes more accurate.

    --
    Will I retire or break 10K?
  3. Re:What about interoperability? by alext · · Score: 5, Informative

    Putting aside the interesting philosophical question of whether a corporation can be evil for a moment, the following can be asserted with a degree of confidence:

    1. The interoperability aspect the article is concerned with is that between platforms, not between languages. The latter is interesting, if overstated, but irrelevant here.

    2. CLR may be specified, but other APIs and services are not, therefore it is trivially easy to lock in developers, just as was attempted with the proprietary GUI API MS provided for J++.

    3. For some reason, it is not yet widely appreciated that the public SOAP specification already has a proprietary MS extension called .NET Remote. While SOAP cannot pass object references around, or serialize objects like RMI, .NET Remote removes both of these restrictions, making it much more attractive than straight SOAP, which doesn't even provide object-level access in its standard form.