Skip to content

Do we need Java 11 migration? #5750

@sampottinger

Description

@sampottinger

Hey friends! Thank you for a beautiful community and tool. Sorry I couldn't quite fit this in the prescribed format but hopefully this helps...

I'm writing because it's January and, unfortunately, Java 8 is slated to stop receiving public updates this month (article, roadmap, Oracle blog post) so we're nearing a kind of EOL for Java 8. I'd love to help with the Java 11 migration if that's a thing we want to do and have started preparing a pull request. However, I wanted to first enumerate the (ahem) exciting growth opportunities presented by moving to JDK 11 to see if this resonates with the other developers here. With that, Oracle have been busy...


Changes to the runtime structure
Moving on from Java 8, there were a number of changes in fundamental runtime structures:


Changes to the licensing
Java 11's official Oracle JDK release changes licensing. As far I can tell, it's a bit complicated but generally seems to require a commercial license to use Java in "production" settings (helpful walkthrough, entertaining walkthrough, Oracle blog). I think Proceessing intended core to be LGPL so that the resulting builds could be used in a permissive way but, if bundling with the Oracle release, this could be complicated. I know this been a topic of discussion before (#4415) but this may require movement to OpenJDK to continue accomplishing permissive licensing goals.


JavaFx
As discussed here before (#5286), JavaFx has had a number of API modifications and is also being removed from non-commercial JDK release starting with JDK 11. OpenFX is a thing now (it still is official OpenJDK) but the bundling will need to change.


Other Misc Changes
There's a few other bits that I think might require some attention:


The Upside
Well... silver linings... There's a lot of cool new features in Java 11 and it is LTS...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions