Gettings things done in Java – a chat with Eclipse Foundation director, Mike Milinkovich
Mike Milinkovich is the executive director of the Eclipse Foundation. He has been there from the start and has watched as Java has gone from enterprise default, to enterprise headache, to open source saviour. We caught up with him and quizzed him on his past, Eclipse’s future and the business of getting things done in Java…
OSGi is great technology, but many complain that the development model is too complicated. Is anything being done about this?
Glyn Normington at VMware – the lead on the Virgo Project – has been very explicit about the fact that Virgo is targeted precisely at making that simpler by including the Spring Framework, and building OSGi applications automatically, rather than forcing developers to build bundles by hand. There’s some truth to the point that OSGi is complicated, and projects like Virgo bring a lot to make it easier. There’s a lot of investment going on in Eclipse and elsewhere around including the tooling. There are literally hundreds of thousands of developers out there that have built plug-ins for Eclipse. The point I am making is that although hiding complexity is to everyone’s advantage, at the same time I don’t believe it’s so complex as to be impossible. Obviously people have been able to deal with this for a long time and do it successfully.
Part of the reason people find OSGi complicated is that they are mixing up OSGi as a modularity model with the simple fact that if you have an application that has not taken modularity into account during its construction, it can be an onerous task to go back and make it modular. Thinking with modules in mind requires a set of disciplines not everyone is happy with. Modularity does a lot of great things, like making your system more malleable, though, and it saves you money over time.
Dynamic languages like Python and Ruby were supposed to be the future of enterprise development. Now it seems they’re in the trough of disillusionment. Are you seeing a decrease in interest around the non-Java projects in Eclipse?
No, I haven’t noticed that. It doesn’t surprise me because, as long-term denizens of the IT industry, we are aware of the hype cycle and the inevitable ‘it’s not quite the silver bullet I thought it would be’ reaction. Certainly one language I haven’t seen any loss of momentum around is JavaScript. It seems to be continuing to attract attention from developers and vendors. I do think that for JavaScript to have mainstream adoption, it has some work ahead of it. Other than the language specification, there’s not a process to create standards around it. All of the attributes of a language and an infrastructure that is safe for enterprise adoption; JavaScript doesn’t have that yet. What it does have is enormous interest and enormous momentum.
While we’re talking languages supported by Eclipse, remember that C/C++ is still a huge language in terms of adoption and use, and that Eclipse has been extremely successful in C/C++, and the ecosystem around the embedded and mobile environments. Wind River, MontaVista and other embedded vendors are all using Eclipse as the basis for their toolchain.
The Apache Foundation and Oracle/the JCP are openly hostile about the fate of the OpenJDK and of Apache Harmony. Do you think this is a tempest in a teakettle?
I don’t think it’s a tempest in a teakettle. I would characterise it as a manifestation of pent-up demand for innovation because over the last three or four years Sun had not been investing in the platform to the degree to which it should have been. People want to see the platform move ahead, and there hasn’t been a lot of innovation in the platform for a number of years now. I believe Oracle is planning on investing in the platform and moving it forward, and that’s good for Java. The whole thing around Apache… I want to make it clear that I don’t fault the Apache Software Foundation for anything they’re doing or the position they’re taking. It’s obviously been incredibly frustrating for them to go though the changes that have happened over the last few years, and to start up the Harmony project and not get the support must be frustrating.
But there is just no chance Oracle are going to change their position. I’m not sure people actually understand that. I think there are some people that think if they can get enough community support that they’ll changeOracle’s position.
It’s not clear to me that Apache is being pushed aside so much as Apache is choosing to step aside. There’s the Harmony issue, which is one project of many. They’re the ones who took that issue and took it to the next step. Even having read that open letter a couple times, it’s still not clear if they mean they’re going to resign from the Executive Committee, or leave the JCP altogether. I’m not exactly sure. I’m certainly confused.
How goes work on supporting Java 7 in Eclipse?
We hope to start soon. Part of the problem we’ve been having in Eclipse is we’re behind in trying to implement some of these Java 7 features. The reason why is there hasn’t been a JSR up to this point; nothing that would allow us to get to the IP. The mailing list is GPL. Project coin is GPL, which is incompatible with the EPL, so we’ve been waiting. We tried for over a year to get an agreement in place around getting a licence to those conversations to do EPL implementations. Now the JSR is proposed, if the JSR gets created we can get to work.
What’s going on with Eclipse 4?
When we first started working on what we now think of as Eclipse 4, it was in an incubator under the name E4. In the E4 incubator, they worked on a number of different things. Some of the things that worked out pretty well were using the Eclipse Modeling Framework to model the relationships on the workbench so those relationships are no longer hard-coded, so you can manage the relationships between perspectives and views and editors. Something that didn’t work very well was trying to build an implementation of SWT that worked on top of Adobe Flex, and being able to build an Eclipse UI and having it run as a Flash application. For an Eclipse-based thing, it didn’t work all that great because when you compiled all the dependencies, you ended up with an incredibly large file you needed to deliver to the browser.
The point being, E4 was a place to try new ideas and explore different things. In July of this year we shipped the Eclipse 4.0 early access release. That is pulling some of the best ideas from the E4 incubator into the Eclipse 4.0 stream so people could start testing their products and other Eclipse projects on top of it.
What are the coolest projects at Eclipse right now?
A couple of weeks ago we had Virgo and Gemini ship. We’ve been talking for a number of years now around the idea of Eclipse getting more into runtimes. Virgo, Gemini and Jetty; those projects coming to Eclipse in the last 18 months or so has been a watershed moment for Eclipse and runtimes. We’ve now hit critical mass. You can get a pretty cool runtime server from Eclipse. I can’t think of anything I can talk about specifically, but I am already seeing projects and products looking at Virgo as something to move to.
Another project to watch is Egit. We at the Eclipse Foundation are committed to moving our community to Git over a couple of years, but a big part of that is to make sure we have full class tools for Git. Part of the reason CVS has been so resilient for Eclipse is that the CVS tools in Eclipse are very feature-rich. Getting Git tools to the same level has been a major undertaking. Sean Pierce has done an incredible job getting that project to a good state of functionality and maturity incredibly fast.
For those that are into modelling, there are a couple of new projects. Sphinx is a UML-style modelling tool from Eclipse where the code contribution came from companies in Europe. It also has code contributions from BMW and others as well. This is a very industrial-quality modelling tool out of the auto industry.
Are you worried about the Red Hat settlement with Acacia? And what about patent trolls in general?
I’m not worried about the Red Hat ruling. Software patents are basically a bad idea. There might even be an occasional software patent that is a good idea, but the pace at which software has been patented over the last 15 years and the sheer number of patents tells you that the implementation of software patents is bogus. There is no excuse for the software patents that are out there, and most of the patents I have read do not strike me in any way as innovative. We have a problem, and there is no way the open source community can stick its head in the sand and pretend it does not exist. I think Red Hat coming up with a solution is actually important for them. Yes, it would be lovely if we could make the US government agree that software patents should just go away. The companies which are big supporters of the open source community… I’m not sure it’s fair to criticise them for making the best of a bad situation. It’s up to them to make the best of a bad hand. I don’t fault Red Hat for resolving the suit. None of us knows what’s in that agreement, but I would not be surprised if they managed to write the agreement with some protections for their downstream consumers.
It’s an incredibly complex issue. I don’t think it’s going to go away. I don’t think somehow pretending open source is somehow immune from patent trolls or patents in general is a very wise course of action.
















What's your opinion?