“Eclipse Photon marks the end of an era”
Eclipse Photon is here! We talked to Wayne Beaton, Director of Open Source Projects at the Eclipse Foundation, about what this new release brings to the Eclipse ecosystem and what’s in store for the future of this popular open source IDE platform.
JAXenter.com: What makes Eclipse Photon stand out from the simultaneous release crowd?
Wayne Beaton: The focus on stabilization, and functionality along with a significant amount of effort to improve the user experience makes Eclipse Photon stand out. Some of the bigger things include improvements in the dark theme; wholesale changes to the language, look and feel, and functionality provided in dialog boxes, preferences, etc.; the ability to designate test folders in Java Projects; and improvements in support for PHP 7 (see the New and Noteworthy for a more comprehensive list).
Last year, the Eclipse Oxygen release was primarily focused on adding support for new Java 9 features such as modularity. This past year has seen new releases of Java, but without the same level of change. This has allowed the team to focus on providing new features and performance tuning.
Eclipse Photon marks the continuing embrace of the Language Server Protocol (LSP) by the Eclipse community. The Eclipse Corrosion project—the Rust IDE which is a new project in this year’s Photon release—is an excellent example of how new language IDEs can be quickly created using the LSP for Eclipse (LSP4E) technology.
Photon also marks the end of an era, as the community is moving to a three month rolling release model. June 2018 marks the last of the annual simultaneous releases. Going forward, we will be releasing on a quarterly basis.
JAXenter: 83 open source projects participated in the previous simultaneous release and now the number has grown to 85 in Eclipse Photon. Who are the newcomers?
Wayne Beaton: There’s actually more than two newcomers. We dropped a few projects with this release. The Eclipse Sphinx and Eclipse Orion project teams decided that the simultaneous release isn’t a good fit for their development schedule and target audiences. Unfortunately, the teams behind Eclipse Subversive (the SVN Team Provider) and Eclipse EGerrit are no longer active and had to drop out. This will be our first release in a very long time that does not include SVN support “out of the box”. (SVN support can still be added via the Eclipse Marketplace.)
We added Eclipse aCute (C# and .NET Core development tools), Eclipse Corrosion (Rust development tools), Eclipse RedDeer (SWT/GUI Testing), and Eclipse TM4E (support for TextMate grammars) which all add functionality to the Eclipse IDE. The Eclipse Collections, EclipseLink (Java persistence), and Eclipse Yasson (JSON binding) projects all also joined; these projects provide frameworks and libraries that Java developers can incorporate into their own products.
JAXenter: What was the most challenging thing in preparing Eclipse Photon? What are your favorite aspects about this release?
Wayne Beaton: Every year, one of the bigger challenges is simply ensuring that all of the project teams are actively engaged in the process. We have some checkpoints in the process that are designed primarily to just make sure that project teams are hooked into the communication channels and part of the ongoing discussion about the release. At every checkpoint, there’s always one or two project teams that we have to chase down to make sure that they’re engaged in the process to avoid having surprises late in the process. The whole idea is actually to make the release as boring as possible from a DevOps and testing point-of-view.
The coordination that goes on between the projects is a favorite aspect. As we bring projects together for milestone builds, they identify issues with the integration of the efforts from so many different project teams and work to resolve them together.
JAXenter: Are there any projects that have been canceled since the Eclipse Oxygen release?
Wayne Beaton: As I mentioned earlier, Eclipse EGerrit, Eclipse Sphinx, Eclipse Orion, and Eclipse Subversive have all dropped out of the simultaneous release.
JAXenter: Will the JDK 11 support follow the same pattern as its predecessor and receive a hotfix for the Java development tools (JDT) once it’s out?
Wayne Beaton: The release cadence will change following the Photon Release. Instead of annual releases, the simultaneous release will release quarterly. At the surface, especially in light of the fact that we’ve been issuing quarterly “update” releases for some time, this seems like a small change. From a user’s perspective, the big difference is that there will no longer be any need to download their favorite IDE every year; instead, the Eclipse IDE will just update in place every quarter.
What is particularly interesting is how project teams are changing their own practices with this change. In the Photon and earlier releases, the Eclipse Java development tools (JDT) project used the quarter releases for bug fixes only; new features and support was only ever introduced in the June release. From now on, however, they’ll be including new features – including support for new Java versions – in quarterly releases. Timing is, of course, everything, so patch releases may be necessary when release dates don’t align; but the longest that you’ll have to wait for new Java version support “out of the box” should be a quarter.
JAXenter: There’s no information whatsoever about the name of the next simultaneous release. When will the “suggestion box” open for the community?
Wayne Beaton: As mentioned above, we’re changing the release cadence from yearly to quarterly. With this change, the June release becomes slightly less interesting and so we’ve decided to stop using proper names and go to a date-based naming scheme, i.e. YYYY-MM.
Something that some people in our community have noticed is that we name the releases, but we don’t really name the thing that we release. We refer to the Eclipse Photon repository, the Eclipse Photon packages, and even the Eclipse Photon Simultaneous Release, but other than “Simultaneous Release”, the thing that we produce doesn’t really have a name. That might be an interesting naming exercise for the community, especially in light of the fact that we actually do multiple simultaneous releases; the Eclipse Science and PolarSys Working Groups, for example, do an annual simultaneous releases, and the new work that we’re doing around Jakarta EE will almost certainly involve some form of simultaneous release.
JAXenter: We’re halfway through 2018 so there must be some exciting news ahead of us. Could you give us a sneak peek at what’s to come?
Wayne Beaton: There is an effort underway to bundle the Eclipse OpenJ9 runtime with our Eclipse IDE offerings. Early tests have show significant improvements in start up time, general performance, and memory use when running an Eclipse IDE with OpenJ9 (under favorable conditions, OpenJ9 gives memory back to the operating system which may have some interesting implications when running an Eclipse IDE over long periods of time). Furthermore, with this addition, users will be able to run the Eclipse IDE without having to first install a runtime. Interested readers can try it now by grabbing Eclipse OpenJ9 from AdoptOpenJDK.
The Java EE specification work moving to the Eclipse Foundation under the Jakarta EE banner, to provide a place for community-driven collaboration and open innovation for the cloud, is pretty exciting.