Mike Milinkovich: “The JDT team has worked hard on building great Java 9 support for Eclipse Oxygen”
Eclipse Oxygen is here but even though this milestone has been successfully reached, the development continues. We talked to Mike Milinkovich, Executive Director of the Eclipse Foundation about his favorite Eclipse Oxygen features, the upcoming Java 9 support and the future of the classic development environments.
JAXenter: You have been at the helm of the Eclipse Foundation since its inception in 2004. The first Eclipse release train started in 2006 with Callisto, where 10 projects adjusted their release schedules (or even earlier in 2004 resp. Eclipse 3.0). In 2017, we have 83 projects joining the Oxygen release train. If you look back and compare the two releases – what was your main challenge or focus point in 2006 and how are things in 2017?
Mike Milinkovich: In 2006, a lot of our challenges were simply related to IT and IP resources. Getting all of the intellectual property reviews and analyses done was a challenge for the team. And dealing with the tsunami of download requests when Callisto shipped was a major challenge for our IT staff, and for the limited bandwidth that we could afford at that time.
In 2017, the simultaneous release is a well-oiled machine from the perspective of the Eclipse Foundation. The biggest challenge that we experienced was having staff and community resources stepping up to replace the role that David Williams played for many years as the Chair of the Planning Council, and as an extraordinary release manager.
JAXenter: Do you still find time to contribute to projects that are part of the Eclipse ecosystem? And if not, which ones would you really like to participate in?
Mike Milinkovich: I don’t contribute to any Eclipse projects, but I do use a number of the Eclipse IoT technologies for hobby projects around the house. I guess if I were to participate in any of them, it would be the ones that I could play with on one of my Raspberry Pis, like Eclipse Kura or Eclipse Smarthome.
I know how hard the Eclipse Java Development Tools (JDT) team has worked on building great Java 9 support, and I encourage users to try out the beta support for it.
JAXenter: What are your personal technological highlights in Eclipse Oxygen?
Mike Milinkovich: For me personally, it is the one which didn’t actually ship as part of Oxygen: Java 9 support. I know how hard the Eclipse Java Development Tools (JDT) team has worked on building great Java 9 support, and I encourage users to try out the beta support for it.
JAXenter: Before Eclipse, there were a lot of different editors, IDEs and development tools — most of them were incompatible with each other. The Eclipse platform consolidated this market to a point where most of these old tools vanished and only three IDEs for Java persisted. Nowadays, we see new IDEs for Java coming out, like Eclipse Orion, Eclipse Che, VS Code, Theia, OpenShift.io etc. Do you think this trend towards more diversity leads us back in the old times of tool silos?
Mike Milinkovich: I actually think of this phenomenon differently.
In my view, there are two parallel trends occurring:
- For quite a few years, Java was the main language and platform used in software development. Its dominance from (say) 1998 to 2008 would be hard to over-state. Now we have a very different, and much more polyglot and fractured world where developers need to deal with numerous languages, frameworks, runtimes, and platforms in order to ship a complete system. The amount of effort to configure and maintain a complex IDE that covers all of a full-stack developer’s requirements is far too large. As a result, developers have been forced in many cases to leave IDEs entirely, adopting simple language-aware editors. I think of Atom and VS Code as falling into this category.
- The second trend is the migration of developer tools to the cloud. Already, most of the tools that developers use are on the web, and their IDE is the last major component to move. I believe that this is going to happen over the next couple of years. The interesting thing to note here is how cluttered the market is. The current state of cloud-based developer tools reminds me very much of what the desktop IDE world looked like before the Eclipse IDE platform came along, and I believe that the market is ripe for consolidation around an open source platform like Eclipse Che.
JAXenter: The technology landscape has changed a lot in the last decade. Now, we see a movement towards container technologies, the cloud, serverless, mobile, IoT etc. How does Eclipse Oxygen respond to these new trends and do you think the classic IDE will still be of interest in the future?
Mike Milinkovich: There will be desktop IDEs for a very very long time. For the right applications, they cannot be beaten for developer productivity. In particular, I think that in multi-platform spaces such as Mobile and IoT, we will observe the continued adoption and success of desktop IDEs.
However, I do believe that cloud, serverless, and container technologies are going to drive developers to look for cloud-based IDEs which integrate the developer experience into their DevOps environment. Again, Eclipse Che with its ability to use containers for its workspaces, and its integration with Kubernetes really shines in this space. Red Hat’s use of Eclipse Che to create its OpenShift.io offering is a great example that I expect to see repeated in the future.
JAXenter: Do you think that there will be a complete overhaul of the underlying technology of the Eclipse IDE at some point of time?
Mike Milinkovich: That is entirely up to the community and project teams to decide.
Java 9 support in Eclipse Oxygen
JAXenter: The Eclipse Planning Council had discussed possibly moving the release of Eclipse Oxygen to align with the anticipated Java 9 release date. Are you glad that you dismissed this thought, now that Java 9 has been delayed?
Mike Milinkovich: Absolutely. It was awfully nice of Oracle to line up their Java 9 release date with Oxygen.1.
JAXenter: Will there be an Eclipse update in September?
Mike Milinkovich: Yup! But to be clear, there was always going to be an update to Eclipse Oxygen in September. It was simply some good luck that the dates ultimately aligned.
JAXenter: The technology landscape is not the only thing that changed —the role of the Eclipse Foundation has also changed. What was your understanding of your role back in 2004, what is it now?
Mike Milinkovich: In 2004, the focus was entirely on the development tools landscape, and in particular, on desktop IDEs. Over the past thirteen years, the Eclipse Foundation and the Eclipse community have evolved to cover an enormous spectrum of technologies.
In one sense, my role is exactly the same: to be the cheerleader-in-chief for the Eclipse projects, community, and members. But on the other hand, the range of technologies that we are dealing with has greatly expanded. From the Internet of Things to geospatial big data, from quantum computing to systems modeling, the Eclipse community is working on world-leading open source technology.
JAXenter: Are there new aspects or initiatives coming next year to the Eclipse Foundation?
Mike Milinkovich: Sometime in the next few months, a new version of the Eclipse Public License will be published. The EPLv2 will be a modern copyleft license that contains many enhancements over the original. So rolling out this new license, and migrating the Eclipse Foundation’s projects over to use it will be a large focus for our staff and I.
Some of the new features of the EPLv2 that are important include:
- Allowing new projects to be compatible with the GPL if they choose to do so.
- Replacing the concept of “module” with “file” to be more consistent with common usage.
- Removing mention of New York and USA law.
Thank you very much!