Software Development

Apache vs. Oracle: A new front in the Java war

Oracle has already picked a fight with Google over Java implementations, and it seems to have its sights set on Apache now. Both seem ready and willing to fight back. What is Oracle's endgame?

Oracle has already declared war on Google over Java. Between that and the way Oracle pulled Solaris sources from current distribution, the open source community at large is developing a definite dislike for Oracle. Already, MySQL has been forked, producing MariaDB; OpenOffice.org has been forked, producing LibreOffice; and Solaris has been forked, producing IllumOS. While the usual assumption is that a clean-room implementation -- recreating software from scratch, with completely new source code -- is legally safer than forking, the case of Oracle suing Google over the Dalvik VM, with patents it recently acquired with Sun as its weapon, casts the Java situation in a very different light.

A majority of the code that comprises the core Java software ecosystem is released under an open source license. The development of the Java specification is a somewhat open process, operating under the aegis of the Java Community Process, or JCP. The Java Specification Participation Agreement provides for Java Technology Compatibility Kit (or TCK) use by JCP members, including the Apache Software Foundation, which develops a copyfree licensed implementation of Java in accordance with the JCP and the JSPA, called Apache Harmony.

For future development of Java technologies, however, Oracle has started trying to rein in the openness of these technologies. Specifically, Oracle aims to deny Java implementors like the ASF (Apache Software Foundation) any free/open source software licensed access to the TCK, which the ASF is concerned would prevent it from continuing to offer Harmony under the Apache license. The key restriction is a Field of Use restriction, which in this case restricts use on mobile platforms -- exactly the field of use in which Google's Dalvik is being deployed.

It looks like Oracle's plan is to restrict deployments of Java implementations in certain markets, particularly on mobile platforms, so that it can monetize its own Java offering in those markets without any competition. Rather than leave open source software well enough alone, Oracle seeks to effectively eliminate any competition so it can dominate the market without effort.

The Apache Software Foundation's representatives are obviously not happy with this state of affairs, and they have stated that pulling out of the JCP may be the only reasonable alternative left to them if the Field-of-use (FOU) restrictions are actually imposed. Because the ASF wants to stay involved, it has announced its intention to vote against Oracle's FOU restrictions. ASF co-founder Jim Jagielski added:

Should Java 7 get voted down, then it means there is still some fight in that, that the JCP process is still a community process, in which case we'll stick with it and keep the good fighting going.

It is clear that if Oracle is willing to make a fight of it, the Apache Software Foundation will fight right back as long as there is anything left to fight. The open source community in general is sure to side with Apache on this, and to refuse to continue supporting Oracle's new Java regime substantially. There may be some fighting within the community over it, thanks to the strong support the Java language under Sun's stewardship has built up amongst developers over the years. In the end, though, it is difficult to see how that kind of support for Java in open source communities could survive long with Oracle's scorched earth approach to competition in the mobile devices market.

Oracle has expanded its war on third-party Java from one front to two, at least, so far. It seems likely to spread even further, whether Oracle consciously picks new targets or not at this point. I am not holding my breath hoping that Oracle will stop picking new targets, either, though.

About

Chad Perrin is an IT consultant, developer, and freelance professional writer. He holds both Microsoft and CompTIA certifications and is a graduate of two IT industry trade schools.

25 comments
Kim SJ
Kim SJ

I'd suggest Python as the biggest winner, but the different philosophy of Guido's approach may put off some of the corporate types.

alfielee
alfielee

Nah, not SCO versus IBM this time. It's Microsoft vs Open Source with a bunch of NAZI's doing it under the veil of Oracle. So Larry, you're Hitler & perhaps someone will give you some cyanide...

i.hilliard
i.hilliard

Oracle seems to be hell-bent on destroying Java. There can be only one winner out of this; Microsoft. Given the timing of the original case against Google at about the same time as the announcement of Windows Mobile 7, I do wonder if Microsoft is financing the demolition of Java. Ian

DaemonSlayer
DaemonSlayer

Has Oracle become another SCO? Patent trolling on code that has already been green-lighted by the previous owners (Sun) of such patents? Are they just intimidation on this or do they really have the power to crush the forks, all of which were based on code released under a previous license to the one they wish to impose? Sooooo many questions not fully addressd.

zzrbell
zzrbell

Oracle very clearly wants to gut open source development. The quest for dollars obviously is far greater than any sense of community engagement or innovation. All I can suggest is that at every opportunity we support open source efforts and shun companies who have no moral conscious. Did you hear that Apple?

apotheon
apotheon

1. Please leave Hitler out of it. The Nazi meme is hackneyed, and Godwin does not approve. 2. While I'm sure some Microsoft executives are watching this with glee, I'm not so sure Microsoft has any real involvement in this. Oracle is its own beast, and "hates" Microsoft almost as much as it hates the idea of having to give away Java as open source software.

Neon Samurai
Neon Samurai

I don't think Microsoft is the only entity that could benefit from Java going away.

alfielee
alfielee

Perhaps the everglades. Go sink somewhere...

alfielee
alfielee

...conscience. Viewpoints don't work when using the wrong word...

seanferd
seanferd

I have to agree. edit: What was I saying earlier today? Oh: Oracle is still a much better punching bag for those with the need.

i.hilliard
i.hilliard

OK, Java is the same as Java, but Flash, Air, Silverlight, Perl & Ruby are not used for the same types of problems. Microsoft has pushed C# as being the better Java than Java. OTOH, Bill Gates pushed NT as being the better Unix than Unix. Java, Air, Silverlight, Flash, Perl, Ruby, Python I don't think Microsoft is the only entity that could benefit from Java going away.

apotheon
apotheon

What about: 1. Java Programmers. Oh, sure, your average Java daycoder would have problems with it, but that's mostly because these idiots are unwilling or unable to learn a new language and move their careers forward. They're the new assembly line workers. More perspicacious code hackers would love to be able to get out of the Java ghetto in their professional lives. 2. Users. Some users would be upset at first, given they're probably using some Java software that would have to be replaced, but overall the JVM is currently a severe pain in the fourth point of contact to install and keep updated, and Java's fabled portability is just that; a fable.

Neon Samurai
Neon Samurai

I was primarily thinking in terms of compile-at-run langauges like Java. You'll need the Flash engine to run Flash code. You'll need the Air engine to run Air code. You need the Silverlight engine also. Ruby again needs the interpreter installed before it'll run anything. If Java falls over, there are other cross platform interpreter run languages. I'm not familiar with them all enough to know the details of what each does better though.

apotheon
apotheon

That's true, in technical terms. Of course, it's going to end up being the half-assed licensing (including both the "open source" licensing of the JVM and the non-existent patent licensing of the technology) that will kill Java, if the language dies -- and that means it's the JVM itself that is really at risk. The language is just collateral damage. In fact, it's possible the language might live on if someone reimplements it using a different technological foundation, even as the JVM is essentially killed off by Oracle's antics. Only the crappier part of the package would survive.

Sterling chip Camden
Sterling chip Camden

how it sorts out what Java did tolerably well (the JVM) from what it did half-assed (Java syntax).

apotheon
apotheon

It's true, y'know. I'm sure the urge to get out of the Java ghetto, even among people who lie to themselves about liking Java, is a big part of the reason so many new (and better) languages are springing up on the JVM -- stuff like Groovy, Scala, and Clojure.

alfielee
alfielee

...is only exceeded by your verbosity...

Sterling chip Camden
Sterling chip Camden

... and even her old guards and flying monkeys will become grateful for her death.

nwallette
nwallette

With the popularity of Java, I thought the world had gone mad! I took one look at Java syntax a long while ago and said "I don't wanna play anymore."

Sterling chip Camden
Sterling chip Camden

where would we be without your acerbic inscrutability to brighten our day?