Home > java, linux, tablets > The case for a new Apache/Google “Java”

The case for a new Apache/Google “Java”

I believe it is high-time that Apache and Google created a new, Java-like programming language, platform and VM which can easily accomodate the ports of the Java base libraries, all of the Apache developed Java libraries/applications and the typical, popular open-source libraries like Hibernate.

Java should start off on the same road as LibreOffice under a different name.

The new “Java” language should be sufficiently close to Java that a one-to-one source converter tool can be written for trivial porting of Java libraries. Apache Harmony is a good basis for this but Snoracle patents will have to be worked around.

The platform should be completely modular and compatible with the packaging systems of Linuxes (apt/yum) and other repository based packaging systems, so that self-containing application packaging can be avoided (this is the case now with most Java applications).

While the language should be backward-compatible with Java, it should incorporate most of the new language advancements of .Net, Python and Ruby. Of course only those which don’t kill basic Java language features like strong-typing.

The new “Java” platform should have an Apache-led, democratic governing body. Similar to the JCP but without veto rights for anyone.

When the platform matures to 1.0 (if Google backs the project with enough cash, it could be reached quickly, since Harmony is likely a good starting point), Apache and Google should publicly announce that they stop active Java development, freeze all of their Java-based projects until they get ported to the new platform. Google should deprecate Java in the App Engine and thus forcibly move developers to the “new” Java. This migration should be easy/trivial.

This would of course practically kill Java but the new “Java” platform would become much stronger than Java has ever been because of the following:

  • Since it would be distributed under the Apache license, it would be very commercial-friendly and appealing to companies. We can expect every sane company moving to the new platform in the medium term especially because:
    • This platform would be truly open and the stewards (Apache/Google and possibly others) respected and trusted (esp. Apache)
    • Nobody actually believes that Oracle will be a good steward of Java.
    • Oracle will want to squeeze every last penny of Java (will hurt Java developers/users) without actual development of the platform. Just like they did with Oracle Forms and Reports.
  • Due to the open-source nature, packaging and modularity of the new platform, all Linuxes would happily include the new platform and this new “Java” would soon become the primary  development language of Linux projects, completely ousting Mono/.NET on the way. Those Linux projects would run on Windows as well so they would strengthen the migration path from Windows to Linux.
  • Strong Linux support would bring a substantial developer base to the platform (the open-source developer crowd).
  • Google would officially switch to this platform and the success of Android would help its rise considerably.
  • Android would bring a substantial developer base (huge number of Android developers)
  • Running Android applications on desktops would become possible which doesn’t make sense now but it will soon, since a lot of Android apps will be soon rewritten for tablets and thus become eligible for desktop use.
  • The new language should become a primary citizen on the LibreOffice platform. Possibly a basis for every new, larger development in LibreOffice.
  • When projects like Maven and Ant get frozen on the old Java platform, developer migration will ensue en-mass to the new “Java”.

The new platform would quickly dominate the server-side, where Java is the strongest currently and Linux is on the rise. It would also quickly dominate the mobile space due to Android.

It is possible that the new platform would also become successful on the desktop, at least in the enterprise space where a lot of Java desktop applications are deployed. The Linux desktop would be the first, possibly it would be followed by the Windows desktop.

Java in its current form, under the stewardship of Oracle, is destined to slow decline. Only a radical renewal like this could put it firmly back to the map of relevancy.

Categories: java, linux, tablets
  1. Shane Kerns
    December 12, 2010 at 03:20

    Google’s GO language can be collaborated upon. Its a hybrid of Python, C and C++. In terms to speed it quite nearly matches the speed of C++. Try it out. You won’t look back. Apache and Google need to collaborate on GO!!!

  2. Miraceti
    December 12, 2010 at 06:54

    It sounds like an excellent idea indeed !!

  3. evanx
    December 12, 2010 at 07:07

    well Microsoft cloned Java as .NET and then enhanced as they wished, as they went – so maybe Android should switch to .NET? 😉

    The issue isn’t so much about the libraries as the VM and the IDEs. Oracle is suing Android over VM patents, as well as copyright (Apache libraries).

    A truely free and opensource Java along the lines of Android Dalvik VM and Apache libraries would be great, where one can leverage existing Java IDEs, libraries, etc – this is probably best achieved by Google paying off Oracle to settle the dispute, and that will happen as some stage, to protect Android.

    • December 12, 2010 at 11:09

      Yes, using existing Java IDEs would be nice since it is not likely that either Eclipse (IBM) or Netbeans (Oracle) would be ported to the new platform.

  4. December 12, 2010 at 08:26

    Just use Python.

    • December 12, 2010 at 10:54

      1) As far as I know Python doesn’t have a truly cross-platform desktop GUI like Java Swing. It has SWT-like solutions (native libraries). This is absolutely required for enterprise grade use (tons of Swing apps deployed in enterprises). The new platform should actually run a 1-1 port of Swing.

      2) I don’t know if Java and Python are sufficiently similar to create a one-to-one porting tool, which is absolutely required for quick and efficient migration of current Java libraries and applications to the new platform.

  5. Santa Claus
    December 12, 2010 at 13:30

    I suggest Google buys Oracle and open sources all the code, the whole world will benefit.

  6. December 13, 2010 at 10:17

    evanx: Oracle is suing Android over VM patents, as well as copyright (Apache libraries).

    This is false. Do try to understand the difference between code written at Apache, and code written by someone else, but released under Apache’s *License*.

  7. akempo
    December 13, 2010 at 14:06

    Port Swing?! The poor AWT and overly complex Swing are why Java never took off client side to begin with. If you’re going to recreate the language, in essence, re-work the GUI classes entirely and create something usable.
    And yes, until the issue of a mature IDE was addressed, almost no one would migrate to it. I sure wouldn’t.

  8. Kenny Strawn
    December 14, 2010 at 02:15

    What about Vala (http://live.gnome.org/Vala)? Not only is it not patent-encumbered (it’s in fact GPL and a key part of the GNOME project), but it also has many of the same powerful features that Java and C# have and also compiles directly to C and then to native code. This would mean:

    * Faster than Java; win
    * Freer than Java; win
    * As powerful and full-featured as Java; win

    I would think this would be a very positive way to go. This would also be positive in a sense that Android would have to be GPL which would mean that handset manufacturers would have to open up all their code. This therefore would actually be freer than it is currently.

  9. Kenny Strawn
    December 14, 2010 at 02:17

    Sorry, here’s the real link to Vala:


    Apparently the URL renderer saw the right parenthesis and question mark as part of the URL.

  10. HanderClander
    December 14, 2010 at 15:33

    “I suggest Google buys Oracle and open sources all the code, the whole world will benefit.”

    Wow! Cool sugestion.


  11. Jonas B.
    March 18, 2011 at 18:32

    Free Java platforms already exist and are pretty complete, Apache Harmony only being the prime example of this. Sun moved desktop Java to free license only recently in order to kill the free java implementations which at the time finally had caught up to Sun Java feature-wise.

    So this is actually much closer to reality than many think. All that’s needed is a sufficiently pissed off Apache Foundation, which could then pick up their old effort with Red Hat (not Google).

  1. December 13, 2010 at 09:49

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: