CFV: New Project: ZGC

Volker Simonis volker.simonis at
Fri Oct 27 08:24:42 UTC 2017

On Fri, Oct 27, 2017 at 1:23 AM, John Rose <john.r.rose at> wrote:
> On Oct 26, 2017, at 8:42 AM, Volker Simonis <volker.simonis at>
> wrote:
> If no, why you propose ZGC at all and not contribute to
> Shenandoah? It's there since more than two years!  That you already
> worked on ZGC for some time as well doesn't count here because we (the
> OpenJDK community) couldn't see that and had no chance to contribute
> to it.
> So, a proposed contribution "doesn't count" if it in any way overlaps
> with previously contributed software?  Of course it counts.
> As open-source people we are skeptical of closed-source projects,
> but (a) they count intrinsically, as hard won experience (even if
> won in the dark), and (b) when opened up, they count as welcome
> help, previously inaccessible.
> Your comments are very understandable (except for the bit I just
> quoted), but try to see it from our viewpoint also.

I didn't wanted to say the whole contribution doesn't count. After
all, children can't be hold accountable for their parent's faults :)

> "Why didn't you contribute to Shenandoah?"  Because we had an
> internally funded alternative that seemed more promising to us,
> which we couldn't share.  Is Oracle the only company with internally
> funded changes to the OpenJDK?  No.  But we are one that is
> aggressively out-streaming ours, now.
> Oracle's new direction announced at JavaOne is that we are going
> to be moving Java forward faster.  To move faster in this case is to
> get ZGC out into the light of day, as quickly as possible.  I'm sorry
> this seems unfair to you, when compared to actions in previous
> years.  I don't think we were unfair, but even if we were, we are
> on record as eager to distribute responsibility for OpenJDK
> development fairly.  The current vote is our move to get our
> very promising code out as quickly as possible.  I hope that's
> enough reason to overlook any perception of unfairness.

Yes, I indeed think that this is extremely unfair! Especially with
regards to RedHat who invested a great amount of time and resources
into Shenandoah. And this doesn't happen for the first time. We had
the same story with the ARM port. The community requested it for a
long time but Oracle didn't wanted to contribute it to the OpenJDK. So
RedHat jumped in and did a whole new ARM64 bit port from scratch and
donated it to the OpenJDK. Only after this new port was done and
functional, Oracle then decided to also donate its ports (both 64 and
32 bit) to the project. This is at least a huge waste of efforts and
not the way how trusted partners should work together in an Open
Source project!

> Put another way:  Would you really prefer that we keep ZGC
> wraps while we replay the Shenandoah cross-examination, to
> some s uggested number of months?  Wouldn't it be better to
> get the code bases out there and then figure out what to do
> with them?  Of course it would.

No, of course I don't want to delay the opening of the code base. But
strictly speaking, getting the code base out is independent from
starting a new OpenJDK project. What I really want is to get a short
technical overview of the ZGC project from the project owner which
outlines where ZGC differs from Shenandoah, where it is superior and
where it is inferior and why it makes sense to have both in the
OpenJDK. A vote is obviously not the right place for such a discussion
that's why after all, a discussion is recommended before doing the

You know there are two sorts of Open Source projects. The first kind
is done in good faith to grow and foster the project together with the
community. OpenJDK is such a kind of project and I really appreciate
that it was created. But there's also a second kind of Open Source
projects which are only open sourced because a company doesn't care
any more about that project and just wants to transfer the
responsibility for the project to the community. Notice that this is
still better than simply burying the project, but usually not a great
starting point for an Open Source project. I tend to add Oracle's
aforementioned ARM ports to this second category because it doesn't
seem that a lot of effort went into these ports after their
contribution (at least by far not that much as went into RedHat's
AARCH64 port). Taking into account Oracle's concerns about having to
support too many GCs in HotSpot, I think it is legitimate and
important to understand what kind of an Open Source project ZGC will

> That's why I voted yes!
> Do you have an alternative suggestion for accelerating a fair
> and open examination of our sudden riches of GC technology?
> That's what I want; I have to think that's what everyone wants.

I'm not at all against a new GC nor am I against ZGC. I'm only against
one participant of the OpenJDK project being treated special compared
to others. RedHat is trying very hard to integrate Shenandoah into the
HotSpot [1]. If now suddenly a similar GC appears out of the dark and
will be integrated right away into the HotSpot main line code that
would really a fatal message towards all other external contributors.
Who ever would like to do any serious investments into OpenJDK any
more ? Instead, I really wish all OpenJDK participants (including
Oracle) would work closer together to avoid redundant efforts in the



> Best wishes,
> — John

More information about the discuss mailing list