Mike Milinkovich heads the Eclipse Foundation, the industry consortium that maintains the open-source Eclipse application development platform. IBM spun Eclipse out as an independent entity in February 2004, and the organization hired Milinkovich as executive director later that year. Milinkovich, who is based in Ottawa, spoke with Senior Editor Darryl K. Taft about his tenure and the Eclipse Foundations future.
Whats been your biggest challenge to date as executive director of Eclipse?
Balancing. The Eclipse community is unique in that it explicitly marries an open-source project community to an industry-led consortium focused on the profitable use of the technology. It was a brilliant idea that has been the source of most of Eclipses large success. But it does involve a constant balancing act to keep all of the diverse viewpoints within the community working together harmoniously. Luckily, I have both a technical and a business background, so I can at least relate to the viewpoints of all the parties. Translating has been a big part of the job.
By nature, I am not much of a diplomat, so Ive done a lot of learning on the job over the past couple of years.
Now that Eclipse has been wildly successful at the IDE [integrated development environment] level and beyond, what direction is the foundation heading in now?
We view Eclipses success to date as primarily being around a tools integration platform, not solely as a [Java] IDE. The fact that Eclipse is a platform is what drives the growth and success of the ecosystem. I would point out that this places a burden on the projects at Eclipse, as creating a platform is a lot harder than simply writing a tool. But that extra effort is what enables the ecosystem, so its worth it.
Today we are witnessing Eclipse truly hitting its stride as a tools integration platform. We are shipping a lot more language IDEs than just Java, with support at Eclipse for C/C++, PHP, Ruby, Tcl, and even COBOL and FORTRAN. We are shipping tooling platforms for Web and Java EE [Java Platform, Enterprise Edition] applications, SOA [service-oriented architecture], testing and performance, reporting tools, and lots more. Basically, you can find Eclipse-based tooling frameworks to support almost every element of the life cycle.
Starting three years ago when the Rich Client Platform [RCP] shipped as part of Eclipse 3.0, we have seen Eclipse transition from a tools integration platform to also being an application integration platform for the desktop. Eclipse RCP has been very successful, and we expect to see even more growth going forward.
Looking into the future, we see the Eclipse community headed very rapidly into the direction of developing an application integration platform for servers and devices as well as clients. Eclipse is evolving and maturing to become an open development platform that supports run-times, frameworks and tools across devices, clients and servers.
What are some of your favorite projects, and why?
Thats a really hard question to answer because, with so many projects at Eclipse, there is a lot to choose from. Plus, of course, as the executive director, I clearly love all our projects equally. But there are a couple of projects which I think have an attribute or two which are particularly interesting.
Our C/C++ development tools [CDT] project is clearly an Eclipse success story on many fronts. First of all, the adoption of CDT has been enormous. Especially within the embedded development world, it is emerging as the de facto standard for C/C++ IDE.
Secondly, CDT is one of the most diverse, transparent and community-led projects at Eclipse, which is a real testament to Doug Schaefer, the project leader.
Equinox is another great project—it forms the basis for virtually every project at Eclipse, as it focuses on the run-time implementation for Eclipses OSGi [Open Services Gateway initiative]-based plug-in architecture. Some of the most exciting new technologies under development at Eclipse are driven by Equinox. Examples include provisioning and server-side run-times.
Mylyn [formerly Mylar] is exciting because it is so innovative. Developers are constantly seeking ways to increase their productivity, and the task-oriented user interface enhancements that Mylyn provides for the Eclipse workbench is a huge win for Eclipse developers. With Mylyn, the Eclipse IDE is clearly the most productive development environment out there.
And finally, I always like to talk about Higgins, the identity management development framework at Eclipse. I have a personal interest in the protection of privacy and identity in todays Internet world, and what Higgins is developing will hopefully drive many improvements for all of us as consumers and private individuals who interact every day over the Internet. As a person, I find Higgins very exciting. As the executive director of Eclipse, I love the way Higgins is introducing Eclipse technologies to a whole new set of companies, communities and people.
Next Page: Eclipse Foundation head sees a sunny future.
Eclipse Seeks Sunny Future
Any new projects in the works?
There are several recently announced project proposals at Eclipse that I find particularly interesting.
The Rich AJAX Platform [RAP] project is bringing RCP-style plug-in development to the AJAX [Asynchronous JavaScript and XML] world. RAP users will be able to develop browser-deployed AJAX applications in Java, using the Eclipse plug-in architecture, and deploy them to existing Java EE enterprise architectures. For a lot of developers, this is going to be a very attractive solution.
Im also excited about the Eclipse Persistence Services [EPS] and SOA Runtime [SOA RT] projects because theyre so focused on extending the Eclipse development platform into the enterprise server.
The one thing that all three of these projects—RAP, EPS, SOA RT—have in common is that they extend Equinox/OSGi for the enterprise server.
Any new members youre courting?
There has been an interesting development lately at Eclipse with the proposal of two very significant new projects which are actually led by “user” companies as opposed to the more historically typical ISVs. The two that I am thinking about are the Open System Engineering Environment project proposed by Boeing and the Maya enterprise provisioning project proposed by Cisco [Systems]. Were pretty excited about this trend and hope to see increasing involvement in Eclipse projects from outside the ISV community.
How is the process of getting more user involvement in Eclipse going?
Well, two [Boeing and Cisco] do not make a trend, but their contributions are a positive step.
Is the issue of Sun Microsystems joining Eclipse still worth talking about?
Nope. Sun is always welcome to join Eclipse. The decision is theirs to make.
What difference would it make?
None that I can think of. The Eclipse membership already includes every commercially successful player in the Java ecosystem. It would be great to have Sun participating, but I cant see how it would fundamentally change what were doing at Eclipse.
How about Microsoft? They joined the OpenAjax Alliance. Is it conceivable they could become Eclipse members and be part of the AJAX projects in Eclipse?
At this point in time, I could definitely imagine a scenario where Microsoft contributes meaningful resources to one or more Eclipse projects. We have a lot of users in common who care very deeply about interoperability, so there is actual business value in cooperation between Eclipse and Microsoft. Higgins is a great example. Microsoft is very interested in seeing widespread adoption of CardSpace, and, among other things, Higgins provides a complementary implementation which runs on Linux and Mac [OS] as well as Windows. So Higgins actually helps Microsofts business objectives.
As for membership, I dont see that happening any time soon. Institutionally, Microsoft is just not there yet. But I predict that over time Microsoft will realize open source is a business model they can profit from. And when they decide to fully participate in open source, I hope they do it at Eclipse.
What has the RCP wrought? What kinds of successes can you point to?
Were very happy with the growth and success of RCP. In general, ISVs are embracing it for building their desktop applications, as it provides a good choice for cross-platform support and a component architecture for Java. Leading enterprises are adopting it for its component architecture and its ability to support highly productive applications that can run both connected and stand-alone.
Just a few examples include [BEA Systems] Guardian product line for customer support and IBMs recently revamped Lotus product line [Expeditor, Sametime and Notes], Momentum Life for insurance sales management, Swiss Rail for train scheduling, and TIBCO Business Studio business process management product. Thats not a bad sample list, and there are many more.
How big of a deal is OSGi?
OSGi is a very big deal. If youre a Java developer and havent spent any time learning about OSGi, you need to invest some time getting up to speed on what the technology can do for you today and where it is heading in the future. In a nutshell, OSGi provides the unified component architecture that Java has been missing. By “unified,” I mean a single, scalable component architecture that runs in devices, clients and servers as opposed to the current JCP [Java Community Process] standards, which call for quite different component models as developers move from [Java] ME to SE to EE. I believe
OSGi has a very important role to play in the future of Java, especially as the Java Community Process Enterprise Edition expert group defines how OSGi can best complement Java EE.
OSGi is not a panacea, but it is rapidly maturing to become a very important Java technology with its own community, ecosystem and standard-setting processes. The Eclipse plug-in architecture has been based on OSGi since Eclipse 3.0 shipped in 2004, so weve clearly demonstrated that the technology scales.
Will the JCP make a compromise on the JSR-277-versus-291 issue?
Have they? [Java Specification Request 291 is an existing standard defining a spec for OSGi; JSR 277 is a newer spec that defines an OSGi-like Java module system.]
Sun has certainly not compromised to date, and JSR 277 seems to be full steam ahead on defining an inferior standard which ignores eight years of experience from the OSGi community. It is sad testament to Suns inability to embrace technologies not invented or controlled by their own developers. Theyre playing a game of chicken with the Java ecosystem, and I predict a train wreck when Java 7 ships unless they modify the path theyre on.
What do you think of Java 6?
Frankly, it is just not on my radar screen. Were doing so many things besides Java; I just havent invested a lot of time on the topic.
Is IBMs Jazz a potential threat to Eclipse? Would you like for Eclipse to have a role in the open-source component/community around Jazz?
Jazz is an exciting new technology platform being built on top of Eclipse which will hopefully make IBM boatloads of revenue when it is released as a product. From that standpoint, Jazz is one of the most exciting things going on in the commercial ecosystem around Eclipse.
I would love for Eclipse to have a role in any open-source community that IBM may decide to build around Jazz.