As the relatively “new guy” to the Java SE PM team, I’m still finding my way around and learning lots as we go through various milestones after the Java SE 7 launch, and move onwards to Java 8. The recent update to the Java 6 public “End Of Life” date was pretty interesting to me, so I thought I’d share some of the more pedantic semantics, for those of you who might care.
The first thing to note is that EOL means end of public life. The version will still exist and be supported for many additional years, just not in the public. As with most free software, whether commercially licensed or Open Source, usually only one or two major streams are maintained – in the public - at a time. It’s a simple function of maintenance costs. It’s not reasonable to resource free ongoing development of five+ major release streams. For those who cannot keep up with current releases, and have a need for longer term support, paid options are available to defray the ongoing costs. It would also be confusing to end users trying to figure out which of 5 available versions to choose between. It’s confusing enough when there are 2!
Next, the EOL is not so much an single moment “event”, as it is a longer term process. When version X of Java is EOL’d in favor of version Y, the following process is what generally happens:
- Future notice is given to the community. As summarized in Henriks blog, a public EOL can be expected as soon as the latest of: 3 years after a major release; 1 year after a subsequent major release; 6 months after the subsequent major release is set as the default JRE on java.com.
- At some point after the above criteria are met, a final public release of version X is made available.
- The EOL version is still made available for download for at least a couple of months, after which it becomes archived. “Archived” means it’s still available, but usually only meant for developers that want to debug some old code, but is not suitable for general usage as it’s no longer publicly patched.
So while we might state a particular moment as the “EOL” of a major release, it is likely still to be publicly available (and the most current update available) for a period of time thereafter.