Before I finished Who Leads the Java parade, Stephen Chin made the comment “what about IBM?” Since publication, I’ve had several Twitter discussions on the same question, and a smaller number over Apache. It feels very strange to say that IBM isn’t a contender for the leadership of the Java community, particularly given all that they’ve contributed (most notably, Eclipse and Apache Harmony). But I just don’t see either IBM or Apache as potential leaders for the Java community.
IBM has always seemed rather insular to me. They solve their own problems; those are big, large problems. IBM is one of the few organizations that could come up with a “Smarter Planet” initiative and not be laughed out of the room (Google may be the only other). So they’re definitely a very positive force to be taken seriously; they’re doing amazing work putting big data to practical use. But at the same time, they don’t tend to engage, at least in my experience. They work on their own, and with their partners. Somewhat like Google, they’re all the Java community they need.
“They don’t engage? What about Harmony?” That’s a good point. But it’s a point that cuts both ways. Harmony was an important project that could have had a huge role in opening up the Java world. But when Oracle acquired Sun, IBM fairly quickly backed off from Harmony. Don’t misunderstand me; I don’t have any real problem with IBM’s decision here. But if IBM wanted a role in leading the Java community, this was the time to stand up. Dropping support for Harmony is essentially saying that they’re following Oracle’s lead. That is IBM’s prerogative, but it’s also opting out as a potential leader.
There are other ways in which IBM doesn’t engage. I was on the program committee for OSCON Java, and reviewed all of the proposals that were submitted. (As Arlo Guthrie said, “I’m not proud … or tired”). I don’t recall any proposals submitted from IBM. That doesn’t mean there weren’t any, but there certainly weren’t many. (There are a couple of IBMers speaking at OSCON “Classic.”) They are neither a sponsor nor an exhibitor. Again, I’m not complaining, but engagement is engagement, and disengagement is just that.
Is it possible that IBM has decided that their best strategy for Java is to unite with Oracle in pushing OpenJDK forward? Yes, certainly. Is it likely that they felt maintaining an alternative to OpenJDK was just a distraction to real work? Very possibly. And it was unfair of me to characterize IBM as insular. But good as IBM’s decisions may be, they’re not the decisions of a company that wants to exercise Java leadership.
In the long run, does this mean that IBM is any different from VMware? Both companies have large stakes in Java, lots of expertise, lots of tools at their disposal, and lots of competing business interests. Is it possible that they just want to skip the politics and get down to work? Maybe, but I think it’s something different. If the question is getting in front of the parade and leading, IBM has its own parade: using data to solve difficult problems about living on this planet. When you’re almost four times the size of Oracle, 16 times the size of Google, and 50 times the size of VMware, you have to think big. Large as the Java community is, IBM is aiming at a larger value of “big.”
Now, for the Apache Software Foundation (ASF): when writing, I thought seriously about the possibility that the ASF might contend for leadership of the Java community. But they’re just not in the race. That’s not their function. They provide resources and frameworks for open source collaboration, but on the whole, they don’t provide community leadership, technical or otherwise. Hadoop, together with its subprojects and former subprojects, is probably the most important project in the Apache galaxy. But would you call the ASF a leader of the Hadoop community? Clearly not. That role is shared by Cloudera and Yahoo!, and possibly Yahoo!’s new spinoff, HortonWorks. Apache provides resources and licenses, but they aren’t leading the community in any meaningful sense.
Apache walked away from a leadership role when it left the JCP. That was a completely understandable decision, and a decision that I agree was necessary, but a decision with consequences. It’s possible that Apache was hoping to spark a revolt against Oracle’s leadership. I think Apache meant what they said, that the JCP was no longer a process in which they could participate with integrity, and they had no choice but to leave. Any chance of Apache retaining a significant role in the Java community ended when IBM walked away from Apache Harmony. Harmony remains interesting, but it’s very difficult to imagine Harmony thriving without IBM’s support. And with Harmony marginalized, it’s not clear how Apache could exert much influence over the course of Java.
So, why did I ignore IBM and Apache? They’ve both opted out. They had good reasons for doing so, but nevertheless, they’re not in the running. IBM and Apache might be considered dark horses in the race for Java leadership. And given that neither VMWare nor Google seems to want leadership, and Oracle hasn’t demonstrated the “social skills” to exercise leadership, I have to grant that a dark horse may be in as good a position as anyone else.