Excelsior JET
» see excelsiorjet.com as it lived, on the wayback machine
~ the last words ~
I know the problem this solved and I never bought the tool. If you wrote a desktop application in Java, you had a distribution problem that had nothing to do with your code. The user needed a Java runtime of a compatible version installed and working before your program would start at all. Half of shipping Java to normal people was shipping instructions about Java to normal people.
Excelsior JET made that go away. It compiled Java bytecode ahead of time into a native executable for a specific machine, so what you handed over was a binary. There was still a just-in-time compiler in the box for classes that could not be precompiled ahead of time, plus a licensed implementation of the Java SE class library from Sun and later Oracle, because you cannot legally ship Java without one.
The company was Excelsior LLC, based in Novosibirsk. That is not where anyone expects a certified Java SE implementation to come from, and it is worth saying plainly that they built one and passed the compatibility test kit for Java SE 8 on all three desktop platforms.
The Java most engineers write runs on machines they control, where the runtime is already there and nobody cares what the binary looks like. Excelsior JET was for the other case, the one where you ship software to strangers.
~ the record ~
| Born | 2000, out of excelsior llc in novosibirsk |
|---|---|
| Peak | certified java compatible against the java se 8 test kit, with an enterprise edition for eclipse rcp |
| Killed | 15 may 2019, announced by email to customers |
| Lifespan | nineteen years |
| Made by | excelsior llc, a russian compiler shop |
| Killed by | graalvm native image, which did the same job for nothing |
~ what it did ~
The Enterprise Edition went past the compiler. It understood Equinox OSGi at the JVM level, which meant an Eclipse RCP application could be compiled ahead of time like anything else, and version 7 extended the same treatment to web applications running on Tomcat. Version 10.5 added a garbage collector built for multi-core machines. Version 15, the last line, added incremental compilation for AMD64 and ARM targets, and 15.3 on 22 November 2018 was the final release.
None of that is glamorous work. All of it is the kind that takes a decade and gets noticed by a few thousand people, most of them shipping a desktop tool to a customer who will never learn what it was written in.
~ the four weeks ~
On 8 May 2019 Oracle announced GraalVM Enterprise Edition. GraalVM 19.0 was distributed the following day and it included Native Image, which does the job Excelsior JET had been selling since 2000. On 15 May, Excelsior emailed its customers to say the product was discontinued, and put the same message on the website the day after.
The timeline in that message was brutal. Support would stop and the engineering team would be gone by early June, roughly two weeks out. The website was scheduled to come down on 13 June, so the download page you needed in order to fetch a compiler you had already paid for had about four weeks left on it. There is no reading of that schedule where the company still had a choice about the date.
~ what came after ~
Huawei acquired Excelsior in August 2019. Compiler engineers are among the scarcest people in the industry, and a team that had kept a certified Java SE implementation current for nineteen years is worth buying even if the product goes in the bin, which is what happened to it.
Ahead-of-time Java did not die here. It won. Native Image is now how you get a Java service into a container that has to start in fifty milliseconds, and the technique Excelsior sold to desktop developers for two decades became a default feature of somebody else's free runtime. The tool was right about the future. The business was standing in the wrong place when Oracle decided to give that future away.
~ leave a rose ~
an anonymous tribute. one rose per visitor per day.
@}-->-- ... roses left here
~ leave a wreath ~
a rose fades by morning. a wreath stays on this grave for good, with your name on it.
from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.
» one email a week: new graves and the anniversaries of the dead. subscribe
other software: Quickoffice, Microsoft Entourage, Banshee, F-PROT Antivirus
~ leave a note ~
visitors before you have left these graveside notes. anonymous welcome.