As this issue was going to press, we learned that Oracle had filed suit against Google. Oracle is claiming that by including Java in the Android mobile-phone operating system, Google is willfully violating Sun’s patents on Java. Oracle is demanding that Google stop using Java—and pay triple damages.
While it is far too soon to render an opinion about the merits of Oracle’s claims, we don’t hesitate in saying that this is a troubling development, and is contrary to Sun’s desire that Java be available to “write once, run everywhere.” You can’t run Java everywhere if Oracle enjoins companies from using it. And not just for patent reasons: The legal complaint says, “Google’s Android competes with Oracle America’s Java as an operating system software platform for cellular telephones and other mobile devices.”
In other words, Oracle seems to be saying, competitors shouldn’t be using Oracle technology in their own products, and that includes Sun’s technology. This is, quite frankly, what many observers (including SD Times) were concerned about. Oracle does not have a tradition of playing well with others.
This lawsuit has strong implications for the use of Java by Oracle competitors like IBM (WebSphere), Red Hat (JBoss), SAP (NetWeaver) and others. Now, of course, we must add Google (with Android) to the list of Oracle competitors.
In an unrelated development, a cover story in this issue focuses on Illumos, a project designed to create an open-source version of OpenSolaris that won’t in any way impinge on any of Sun’s licensed code—and which won’t be left at the mercy of Oracle to support.
We applaud and support that effort, as we do all efforts to ensure that open-source software remain available for all reasonable use, including use by competitors of the companies that initiated the open-source project.
As of this writing, Google had no response to Oracle’s lawsuit. But you can expect that this will be a case that we will be watching closely. If you use Java, you should be watching it as well, as it has the potential to chill third-party use of the platform. Which, after all, may be exactly what Oracle has in mind.
With GPUs, parallel programming goes asymmetric
Move over, SMP. Parallel processing is becoming more asymmetric, thanks to powerful graphics-processing chips being used in desktops and notebook PCs.
Of course, you’re not going to be doing a lot of GPU programming inside your pizza-box rack-mounted Web server. However, when it comes to the desktop, applications that use Open Computing Language and other similar toolkits are going to start making a big impact. Even notebook computers sport low-wattage but high-powered GPUs to go along with their multicore CPUs, which means that the opportunities for using OpenCL in such asymmetric applications are going to be everywhere.
The push toward programming both CPUs and GPUs is broad. Intel has been talking up a storm with its tools, evangelizing both traditional symmetric multiprocessing across multicore CPUs as well as GPU-enhanced computing. AMD is now jumping into the fray, as it begins evangelizing its forthcoming Fusion APU, a so-called accelerated programming unit that combines its traditional x86/x64 CPUs with graphics cores that it acquired along with ATI in 2006.
There are some compute-intensive tasks that GPUs are better suited for than traditional CPUs, and they’re not just related to displaying high-def video and playing games. As GPU development technology advances, we expect to see rich opportunities emerge for the enterprise. This is an exciting and competitive area of hardware and software development. Maybe some day it’ll even make it into the data center.