Wednesday, 20 October 2010

Stacking the JCP election

The JCP elections are vital to the future of Java. Yet I believe there is evidence of Oracle manipulation.

JCP elections 2010

The elections are to the Executive Committee of the JCP, the body that is tasked with deciding on standards in the Java world. There are votes to both the ME and the SE (including EE) committees. I'll be focussing exclusively on the SE-EE vote.

Votes are held every year to the JCP Executive Committee. Elected members have terms that run for 3 years, offset so that 5 members are up for election each year.

There are two kinds of election. This year, 3 seats are chosen by Oracle - called the ratified seats. The remaining 2 seats, called the elected seats, are open to any member of the JCP, including individuals.

Ratified seats

The first two (Apache and Red Hat) are simply being re-nominated for the ratified seats. However, Hologic replaces the well known concurrency expert Doug Lea in the third spot. (3 years ago, Nortel was the third ratified seat, however they dropped out of the JCP. Doug Lea was ratified 1 year ago on a special 1 year term)

The first point is the departure of Doug Lea. This could be a deliberate "removal" on the part of Oracle, or it could be a desire by Doug Lea to exit the politics of the JCP. There is no evidence on this one way or another - my gut tells me it was Doug Lea's choice.

The second point is that I, and many others have no idea who Holgic is and why they are a good choice to represent the Java community (the 'C' in JCP!).

A simple Google search reveals that Hologic and Oracle are best buddies.

Holgic and Oracle have put out joint press releases and videos about their work together. Hologic have even won an awards (nominated by Oracle) for their integration of Oracle products. This is a clear sign in corporate world of a close working relationship, and often of a discount or special terms given to get the good publicity. Hologic's statement on the nomination is:

Hologic is looking forward to the opportunity to serve on the JCP. As Hologic has grown as a company, it has been continuously reminded just how important technology, and specifically Java-based technologies, is to the company?s success. What was once a fragmented IT department and isolated business units, Hologic has now consolidated all of its varied systems into a core set of Java-based technologies. Manufacturing, sales, marketing, finance, operations, and IT now all integrate though systems built on or extended from Java platforms. Corporate information and marketing are spread within and outside the company through Java-based Web applications.
Scott Shapiro, a certified Java developer, has worked for Hologic, Inc. for three years and as a software developer and architect for twelve years. At Hologic, Scott works with enterprise and custom systems built on Java platforms while designing and building interfaces and extensions to these systems through Web services and applications. Scott has worked to streamline data and business processes through integration among Oracle, Seibel, Websphere, and custom applications. Oracle E-Business Suite serves as Hologic?s ERP, providing core business functionality and organizational data. Scott?s application team builds the necessary integration points between Oracle and all other Hologic systems. Scott recognizes the underlying power and flexibility of Java in Hologic?s core technologies. (My highlights)

So, Hologic uses Oracle E-Business suite (ERP) extensively. The reference to "consolidated all of its varied system" on "systems built on or extended from Java platforms" would appear to simply be a reference to the ERP suite.

Do Holigic deserve to decide the future of Java because they use an Oracle product?

Perhaps I'm being unkind. Perhaps they have a large investment in Java code. But there is clear evidence that they build everything around the Oracle E-Business suite product. That does not sound to me like an innovative or representative member of the Java community. (Surely, Google, Eclipse or Azul would have been more representative choices for the ratified seat?)

But remember that ratified seats are still voted on by JCP members!!!

To be elected to the JCP Executive Committee, Hologic must receive approval of 50% of the votes cast. (If Hologic do not get 50% of the vote, then Oracle nominates another JCP member, with another vote.)

I am regrettably forced to encourage JCP members with a vote to vote against Hologic.

For the record, I would argue that Apache and Red Hat make good, positive and public contributions to the Java community and are worthy of election to a ratified seat. (Although I do believe that the "ratified seat" concept is highly dubious in the first place.) As previously stated, I believe that Red Hat will vote for Java SE 7 and against the position of Apache (that Sun/Oracle has broken legal agreements).

Elected seats

With 7 candidates for 2 positions, it will be an interesting vote! The winners of the election 3 years ago were Google (32.7%) and Eclipse (29.5%).

Azul are well known for their work on high performance Java. They are currently moving from hardware to software based solutions and intend to contribute to the OpenJDK. Azul is a licensee of Java SE, so pays Oracle, like IBM, to release their own compatible version of Java SE. They are clearly an innovator in the Java community. The reference to OpenJDK in their position statement is, to me, a sign that they support the strategy of a core OpenJDK based Java from a single provider and are likely to vote for Java SE 7.

Eclipse are the well-known group founded around the Eclipse IDE. Their position statement indicates their view that governance of the JCP is broken, that Java has lost momentum and that OSGI is important. They were founded by IBM, who remains a key supporter. They are clearly an innovator in the Java community. They have indicated their position on the Java SE 7 and Java SE 8 votes clearly, and will vote for Java SE 7.

Google are the well-known internet company. They are currently on the receiving end of a lawsuit from Oracle. They are clearly an innovator in the Java community. Previously they have strongly supported Apache, yet they are still (despite everything) strong Java supporters. It is unclear how they will vote on Java SE 7, however corporately they are currently not motivated to assist Oracle.

Liferay produce a leading open source Java based portal. Their focus is on Java EE in the areas of interoperability, open source integration and web UI simplification. They are clearly an innovator in the Java EE community, however they say nothing in the statement about SE. It is unclear how they will vote on Java SE 7.

Bob Lee is well known - "crazybob" - and a frequent conference speaker. He used to work at Google, and is now Lead Engineer at Square. His JCP contributions are legendary, as the spec lead for the fastest ever JSR on dependency injection.

Fabio Haider is an industry professional of 18 years experience. Beyond his statement, I haven't found any more information.

Sam Pullara is CTO at Bagcheck, and former Chief Technologist at Yahoo. His statement indicates that he is on the expert group of several JSRs, and Google returns numerous contributions to open source. However, that isn't the whole story...

This is the LinkedIn profile of Sam Pullara.
This is the LinkedIn profile of Adam Messinger - VP development Oracle, responsible for Java SE.
If you look at their history, Sam and Adam founded Gauntlet Systems Corporation, a startup in continuous integration. They are also connected via Adam's very select choice of twitter followers (Adam approves his twitter followers, and Sam is one of just 22).

Sam Pullara looks to be extremely close to Adam Messinger from Oracle, such that we must question his independence.

Obviously, it is unfair to flat out state that Sam is in the vote by Adam/Oracle's request. However, frankly it gives all the appearance of it.

Update 18:57 UTC:
In a comment, Sam Pullara has stated "I can state categorically that I did not speak to Adam about the JCP elections and that I added myself to the list because I love Java and have been doing JSR work for 10 years. I can assure everyone that I am only interested in seeing Java be successful". Judged on his own merits, Sam is a good candidate for the JCP, however in this most political of elections I stand by my decision to look beyond the headline, and I'm afraid that I personally will not be voting for him. I have struck out my recommendation to others not to vote for Sam however - readers must make their own choice on this one (I'm sticking by my encouragement to vote against Hologic).

I am regrettably forced to encourage JCP members with a vote to not vote for Sam Pullara.

I think I know who I will be voting for in the election, but I'm not publishing my choices at this point. I am willing to say that I believe that a new individual should be elected to replace Doug Lea, to keep the balance between companies and individuals. As such, I suspect bright readers will be able to work out my choices!

Summary

Politics is sometimes a dirty game. And the inclusion of Hologic and Sam Pullara doesn't give a great appearance. As such, I choose to vote against them, and encourage others to do the same.

Maybe one day, there will be a way to represent the Java community in a fair and respectable manner. I don't think that day was today.

Not that it matters, but slightly ironic that Holistic's website seems to run .NET behind their Nginx proxy server. (index.asp works, while *.php and *.jsp does not). According to NetCraft they changed from PHP to .NET sometime between 2002-2004 - not exactly a hardcore Java shop.

In other words, I'd imagine there are somewhat more involved/appropriate contenders to such an important position. Disappointed in Oracle... again.

Yesterday was the first time I heard about Hologic, so I won't comment on them.

I've know Sam for a long time. He has been involved in Java for many years, is very smart, and his credentials are really strong. I don't think you can just look at his list of previous or current associations and infer anything about him. In this valley, and in this industry, it is very hard to find good guys that don't have relationships, specially with a large company like Oracle. Just go through the rest of the list; of the top of my head, half of them had/have relationships with Sun or Oracle.

(Disclaimer, I worked for Sun and now work for Oracle. Most of my work contributions are at http://blogs.sun.com/theaquarium)

Thanks Eduardo. I can state categorically that I did not speak to Adam about the JCP elections and that I added myself to the list because I love Java and have been doing JSR work for 10 years. I can assure everyone that I am only interested in seeing Java be successful.

Sam, I've updated the blog post to reference your comment, and changed the recommendation. Given Bob Lee's statement (http://blog.crazybob.org/2010/10/long-live-java.html) and my agreemnet that we need an individual, I can confirm that I will be voting for Bob Lee.

I agree that a strong individual for each of the ECs (EE/SE and ME) is important. But it is also very important that independent companies with heavy investments in Java and the future of Java are a must have.

John RizzoAplix Corp (2010 JCP member of the year, current JCP ME EC member, spec lead for MIDP2 & 3 , and running for another ME EC term)

Thanks for the breakdown. I used to work for a health care company which had agreements with Hologic and also competed in some spaces. I have no idea why they are being nominated, but DID NOT get my vote.

It makes better sense to pick a ratified seat from a host of well known companies, or individuals.

It is rare that I respond to posts, but in this case I wanted to clear up some misconceptions.

On the topic of Sam, it is true that he and I are good friends having worked together in the past and occasionally socialize even now. I was however pleasantly surprised, but surprised nevertheless, when I heard from the PMO, that he was a nominee. While we hadn't previously discussed his running, I do think he would be an excellent candidate due to his sharp technical mind, strong opinions, and love of Java. He shouldn't be disqualified due to his association with me any more than "Crazy" Bob Lee should be disqualified due to his association with Josh Bloch, Google, and Android.

On the topic of Hologic, our feeling is that standards folks, technologists, and technology vendors are already well represented and there is room for some new opinions at the table. The fact is that a big part of Java's success is driven by thousands of developers at small and mid-size companies like Hologic. These developers, who are working squarely in the Microsoft sweet spot, are on the forefront of our competition with .NET. Hologic has bet their business on Java -- not as a supplier of Java, but as a consumer -- and we think having their perspective on the EC is valuable. They are absolutely representative of a large cross section of the Java community.

Finally, on the topic of "stacking" the board, I believe that our re-nomination of both RedHat and Apache speaks volumes about our interest in having many voices at the table. Similarly I reached out to Josh Bloch of Google to encourage him to renominate himself. While we disagree with Doug Lea's stated reasons for leaving the EC, we absolutely recognize the unique technical contribution he's made over the years. As such, trying to replace him with someone in his own image seemed impossible, so we made the choice to add a new voice and perspective to the EC.

Sam is a fine candidate, but Adam's analogy is deluded: "[Sam] shouldn't be disqualified due to his association with me any more than 'Crazy' Bob Lee should be disqualified due to his association with Josh Bloch, Google, and Android."

Ties to Oracle may hurt a candidate's chances in this race, but I'm proud of my virtuous history with Josh Bloch, Google and Android. Over the past few years, while Sun/Oracle slashed resources, broke contracts, and sullied the JCP to secure short term profits, Google advanced the Java platform more than any other community member with JSR leadership and participation, GWT, Android, Guava, language extensions, OpenJDK and Harmony contributions, public speaking, and more.

I represented Google on the EC for four years as an alternate to Josh Bloch. I started two years before Eclipse and attended the majority of meetings. I represented Google on a half dozen JSRs and led JSR-330. I heavily contributed to several of the language changes going into Java 7/8. All of that combined with my roles as core library lead on Android and a contributor to Harmony gives me a unique perspective on the challenges facing the EC.

I'm in tune with and represent the majority of Java developers, likely moreso than Hologic, Inc. Before Google, I spent five years consulting at small, medium and large businesses that mostly consume Java: AT&T, MasterCard, stock exchanges, startups, etc. I'm not Doug. He represented independent academia well. I'm a pragmatist with lots of real world experience in all parts of the stack. I'll keep Java aimed, competitive, and grounded.

Maybe it's time for people to stop complaining about everything in the way Java is managed by Sun then now Oracle. I'm reading that java is not opened enough for such a long time. And we are in times were people are waiting for the next . NET release, and almost praising Microsoft for an openness which does not exist at all. And waiting for the next Android release, only knowing what google wants them to know about the forthcoming release.

It's time to realize that Java and JCP is not perfect, but that the kind of openness that exist in Java (and not only in JCP, but also in the many OpenJDK mailing lists) is completely absent in its biggest competitors today.

Sorry for the rant, but I'm really tired of this never ending litany of complaints. But as usual, this is possible to complain about everything because there is still some kind of freedom of thought in the Java world. This amount of freedom does not exist everywhere.

Herve, at least .NET allows independent implementations (Mono). While Google delays merging their own contributions to Android, Android itself is completely free. All of the code is Apache-licensed and anyone can do whatever they like with it without asking Google's (or anyone else's) permission. They can deploy it, fork it, patch it, etc. No one will sue them.

Let's be clear. We're talking about the standard Java SE, not the implementation OpenJDK. Java's problem is Sun claimed for years that Java was an open, independently-implementable standard. The community adopted Java and contributed back to it with this understanding. Then, Sun started to worry that the licensing revenue stream for their Java ME VM implementation was at risk and reneged on their promises. They closed Java and prohibited independent implementations. They had their cake and ate it, too. Java wouldn't be as successful as it is today if it weren't an open standard. I certainly wouldn't have contributed. Now, I'm in this awkward position where I have too much invested to just leave. I have to sit around and hope Oracle does the right thing. I blame myself.

Sun/Oracle has special rights in the JCP, and they can get away with a lot, but they can't actually do anything they want. Under section 4.D of the JSPA, if a lead significantly changes licensing terms, as Sun/Oracle has done here, the other experts in the group can withdraw their contributions. In other words, if Sun/Oracle submits Java SE 7 with field-of-use restrictions, any contributions they received purely through Java SE JSRs can be withdrawn. I can't think of any specific examples off the top of my head, but if Sun/Oracle doesn't have other agreements besides the JSPA in place, they'll have to renegotiate licenses for these contributions or remove or replace them.

I love developing with around the Java-ecosystem. But it is a huge pain for me to see the java-section of my rss reader filled with political talk and lawyer speak while at the same I get news about the exciting new stuff MS adds to C# in version 5.

How many years have we waited for JDK7? No we get a watered down version of it, while at the same time resources are being used to undermine the JCP and file lawsuits against its members.

Being around in the java ecosystem for more than 10 years and equally following the way java was handled by SUN and is currently handled by Oracle, i really think that we need influencal individual JCP members like Bob Lee. He has proven in the last couple years that he wants java to be successfull. Of course he is still "surrounded" by Google Engineers but i dont think that he will try to sneak in a google agenda into the whole JCP. At the end he is a engineer who wants to have the best java stack possible.

To the current status of java: I dont think its in the best shape currently. The JDK delays are hughe and the changelog is... lets say it... mediocre. All this with a more competetive development ecosystem ever before. Not only well etablished technologies like Ruby/Rails or PHP (which gets more enterprisey year by year) are trying get market/developer share, also a lot of new technologies like node.js are on the table with the ability to attack java even more.

A lot of us, me included, invested a lot in java in recent years. We are developing products based on java and worked on even more java based customer solutions. All we want is a competitive language and FASTER development cycles. The JCP is still far away from being perfect. A lot of work needs to be done in this space too.

James, thanks for the clarification, that sounds like another argument to vote for him in SE/EE ;-) I checked the Square website and they have a couple of sites. As their HQ is said to be in San Francisco, that would make Bob "Silicon Valley based" if he officially represented them, but being an Individual member that doesn't matter over his actual work location. I mentioned Square/him also to those who are interested in getting better domain support for at least some vertical markets, especially the Money/Time/Date problems still unsolved or only academically discussed by the likes of Fowler or Evans.

@Marc unfortunately his old workplace was a bit more powerful than Bob.Except for the various lawsuits (now I read Google even considers one against the US for choosing MS over them, I know although it was "only" the Austrian government, how that feels, and a strange coincidence, that was also Healthcare, still I try to help that Vertical market ;-) there's hope, Josh and Google continue to do a good job, and some JSRs we hopefully see soon beside SE7 or 8 should give evidence to that.

JCP members from Germany like you were clearly a small minority this year. Although it could mean stiff competition (nobody has a clue who may or may not get ratified then?;-) from Individual and Corporate candidates, I'd rather face that than be the only non-US candidate for SE/EE (assuming nothing happens that would make me feel like Doug over the next year ;-)