I originally wrote this as a mail to my boss encouraging him to get off of java and start looking at HTML 5. The technical parts are glossed over but explained enough to make the point. I republished it here because I think it will generate discussion, especially among the SAP people, etc.
http://news.cnet.com/8301-30684_3-20013546-265.html <- this is tough to get your head around the “why” until you consider how the android (and thus the cutting edge of java) works.
Oracle has decided to become a patent troll as far as Java is concerned. Oracle’s moving towards an oracle box as a literal thing – and I think the trend here is for companies to get away from IP (intellectual property) because of how badly MP3s and whatnot have eroded case law. The music industry has problems prosecuting pirates, the movie industry has problems prosecuting pirates, and as we move into the brave new cloud world, I think software companies will go the same way. The mainframe is dead. Long live the mainframe.
So we’re back to the pressed CD, the pressed DVD (how terrible is it we’re advertising “includes digital copy” on the media, Disney), and now Oracle is making Oracle Boxes and suing google using phones as a fathom of piracy. I would say “oh but everything is going to be a VM now” makes sense for abandoning hardware and virtualizing the stack except that an OS is a complicated thing, and a company which makes databases isn’t into the business of making SCSI card drivers. Drivers aren’t Oracles game and I don’t think this is particularly about Java and I think it’s much more about virtual machine technology. Google is the cloud and frankly it’s a better cloud than the VMWare-ish cloud of pretending to be hardware. If you’re looking to make a literal box you install on your network and become a toll booth of sorts, it would behoove you to attack the cloud. Oracle is going to take a shot at google over how virtual machines work.
Where google ran afoul of Sun and Oracle is that each android runs a JVM for each process on the box, so any process has extremely strict controls of what it can and cannot do to the phone (Linux 2.6.26). Sun tried to patent “the network is the computer” and android is the realization of that – each phone can send a JVM-generated work-unit back to google to do Big Work and because it’s a JVM, it doesn’t really care where it runs or how many resources it has. Oracles game seems to be selling you an oracle box as a box, or selling you oracle-as-a-cloud, but either way you’re installing an oracle connector and talking to a big anonymous thing rather than installing oracle as a service somewhere. You can send your work to your oracle-box or you can send your work to oracle, but either way you’re paying the toll to use it. Google’s doing the same thing – but they hide their subscription charges in the carriers bill. Oracle looks at this and says “If we’re going to be the turnpike of the database world, lets try to become the turnpike of the cloud!”
The fallout from this is that Java is now going to have the albatross that Oracle can cry foul on how you use it. What makes me fairly sure of this whole thing is that Apple does a lot of the same with the iphone, except for sharing the work units. It’s pretty obvious that since the iphone runs IOS but keeps it’s work-units to itself, it’s not running afoul of any VM patents in any form. Now would be a good time to start pushing HTML 5 for what we do. Runs in IIS! Doesn’t need Apache/Tomcat on Windows! Won’t be sued into oblivion!
The linux community is pointing out that Google very obviously built their JVM from the ground up and it therefor doesn’t infringe.