Kudos to Peter Yared at ActiveGrid for banging on Sun Microsystems on open sourcing Java, or at least the JVM. And thanks to Dan Farber for amplifying the call. However, I can answer the question for Sun with a single word. Why not open source Java? The answer is: IBM.
Sun knows that if Java truly goes open source that IBM's vastly larger developer communities will be the world's busiest Java beavers. It is about control, friends, and not just a little envy. To the spoiler go what riches?