<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>IMHO the very discussion in this thread suggests that, perhaps,
this JEP is indeed creating confusion :-)</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>Cheers<br>
Maurizio<br>
</p>
<div class="moz-cite-prefix">On 27/06/2025 06:03, David Alayachew
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAA9v-_OVRJRCgK4rr_FLYFPRQ=AHFZPbO8CEFaySNr3NfVZQJw@mail.gmail.com">
<div dir="auto">
<div><span class="gmail_chip gmail_plusreply" dir="auto"><a href="mailto:pavel.rappo@gmail.com" style="color:#15c;text-decoration:underline" moz-do-not-send="true">@Pavel Rappo</a></span><span> tbf,
you would need a lot of context to be able to make that
connection.</span>
<div dir="auto"><span><br>
</span></div>
<div dir="auto"><span><span class="gmail_chip gmail_plusreply" dir="auto"><a href="mailto:chen.l.liang@oracle.com" style="color:#15c;text-decoration:underline" moz-do-not-send="true">@Chen Liang</a></span><span> 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.</span></span></div>
<br>
<br>
<div class="gmail_quote gmail_quote_container">
<div dir="ltr" class="gmail_attr">On Thu, Jun 26, 2025,
9:33 PM Pavel Rappo <<a href="mailto:pavel.rappo@gmail.com" moz-do-not-send="true" class="moz-txt-link-freetext">pavel.rappo@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto">Chen, are you being serious?</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu 26 Jun 2025
at 16:14, Chen Liang <<a href="mailto:chen.l.liang@oracle.com" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">chen.l.liang@oracle.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hello,</div>
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
I don't think this is an AF joke. There is still
plan to remove serialization, which is currently
taking a somewhat different roadmap.</div>
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
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.</div>
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
For the concerns you list, I believe at least
two of them are not valid:</div>
<ol style="margin-top:0px;margin-bottom:0px;list-style-type:decimal" start="1">
<li style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
<div role="presentation">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.</div>
</li>
<li style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
<div role="presentation">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.</div>
</li>
</ol>
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
Regards,</div>
<div style="font-family:"Calibri Light","Helvetica Light",sans-serif;font-size:12pt;color:rgb(0,0,0)">
Chen Liang</div>
<hr style="display:inline-block;width:98%">
<div id="m_-7835032841986622988m_2914135589783657412divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b>
discuss <<a href="mailto:discuss-retn@openjdk.org" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">discuss-retn@openjdk.org</a>>
on behalf of <a href="mailto:some-java-user-99206970363698485155@vodafonemail.de" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">some-java-user-99206970363698485155@vodafonemail.de</a>
<<a href="mailto:some-java-user-99206970363698485155@vodafonemail.de" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">some-java-user-99206970363698485155@vodafonemail.de</a>><br>
<b>Sent:</b> Wednesday, June 25, 2025 11:54 AM<br>
<b>To:</b> <a href="mailto:discuss@openjdk.org" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">discuss@openjdk.org</a>
<<a href="mailto:discuss@openjdk.org" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">discuss@openjdk.org</a>><br>
<b>Cc:</b> Alan Bateman <<a href="mailto:alan.bateman@oracle.com" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">alan.bateman@oracle.com</a>>;
Brian Goetz <<a href="mailto:brian.goetz@oracle.com" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">brian.goetz@oracle.com</a>><br>
<b>Subject:</b> Explicitly mark JEP 154 /
JDK-8046144 as April Fools joke</font>
<div> </div>
</div>
</div>
<div dir="ltr">
<div>
<p>Hello,</p>
<p>it seems JEP 154 / JDK-8046144 "Remove
Serialization" is an April Fools joke:</p>
<ul>
<li>It was created on 2012/04/01 20:00</li>
<li>It says "severely-degraded environments,
e.g., Microsoft Windows machines running the
McAfee Antivirus program"<br>
I doubt that in any official document the
JDK maintainers would dare writing this, and
even in this April Fools JEP it seems risky.</li>
<li>It says "available values for
serialVersionUID are running out"<br>
To my knowledge the serialVersionUID value
is per class, so this seems to be made up
(at least to some extent).</li>
<li>As solution it suggests "build two copies
of rt.jar"</li>
<li>Under "Impact" it says "Twitter: High"</li>
</ul>
<p><br>
</p>
<p>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.</p>
<p>This has lead to this JEP being referenced
(unironically) in real discussions and also
recently in a scientific paper,
<a href="https://arxiv.org/abs/2504.20485" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">https://arxiv.org/abs/2504.20485</a>.<br>
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.</p>
<p>Therefore to avoid any further harm /
confusion by this JEP, please:</p>
<ul>
<li>Change JEP 154 to clearly indicate that it
is an April Fools joke; ideally by
prepending its title with something like
"April Fools"</li>
<li>Change JDK-8046144 in a similar way</li>
<li><i>Do not delete</i> either of them; it
might only cause more confusion [1]</li>
</ul>
<p><br>
</p>
<p>Kind regards<br>
</p>
<p><br>
</p>
<p>[1] See also JEP 187 and <a href="https://marxsoftware.blogspot.com/2021/09/missing-jeps-145-187.html" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">
https://marxsoftware.blogspot.com/2021/09/missing-jeps-145-187.html</a><br>
</p>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</body>
</html>