The Rise of Open Source Java

Last year at OScon, I gave a presentation entitled What Book Sales Tell Us About the State of the Tech Industry. One of the conclusions I drew was that Java was in decline,
as its share of total programming language book sales had dropped by
five percentage points in the twelve months ending June 2004. Well, we
just re-ran those numbers, and saw a startling reversal.” [Tim]

I think the increase has
nothing to do with Open Source and everything to do with the Desktop.
Java was always friendly with the Open Source culture, I think it was
just a lucky moment at the beginnings when the Apache organization got
involved with it, today it’s just natural to consider making
your Java project public and Open Source and Apache and BSD licensing
are just as natural to any Java developer as the language itself,
nothing has changed in this aspect this year, things go on just as they
did in the past years.

The big problem with Java was that it was cornered server side, no
wander with the big troubles Swing had (performance and platform
inconsistencies), but then IBM bought OTI and their SWT project,
started building Eclipse and making it public. Java started to have an
honorable path to Desktop side.

So what happened this year? SWT
and RCP got mature enough to be actually usable (Azureus, a SWT based
Java bit torrent client is the number 1 downloaded application on
SourceForge to prove that). Sun probably realized that they might loose
any chance to keep Swing in the picture so they really started making
it work. Java 1.5 is a huge step (maybe the biggest since 1.1) forward
for Java, huge performance increases and a solid vision about GUI apps.
Right now Java is a serious platform for GUI applications and with two
great toolkits competing against each other with two great user bases
trying to prove that their toolkit and platform (RCP and NetBeans) is
best for development and the end user.

Yes I think 2005 is the year in
which Java got a new start, it’s desktop side, it’s
a fact and it’s unstoppable (the language itself is popular,
tons of libraries covering every aspect, most of them with BSD or
Apache licenses, great enterprise and server side support, still on the
cutting edge of the emerging technologies and for sure right there,
multiplatform when multiplatform really starts to matter).