by Janice J. Heiss
Eclipse's Mike Milinkovich discusses OpenJDK, the JCP, patents, and recent developments at Eclipse.
Mike Milinkovich, executive director of the Eclipse Foundation, has a long and diverse history with Java that enables him to grasp a variety of perspectives. Created in January 2004 as an independent not-for-profit corporation to foster a vendor-neutral, open, and transparent Eclipse community, Eclipse Foundation initially gained fame as a Java IDE and plug-in–based platform for building software development tools. The Eclipse community now has more than 200 projects, 190 organizational members, and a wealth of interesting technologies that extend far beyond Eclipse's beginnings as a Java IDE. The Eclipse Foundation's mandate is to ensure that their projects are ready for commercial adoption. As such, their governance model, development process, and IP management are tailored to make sure that consumers and adopters of Eclipse technologies have a say in the Eclipse Foundation.
Milinkovich first worked with Java as IBM's VisualAge for Java strategy manager in 1997. In 1999, he left IBM to work at Object People, which in addition to having a strong involvement in Java training and consulting, had a persistence product, TopLink, that was acquired by WebGain, a tools company, in 2000. Then in 2002, TopLink was acquired by Oracle, where Milinkovich served as vice president of Oracle Application Server Technical Services. In 2004, he assumed his present position where, among his many duties, he represents the Eclipse Foundation on the Executive Committee of the JCP.
Oracle Technology Network: How long have you been involved with Java and the JCP?
Milinkovich: I got involved with Java in 1998 when I was IBM's VisualAge for Java strategy manager. In 1999, I left IBM to work at Object People, which was very involved in Java training and consulting. They had a product that Object People called TopLink, which was an object-to-relational persistence product. Object People was acquired by WebGain in 2000. So I went to work at WebGain, which was a Java tools company that was acquired by Oracle in 2002. So I've been involved in Java companies and Java technologies for quite a few years now. My involvement with the JCP has been as the Eclipse representative on the Executive Committee for nearly six years now.
Oracle Technology Network: What advice would you give to organizations that might be considering participating in OpenJDK?
Milinkovich: First and foremost, OpenJDK wants to grow up to be a real open source community, but it still has some infrastructure that needs to be put into place. So, as in all open source organizations or communities, the most important thing to do is to get involved, to just jump in. Corporations sometimes overthink their involvement in open source communities—there's absolutely no substitute for just rolling up your sleeves, jumping in, and getting involved. It's important to put some good people on projects and get code written because, in the end, all open source communities live or die on the quality of the code that's coming in.
So jump in, get involved, start contributing, and take it from there.
Oracle Technology Network: What is the overall mandate of the Eclipse Foundation?
Milinkovich: The Eclipse Foundation is an open source community with a particular emphasis on ensuring that our projects are ready for commercial adoption. So our governance model, our development process, and our IP management are all tailored to ensure that consumers and adopters of Eclipse projects and technologies have a say in the Eclipse Foundation and have the highest degree of confidence that they can use Eclipse technologies and embed them in their products.
Historically, Eclipse became famous as a Java IDE and then as a plug-in–based platform for building software development tools. But the Eclipse community now has more than 200 projects, and there's a wealth of interesting technologies that go far beyond our beginnings as a Java IDE.
Oracle Technology Network: What's happening at the Eclipse Foundation that Java developers should know about?
Milinkovich: Eclipse, within the Java community, is best known for its Java IDE. I want Java developers to know that in June of 2011 we shipped our Juno release, which moved to our Eclipse 4 platform. So we've just launched our next major platform version for Eclipse.
And there will be a lot of changes coming because what we did in the Eclipse 4 platform was to re-architect our basic frameworks to make them more flexible. So stay tuned—there will be lots of cool stuff coming on the Eclipse 4 platform. Also, when we shipped Juno, one of the things that got added into the Java IDE was a new project called Code Recommenders, which you can think of as "code completion on steroids." It's a much more intelligent way of trying to figure out what the Java developer is doing and offering choices that will make it easier for developers to move quickly through their Java development.
|“When you're doing code completion using Code Recommenders, it's giving you choices based on statistical samples—it has analyzed patterns in very large code repositories and is making those available to you.” |
So when you're doing code completion using Code Recommenders, it's giving you choices based on statistical samples—it has analyzed patterns in some very large code repositories and is making those available to you.
Eclipse is also the leading platform for using multiple languages, and more and more developers are developing in more than one language. By using Eclipse, they can get IDEs for virtually every known programming language.
On the runtime side, Eclipse has been very involved in OSGi and modularity as the underpinning for our plug-in model in the IDE. In the last couple of years, we've seen more and more interest in using OSGi as a runtime. We also have the Virgo project, which is effectively an open source, lightweight Java application server that's based on OSGi, which developers can use to very quickly build and deploy their next application.
Oracle Technology Network: You are on record as saying that software patents are "basically a bad idea" and that the "implementation of software patents is bogus." Why do you believe this? And what role does the JCP play?
Milinkovich: I'll answer the last question first: What role does the JCP have to play in this? Almost none, because any one organization and any one company will be a relatively minor player in this. The JCP has a patent regime and the Executive Committee is thinking about what the future patent regime should be for the JCP. The JCP has to deal with the reality of how software patents operate today, but I don't think it has much of a role to play in changing this.
|“I suggest we go back to the original patent regime, which was that algorithms cannot be patented.” |
As to why I think software patents are a bad idea and the implementation is bogus, I encourage you to go to the USPTO (US Patent Office) searchable database, search for my name, and read the completely bogus patent that has my name attached to it. It is, frankly, an example of the trivial investments in technology that are being patented. The USPTO has gotten itself into a situation where it has—for quite a few years now—been approving software patents that don't really move the state of the art forward. They're simply reflections of companies protecting their turf and, in so many cases, using the patents as a weapon down the road.
I once thought that it would be possible to fix this by dramatically raising the bar in terms of the amount of innovation and the quality of software patents before they were approved. But that seems very unlikely to happen.
So I suggest we go back to the original patent regime, which was that algorithms cannot be patented. We would do away with software patents altogether, and let companies compete in the marketplace based on the innovation in their products, not based on false barriers to entry being erected by software patents.
Janice J. Heiss is the Java acquisitions editor at Oracle and a technology editor at Java Magazine.