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.

24 of 514 comments (clear)

  1. The problem with Java by Raul654 · · Score: 1, Interesting

    The problem with Java is that that it was supposed to be write-once, run anywhere. Instead, it's become write once, debug everywhere. If M$ is going to try to follow the same path, they need to avoid the pitfall of platform incompibilities, IMHO.

    --


    To make laws that man cannot, and will not obey, serves to bring all law into contempt.
    --E.C. Stanton
  2. Re:Paranoia by Daemonik · · Score: 2, Interesting

    Hey, due to licensing deals MS has made with all the major PC manufacturers, you will never see a dual boot consumer PC direct from the factory. Tying the BIOS to a crypto key wouldn't be that far of a stretch especially in the era of DMCA.

  3. Re:In the big scheme of things... by chicolindo · · Score: 2, Interesting
    As long as those that want 'absolute control' I think that the underground will always thrive. That's the purpose of the underground : a mechanism for fighting the power for want of a better word.

    There will always be hackers as well as the hardware techies. To stop these guys would invariably involve systematically wiping them out i.e. DEATH!

  4. What about Mono? by Ondo · · Score: 3, Interesting

    Does this mean that Mono is now a force for good, protecting us from the Powers of Darkness getting absolute control, or are the still vile traitors helping the Beast conquer the world?

  5. It's very plausible by -ryan · · Score: 2, Interesting

    It's very plausible that the CLR is how MS plans to insure it's monopoly in what's becoming the commoditization of the operating system and the diversification of computing platforms (set top box, PDA, cell phone, etc..). Java and Linux run on just about anything, that is: Linux running on about any hardware, and Java running on about any operating system. MS usually "get's it" and twists "it" to their advantage. It doesn't surprise me that they would "get" WORA as well as the fact that their OS needs to run on diverse hardware. Think back to Shared Source, or any other good idea that MS took and bastardized for their own use. People that think MS will obsolete themselves forget that MS is not what IBM was. MS has hoards of cash; lots of savvy, aggressive, very bright business people; and an army of programmers. If they "get" anything they have all the resources they need available to them to capitalize on it. If you think the gov't is going to actually do anything to stop them, get real.

    This is why I keep repeating the fact that us Free Software and Open Source hackers need to stop following MS and others, and jump ahead. Why didn't Gnome or KDE leap ahead in terms of UI like (arguably) OSX and XP have? Because we were to busy copying Windows and UNIX. I'll get flammed for this but, why must Linux be so UNIX like? It's a kernel, the rest of the OS could become anything we dream up. Why aren't we setting the pace and doing the innovating? Why not dream up an entirely new set of operating system metaphors?

    Stop following, start leading.

  6. Re:In the big scheme of things... by jrockway · · Score: 1, Interesting
    I very seriously doubt that things will come to, say, Microsoft getting the USGovt to pass a law forbidding software development by unlicensed, uncertified developers, and then fixing the game so only Microsoft developers can be easily certified.


    And something to consider -- there are other countries on this earth. America isn't the great country that we make it out to be. I mean, it's not bad but it's FAR from perfect. Worse, we _think_ we're perfect. I would not be surprised that things like this (companies 0wn1nG the gov't) lead to a downfall of the American marke, or way of life. In 20 years, I bet that China is going to be SERIOUSLY competitive with the United States. If things like this happen, the talent is going to leave the country (I know I will, and I'm 16 -- I have plenty of years ahead of me). Heh, I guess I'm being a bit arrogant, but I'm a pretty good programmer ;)

    Hmm.. I'm going to Japan for a year on an exchange program, anyone know if society is more/less free, more/less company owned. It's probably not any better, is it...
    --
    My other car is first.
  7. Only PC manufacturers Apple and MS? by Tattva · · Score: 2, Interesting
    As the cost of hardware decreases, the cost of software becomes the dominant aspect of a computing device, obviously. What is not so obvious is the fact that if more than 50% of a product's part costs comes from a non-comodity part produced by a possibly hostile company (MS), no manufacturer in its right mind would invest heavily in the production of that product, since they can get squeezed. This means three possible outcomes for the PC industry:

    1. Full-power, expensive operating systems become a niche market and more consumer-oriented targeted platforms on the level of TiVo or Palm become the norm. Microsoft and Apple have a big advantage in this scenario due to their code bases, and you would see a market of 3-5 manufacturers of appliances including MS and Apple.

    2. General purpose operating systems based on free software become the norm for home use, opening the field to many competitors with an eventual shakeout to who knows who. Advantage: PC makers.

    3. Microsoft lowers its OEM pricing for the Windows environment and provides it through a Reasonable And Non-Discriminatory licensing scheme with multiple distribution companies who resell it to home PC manufacturers. Ironically, this is one of the proposed Justice settlement schemes before Bush gave the farm away. Some or most of the current PC manufacturers survive in this scenario and microsoft becomes like a utility: profitable and boring.

    --
    personal attacks hurt, especially when deserved
  8. Re:In the big scheme of things... by Isomer · · Score: 2, Interesting

    I remember reading something a while ago about Microsoft providing a mechanism where you can configure Windows to only allow Signed Applications to run, for use in a Corporate Environment where the IT dept doesn't want anyone to run anything.

    So they've already started :(

  9. Re:Paranoia by Supa+Mentat · · Score: 3, Interesting

    I disagree with the reason you dismiss what he said. It isn't _too_ paranoid to suggest that MS could run all the other current companies that do business in the computer industry into bankruptcy or make them unimportant. So yeah, author X could possibly kill all the other authors (no I don't really think it's going to happen). The reason it wouldn't matter if author X killed the other authors is because that would also be the day that new authors were born. Maybe not in the form of new companies but perhaps in the form of open source coders. I can't see _everyone_ taking a monopoly of that magnitude in stride. The day author MS kills all the other author Suns, IBMs, Intels, and so forth, could be open source's greatest day.

    --
    "A witty saying proves nothing." - Voltaire
  10. Java is a fine C++ replacement, for the most part by Glock27 · · Score: 5, Interesting
    (Java is a replacement for C/C++, and doesn't have an equivalent to iostream.h?! No local file access?! WTF!)

    WTF indeed! Java applications have both! Ever hear of the java.io package?

    Would you really want Java applets, downloaded from an arbitrary Internet site, to have access to your hard drive by default? (Signed applets can do such things, by the way.)

    Java is infinitely preferable to C#+CLR, simply because there is no platform lockin, or vendor lockin (you can get great JVMs from IBM, for instance).

    I'll start seriously considering C#+CLR when the Mono runtime exceeds the performance of Linux JVMs on the same box. I expect that to happen...never. ;-)

    299,792,458 m/s...not just a good idea, its the law!

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
  11. Re:In the big scheme of things... by Anonymous Coward · · Score: 1, Interesting
    i dunno if you really want to go to china. it might not be so fun to live under a government that advocates the death penalty and squashes free speech


    i dunno if i really want to go to america. it might not be to fun to live under a government that advocates the death penalty and squashes free speech
  12. Re:Paranoia by myov · · Score: 2, Interesting
    WTF? They already do that - what other major platform besides x86 do they support?

    Something wrong with Mac? Microsoft's Mactopia currently lists Office (complete with features not available on windows) with Entourage, Internet Exploder, MSN Messenger, Outlook Express, Windows Media Player and Outlook. And, all of these apps have been updated to support MacOS X.

    Some people have even commented that the Mac versions of MS products are better than the windows versions!

    --
    I use Macs to up my productivity, so up yours Microsoft!
  13. CLR and hardware independence by miguel · · Score: 4, Interesting

    The CLR is already being used to write applications that run on multiple platforms. For example the Compact .NET Framework runs on various of the cpus supported by Windows CE.NET. Now you can write an application for .NET and it will run in any system with a CLR.

    This solves a practical problem: now you will be able to "beam" programs from Windows CE machines running on different CPUs. Also, .NET is better than any other Win32 apis.

    The CLR also helps the move to 64 bit systems. There are three integer types on the CLR: int32, int64 and native int (which is 32 or 64 depending on the machine).

    The Mono project is building a free implementation of such a virtual machine (http://www.go-mono.com). We have a functional JIT engine, a C# compiler and many class libraries. So in the future you could even write applications on Windows and run them on Linux.

    Miguell

    1. Re:CLR and hardware independence by rhysweatherley · · Score: 2, Interesting

      The DotGNU Project is building a Free (capital F) CLR, based on the Portable.NET code.

      Mono is not the only game in town.

      http://www.dotgnu.org/
      http://www.southern-storm.com.au/portable_net.ht ml

  14. It will boost PC sales by Earlybird · · Score: 3, Interesting
    Microsoft depend on sales from Office, Windows and other apps. They feel the slump in PC sales just like the hardware vendors do.

    Whether they acknowledge it or not, MS lives in close symbiosis with the vendors; every 2 years or so progress in hardware development produces faster PCs, and every 2 years or so MS produces a version of Windows, as well as applications, that serve to bring the speed of those PCs down to a sluggish sublevel of performance, the added bells and whistles effectively canceling out the performance gains. Users have been indoctrinated into accepting this cycle as natural, which is why users so often acknowledge the speed of Linux, BeOS and other OSes as wonderous, when in truth we shouldn't accept anything less.

    In short, Microsoft boosts the new generation of speedy hardware because users "need" it. And speedy hardware boosts the new generation of Microsoft stuff because users "need" it. At the moment, that cycle is slowing down as users feel applications are fast enough for their needs. The recent improvements in performance have been almost entirely for the sake of gaming performance and multimedia: AGP, 3D instructions, HW-accelerated DVD playback, HW-accelerated sound, cooling supplies, cool cases etc. -- precious little of that stuff is for business tasks.

    Everybody knows the upgrade cycle can't go on like this. And consciously or not, this game of leapfrog will be artificially boosted by .NET because this technology, by definition, will slow down your computer; similar to Java, it relies on bytecode that is compiled into native code on demand (Just-In-Time compilation). While some argue that this process can produce superior performance to traditional pre-compilation, in the short run it probably won't -- Java is a good case study here.

    The fact that .NET could run on other hardware platforms is another possible sales-booster: a hardware-independent Windows would promote new types of hardware, freeing the burden of innovation from being completely on Intel, spurring competition, thereby potentially spurring more sales, etc.

  15. Re:WTF is Jamie talking about? by alext · · Score: 2, Interesting

    Yes, we can cut MS a bit of slack here, right now, and assume that signing originated as an integrity improvement. However, you don't have to be as paranoid as some people here to envisage a situation where non-trusted code cannot be installed without breaking some support agreement etc., particularly in the corporate environment.

    Actually, I'd better complete that statement/ramble and say that I think this is probably the right thing to do from an MS support PoV. The 'remedy', if required, would be to allow other support organizations to certify their own combinations of drivers.

  16. Re:Paranoia by dpilot · · Score: 3, Interesting

    >Come ON. Microsoft will not start artificially limiting what hardware it's product will run on. Why would they?
    >That would be like throwing away customers!

    Because Microsoft always takes the long view, and are willing to throw away money in the short term. Look at their products - they are pretty much always the best short-term decision to make.

    >And why would hardware manufacturers start doing this otherwise? Customer pressure? If anything, limiting their BIOS in this way would dramatically LOWER the value of their
    >BIOS! Think about it, if 75% of motherboards

    Not so. The purpose of BIOS is to get you far enough to start Windows. (in most peoples' view) If a crippled BIOS somehow made the system cheaper to support or manufacture, they'd do it in a heartbeat.

    That's why widescale Linux preloads are not going to happen - it increases manufacturing cost by introducing another process flow. Even dual-boot introduces another process step - and increases cost. This is worse than a basic chicken-and-egg problem, because there's no room anywhere for the baby chick.

    One possible way out of this Catch-22 would be to enable Linux as a better manufacturing platform than Windows. Enable it as a diagnostic program, essentially. Then it becomes a valuable part of the manufacturing flow, and Windows becomes simply something you stick on for the customer, instead of an integral part of the build.

    --
    The living have better things to do than to continue hating the dead.
  17. Not guessing the post-x86 processor by iabervon · · Score: 3, Interesting

    I think the main reason for CLR is that the x86 architecture is clearly on the way out, but it has not yet become clear what its successor will be. There are several candidates, and MS doesn't want to build and keep separate versions of their code for all of them, nor does it want to risk choosing a loser. So it designs a VM layer so that the only code that needs to know what hardware you have is Windows, which you buy with the hardware anyway. In any case where you don't know what the user will be using, introduce a layer of abstraction and you don't invest much in your guess. Of course, they've got code in many languages, so all of the languages have to target this virtual machine.

  18. Re:A complete, portable OS standard? by Anonymous Coward · · Score: 1, Interesting

    Let's check the lifesupport on that POSIX "monopoly" you speak of --
    SCO - Dying
    HP-UX - Dying
    Tru64 - May already be dead
    POSIX environments on OS/400 and VMS - gvmt checklist, never used
    Linux - Only follows POSIX when it feels like it. spec books cost too much
    BSD - Outright rejection of POSIX because it was invented after 1981

    So, you are really talking about Sun and IBM. Strange how the two greatest supporters of Java are the lone defenders of your wonderful POSIX monopoly. Maybe they know something you don't.

  19. Re:CLR solves some common and obvious problems by MillionthMonkey · · Score: 4, Interesting

    The CLR allows Microsoft to promote garbage-collected languages in toto. This includes C++, which now has MS extensions to allow garbage collection. You can reserve your own counsel on the topic of extensions to a language, but it works, I'll say that for it.

    I think you should have stopped after the first seven words of your post. :)

    Note this does not mean you can just compile different languages to the CLR, but reuse code at runtime from code written in other languages.

    Could you explain to me the difference between these two statements? What prevents you from doing either one with a JVM?

    .NET would make a good David Spade joke. "I liked .NET better the first time I saw it... when it was called Java."

  20. Re:CLR and Digital Rights Management OS by spectral · · Score: 2, Interesting

    The amiga probably would have survived and computing/graphics power in the home would be able 5 years ahead of where it is now.

    Seriously though, I don't see why IBM won, except the fact that it's what they were using at the workplace. Offerings by other companies were so much more advanced. (not initially.. though the commodore 64 was pretty impressive, and the 128, though not as popular to write programs for was nice.. the amiga was light years ahead of others in graphics, power, etc. I know people who browse the internet just fine on their amigas. No other computer from that day would be able to handle it as well, i'm sure.)

  21. If that happened... by J.C.B. · · Score: 3, Interesting
    ...the DOJ would have to intervene, and push for a breakup (and not settle for anything less). It would have a Standard Oil type monopoly on the computer business.

    Now Microsoft is smart, and I think they learned their lesson somewhat. They're not going to do anything blantantly monopolisitic like requireing all BIOSes to only be able to boot windows. They don't want to have to deal with another antitrust case, and they, and they surely don't want the DOJ to have killer arguments like, "Now, no new computer can run anything but Microsoft Windows," and, "All software on a Windows system must now be signed by Microsoft, thus giving Microsoft absolute control over the software industry." A case like this would make the current antitrust trial look insignifigant in comparison.


    Oh yeah, IANAL.

  22. Re:Paranoia by skotte · · Score: 4, Interesting

    What is happening is the a great bastardization of computing as a hobbie

    this is true. but i believe that is becoming a thing of the anyway. the newer machines just arent as interesting (speed aside). they come prepacked with anything you could want, if you didnt get it, it's either on a suse disc, or a warez site somewhere. (you know, whimsically speaking)

    plus i just dont think theres that many 12 year olds who are coming along and saying "hey! i want to build an OS!" it's ... just a thing of the past.

    (which is a shame, yes, cos inovators are what this world thrives on. more to you if you are doing something really ambitious!)

  23. Re:Paranoia by dublin · · Score: 4, Interesting

    Come ON. Microsoft will not start artificially limiting what hardware it's product will run on. Why would they? That would be like throwing away customers!

    If that's true, they've been doing it for years. God od your homework before you post: Microsoft already has almost total control over the way that PCs work, right down to specifying in their hardware standards what the behavior of the power switch should be.

    They've used the PC9x (I don't know what they're calling them now) stndards to bludgeon all the major computer makers into building hardware the Microsoft way, and guess what? Pretty much all the clones and motherboards then follow suit, so that they're capable of running Windows with some degree of stability, too.

    If you don't think Microsoft has what amounts to 100% control of low-level PC hardware, just take the time to go to their WinHEC conference and notice that nearly every BIOS designer and many of the hardware engineering staff of all the computer and motherboard makers are there, dutifully taking pages of notes on what amounts to their orders for the year.

    Not only is this not far fetched, you don't even realize they've been doing it for years now. And there's a simple reason why it's about 100% effective: Comply or die - if those companies want to avoid paying several times more for the OS on the machines they sell (which obliterates the margin on a modern PC and puts them upside down), they must comply withthe Windows hardware standards as part of their OS purchase contract with MS. If you don't believe this strategy works, take a look around and try to find an AST computer these days - they tried to stand up to MS a few years back, refusing to let MS design their hardware, and MS nearly bankrupted them: I've been told that it was cheaper for them to go into a store and buy the OS than accept the terms MS offered them under "non-compliance".

    If you care at all about the future of the PC, go to WinHEC (they are starting to have to listen somewhat to the backlash) to find out understand what they're trying to do, and learn what you and others can do about it. Knowledge is power here - so far, only trivial numbers of us have refused to buy poisoned hardware. (The last time I checked they were trying to *eliminate* the BIOS, replacing it with a simpler set of lookup tables for resources, which of course would have to be "secured" at some point in the future, but I've been out of this for a couple of years now...)

    --
    "The future's good and the present is nothing to sneeze at." - Roblimo's last ./ post