Java 7 Vote
Stephen Colebourne correctly pointed out in his blog this morning that when the Java 7 JSR is proposed to the JCP Executive Committee, that the Eclipse Foundation will vote “yes”. I think that it would be helpful to explain why that is the case.
First, some history. The Eclipse Foundation has been on the JCP EC for three years. The dispute between Apache and Sun (now Oracle) regarding proposed field-of-use (FOU) restrictions placed on Apache Harmony predates our tenure. At every opportunity during those three years we have supported Apache’s position, including explaining to corporate representatives why this is such a big deal for an open source community. We agree that Apache Harmony should have received an unencumbered TCK license and our votes consistently supported various resolutions on this matter.
However, the time has come to move on.
For over three years now, Java has been stagnating as a language and a platform. As I said a few days ago, they “…have been years of stalemate, lack of innovation and lost opportunities.” At some point this lack of progress becomes an existential question. If Java does not start to progress as a platform, it will die. It has already suffered an enormous loss of momentum.
It is really important to understand that the JCP EC does not have the power to grant Apache a TCK license, only Oracle can do that. If the JCP had the power, Apache would have had their TCK years ago. So at its essence, this is a contract dispute between the Apache Software Foundation and Sun Microsystems (now Oracle). There are only three ways that this intractable dispute can be resolved:
- Oracle caves. Well, we all know that’s not going to happen. Sun did not cave for three years, and Oracle has made it abundantly clear that they’re not going to. If IBM couldn’t find some leverage, I don’t see how the open source communities will.
- Apache sues. Even if Apache had the resources, I am guessing their legal counsel would advise against it. Lawsuits are legal warfare, with all of the potential for unintended consequences and collateral damage that statement implies.
- We move on. Realistically, this is the only option left. As much as continuing the fight appeals to the heart I cannot see how this dispute will ever reach closure. Although I certainly understand the natural inclination to want to continue the struggle against the slings and arrows of corporate behaviour, I just honestly believe that at this point it is beyond reasonableness to do so.
Note that our position is not making any assumptions about the future of Apache Harmony. Hopefully others will step in and carry the project forward. But that is not an argument for continuing the impasse blocking the future of the Java platform.
Therefore, we are going to vote based on the technical merits of Java 7. From our point of view “Plan B” defines the logical next steps for the Java platform. Java 8 is a different story and left for another blog post.
Coming Soon: Eclipse Summit Europe
Eclipse Summit Europe is only a few short weeks away. ESE and EclipseCon (EC2011 call for papers is open!) are definitely the two funnest and busiest weeks of the year for me.
Thanks to the Program Chair, Bernd Kolb of SAP and his hard-working Program Committee, this year’s ESE promises to be the best ever. The keynotes alone are going to be hard to beat. In order of appearance we have:
- Dr. Hendrik Speck (University of Applied Sciences Kaiserslautern) on “Code and Belief“. I saw Dr. Speck speak at an event in Berlin a few months ago and thought his talk was extremely thought provoking.
- Dr. Jeff Norris (NASA) on “Mission-Critical Agility” will reprise his incredible talk from EclipseCon 2010 — one of the best talks I have ever seen.
- Dr. Gunter Dueck (IBM) on “The Industrialization of the Services Sector“. I haven’t had the opportunity to see Dr. Dueck speak before, but I’ve heard from several people that he is excellent as well.
In addition, the main technical program has something in it for every budding Eclipse aficionado. There are five tracks, all of which are offering two full days of great talks: Eclipse 4.0 (e4), Embedded, Modeling, Runtime and Other / New & Noteworthy.
Putting on events and conferences is a large part of what we do at the Eclipse Foundation. They are a ton of work, but are absolutely worth it in every way. Each event provides an opportunity for our worldwide community to come together, meet, talk and maybe have a couple of beers. So register now. I find ESE in particular to be a great community event: great technical content with a relaxed and cool vibe. I really hope to see you there!
Oh, and thanks to all of our sponsors! We literally could not do it without you.
An Unexpected Pleasure
Today’s announcement that IBM is going to join forces and work with Oracle on OpenJDK is good news for Java, and by extension for Eclipse. All of us who live within the Java ecosystem need to recognize that this fundamentally strengthens the platform, enhances the business value of Java and offers the hope of an increased pace of innovation.
Although it will take a while for all of the ramifications and reactions to become clear, at its face the announcement challenges the conventional wisdom that the future of Java is going to be a fractured one. Some recent examples of these expectations can be seen in blog posts like James Governor’s “Java: The Unipolar Moment, On distributed governance for distributed software” and Joseph Ottinger’s “The Future of Java: forking, death, or stasis”. When I read them just a short time ago, I thought they accurately reflected the likeliest outcomes for Java’s sure-to-be fractious future. Now I am much more optimistic that we can get back to innovation.
To me the overarching motivation is obvious. Both IBM and Oracle have a shared interest in assuring their enterprise customers that Java was, is and always will be the safe technology choice that they’ve been selling for the past ten to fifteen years. As much fun and excitement as a further escalation of the “Java Wars” would have been, both companies have a very large vested business interest in combining forces, closing ranks and focusing on reassuring their customers that Java should remain their platform of choice.
This announcement fundamentally alters the equation in at least three important ways.
- The presumption of conflict: Implicit in almost all of the recent writings on the future of Java is the notion that IBM’s interests would lie in direct competition, if not outright conflict with Oracle’s. Many have been assuming that IBM would eventually snap and declare war on Oracle’s Java hegemony, with the battles being fought in places like OSGi, Apache and Eclipse. It is now apparent that is not going to happen. Furthermore, now that IBM is working with Oracle on OpenJDK, we can expect a lot more mutual support within the JCP on driving specifications, especially platform specifications, forward.
- Oracle is focused on reviving the business of Java: In case you hadn’t noticed, Oracle’s stewardship of Java is going to be a significant departure from Sun’s. As Amy Fowler said “…this is a practical company who isn’t suffering from an identity crisis and knows how to make money from software.” A couple of thoughts on the differences: First and foremost Oracle actually has resources to invest in moving Java forward, whereas Sun’s financial weakness prevented forward progress for at least the past three years. Second, Oracle is putting in place the software engineering discipline and process in place to ensure that future releases of Java can happen on a much more reliable and predictable timetable than Sun. Third, Oracle is large enough and confident enough in its execution that it is much more comfortable in striking business deals with its co-opetition such as IBM. It will be darn interesting to see if they are successful in signing up more participants down the road. And finally, there will be less talk about community-driven motivations and more focus on the business.
In my opinion, all but the last of those are unequivocally positive. But Oracle’s current focus on the business at least offers the hope that it may pay community dividends down the road. It is a lot easier for large companies to consider community motivations when they’re profitable and feel that they have momentum on their side. The past couple of years of Java have been years of stalemate, lack of innovation and lost opportunities. Turning that around has to be job one if Oracle is going to see a return on its acquisition.
- This is an inflection point in the Oracle-IBM relationship: If you think back a few years ago, IBM and BEA were two companies who competed fiercely in the Java marketplace, but managed to collaborate on many JCP specifications and in numerous open source projects at places such as Apache and Eclipse. It was a mature industry relationship. Maybe I’ve missed it, but I haven’t seen a similar historical pattern with IBM and Oracle, even after Oracle acquired BEA. This is an important step in the relationship between the two companies, at least in the Java space. Hopefully it is a harbinger of additional collaboration.
The big question is what are going to be the reactions of the other significant players in the Java ecosystem. The actions of Google, SAP and VMware in particular will all be interesting to watch.
Disclaimer: Both IBM and Oracle are Strategic Developer Members of the Eclipse Foundation, with seats on our board of directors. They are first and second place respectively in terms of the number of active committers contributing to Eclipse projects. SAP is also a Strategic Developer Member. Google, VMware are Solutions Members of the Eclipse Foundation.
A Good Day for Java Development
If you are a Java developer, Christmas came early this year.
Today Google announced that they are making many of the key assets that they acquired from Instantiations. Specifically, GWT Designer, CodePro AnalytiX, WindowBuilder Pro and WindowTester Pro are now all available for free from Google. Many thanks to Google for taking this step! I expect that today’s announcement will significantly improve the productivity of millions of Java developers using Eclipse.
This is a big deal for Java developers. These are professional-quality tools from which Instantiations made a very nice business for many years. And free is a great price. I expect to see lots of happy developers using them, and soon. There were certainly many very happy and congratulatory comments on the announcement.
This is also a big deal for Eclipse. These tools provide a great boost to the productivity of developers using the Eclipse platform. The most obvious example is in the area of GUI building. Let’s face it, the “available for free” GUI building story on Eclipse has been painful for a long time. (Just take a look at the commits meter.) Having this suite of tools available for free can only help to increase the value of the Eclipse platform to the community of Java developers. And with support for Swing, SWT and GWT you can use whichever Java-based UI framework that best meets your requirements.
All in all, a great day for Java developers!
Introducing a New and Improved Mylyn
We are announcing today the creation of the Application Lifecycle Tools Top-Level Project, which will retain the well-known Mylyn nickname. From the charter: “Mylyn is an open source collaborative software development project dedicated to providing an extensible, standards-based platform to address a broad range of needs of accessing task and application lifecycle management tools and services using the Eclipse platform.” Also check out Mik Kersten’s blog post on this.
This is important news for the Eclipse community, as it creates a centre of gravity for the application lifecycle tooling projects at Eclipse. Down the road, we hope to see an even more vibrant ecosystem of projects and adopters leveraging Mylyn as their ALM platform.
This is also a great example of a project growing and maturing at Eclipse. Mylyn (nee Mylar) started as Mik Kersten’s PhD thesis project. After the successful completion of his doctorate, Mik brought Mylyn 1.0 to Eclipse as an incubator project, where it was an immediate success with the community. Mylyn has certainly been one of the most popular innovations within the Eclipse tools community over the past several years and continues to be an important differentiator of the Eclipse IDE. After exiting incubation, Mylyn moved to the Technology PMC where it built out its frameworks and APIs, then to the Tools PMC, where it grew to be one of the most active and accessible projects at the Eclipse community. There have been over 900 code contributions to Mylyn by non-committers, with 1/7th of Bugzilla bugs and enhancement requests solved by community contributors. That is an outstanding record of community involvement.
Largely because of its popularity, over the past several years Mylyn has created its own ecosystem of extensions. You can find Mylyn connectors for most bug tracking and SCM environments. Furthermore, it started getting used as an integration point targeted by projects at Eclipse. Mylyn has truly become the de facto ALM integration framework at Eclipse. And in doing so has grown and matured to the point where making its own top-level project is the logical next step. Stay tuned for some further announcements over the next couple of weeks concerning both new and moving projects as part of this restructuring.
Please join me in offering hearty congratulations to project lead Mik Kersten at the Mylyn committers and contributors who made this possible. I look forward to having new participants in this top-level project to continue to innovate and expand Eclipse’s IDE role as the best, most extensible, and most innovative tool platform.