Explicitly mark JEP 154 / JDK-8046144 as April Fools joke

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Fri Jun 27 17:14:05 UTC 2025


IMHO the very discussion in this thread suggests that, perhaps, this JEP 
is indeed creating confusion :-)

To me, this JEP looks totally like a joke -- but now that there are more 
concrete plans to look at serialization again (as Chen noted), I defo 
see the possibility for this to be picked up more, which is not what we 
ultimately want.

Also, for those who (like me) are non-native english speaker, it could 
be sometimes more difficult to assess whether something is a joke or not.

So, while I'm all for having a laugh (and I did have more than one when 
reading this JEP), perhaps the time has come to do something about it.

Cheers
Maurizio

On 27/06/2025 06:03, David Alayachew wrote:
> @Pavel Rappo <mailto:pavel.rappo at gmail.com> tbf, you would need a lot 
> of context to be able to make that connection.
>
> @Chen Liang <mailto:chen.l.liang at oracle.com> there is a 1000000% 
> chance that the JEP in question is being made, at least partially, as 
> a joke. I interpreted it as someone with a sense of humor 
> communicating valid points (and at least 1 joke point) in a real JEP, 
> but phrasing things in such a way to get some laughs because it was 
> April Fool's Day. Stuff like "Twitter: High" and "running out of 
> serialVersionUid's" help reveal the joke. The idea of a command line 
> utility requiring the ability to phone home in order to properly 
> function as a glorified int-generator is pretty wild. 2 instances of 
> serialVersionUid need to be unique per class. But after that, the 
> actual value doesn't really matter. So, even though I know nothing 
> about serialVersionUid past what a junior dev would know, that quote 
> got a laugh out of me - which is (I think) its point.
>
>
> On Thu, Jun 26, 2025, 9:33 PM Pavel Rappo <pavel.rappo at gmail.com> wrote:
>
>     Chen, are you being serious?
>
>     On Thu 26 Jun 2025 at 16:14, Chen Liang <chen.l.liang at oracle.com>
>     wrote:
>
>         Hello,
>         I don't think this is an AF joke. There is still plan to
>         remove serialization, which is currently taking a somewhat
>         different roadmap.
>
>         If you pay attention to conferences like JavaOne, you should
>         have noticed that Viktor Klang is working on Marshalling.
>         There is already "Serailzation - A New Hope" from Devoxx 2024
>         available on YouTube Java channel, and in the upcoming JVMLS
>         there will be a "Marshalling: Serialization 2.0" talk as well,
>         both of which can provide you with more details. The problem
>         with JEP 154 was this JEP did not provide a replacement
>         mechanism for serialization, so we plan to resume the process
>         of removing serialization once Marshalling is available.
>         During this time, we plan to make minimal changes to
>         serialization, mostly just the most critical fixes, to reduce
>         maintenance burden.
>
>         For the concerns you list, I believe at least two of them are
>         not valid:
>
>         1.
>             Antivirus program scans do affect program execution speed
>             significantly; for example, this is especially obvious for
>             building the JDK on Windows. I thought this was written in
>             the OpenJDK guides or documents but apparently it isn't.
>             If a program retries an action based on a fixed timeout,
>             the scenario described in the JEP can happen.
>         2.
>             Building two copies of classes is a valid approach for JDK
>             distributions. For instance, when compact object headers
>             are made no longer experimental, the JDK image, at least
>             that provided by Oracle, comes with two copies of CDS
>             archives - one with no compact object headers, and another
>             with that enabled. In project Valhalla, we are already
>             distributing value classes for JEP 401 the same way - one
>             copy for when the runtime is running with no preview
>             feature enabled, and another with value classes for when
>             the runtime has preview features enabled.
>
>
>         Regards,
>         Chen Liang
>         ------------------------------------------------------------------------
>         *From:* discuss <discuss-retn at openjdk.org> on behalf of
>         some-java-user-99206970363698485155 at vodafonemail.de
>         <some-java-user-99206970363698485155 at vodafonemail.de>
>         *Sent:* Wednesday, June 25, 2025 11:54 AM
>         *To:* discuss at openjdk.org <discuss at openjdk.org>
>         *Cc:* Alan Bateman <alan.bateman at oracle.com>; Brian Goetz
>         <brian.goetz at oracle.com>
>         *Subject:* Explicitly mark JEP 154 / JDK-8046144 as April
>         Fools joke
>
>         Hello,
>
>         it seems JEP 154 / JDK-8046144 "Remove Serialization" is an
>         April Fools joke:
>
>           * It was created on 2012/04/01 20:00
>           * It says "severely-degraded environments, e.g., Microsoft
>             Windows machines running the McAfee Antivirus program"
>             I doubt that in any official document the JDK maintainers
>             would dare writing this, and even in this April Fools JEP
>             it seems risky.
>           * It says "available values for serialVersionUID are running
>             out"
>             To my knowledge the serialVersionUID value is per class,
>             so this seems to be made up (at least to some extent).
>           * As solution it suggests "build two copies of rt.jar"
>           * Under "Impact" it says "Twitter: High"
>
>
>         The main problem is that it is not immediately obvious that
>         this is an April Fools joke, because it appears as regular JEP
>         within the list of other legit JEPs and there is no explicit
>         mention of it being an April Fools joke. The JEP also sounds
>         plausible to some extent because there are multiple real flaws
>         with Java Serialization.
>
>         This has lead to this JEP being referenced (unironically) in
>         real discussions and also recently in a scientific paper,
>         https://arxiv.org/abs/2504.20485.
>         It could also harm future discussions about removing or
>         refactoring Java Serialization in case it is used as argument
>         that this had already been rejected in the past.
>
>         Therefore to avoid any further harm / confusion by this JEP,
>         please:
>
>           * Change JEP 154 to clearly indicate that it is an April
>             Fools joke; ideally by prepending its title with something
>             like "April Fools"
>           * Change JDK-8046144 in a similar way
>           * /Do not delete/ either of them; it might only cause more
>             confusion [1]
>
>
>         Kind regards
>
>
>         [1] See also JEP 187 and
>         https://marxsoftware.blogspot.com/2021/09/missing-jeps-145-187.html
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/discuss/attachments/20250627/f6789a14/attachment-0001.htm>


More information about the discuss mailing list