CFV: New Project: ZGC

Aleksey Shipilev shade at
Fri Oct 27 08:56:12 UTC 2017

On 10/27/2017 01:23 AM, John Rose 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.
> Put another way:  Would you really prefer that we keep ZGC
> wraps while we replay the Shenandoah cross-examination, to
> some suggested 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.

Sure it would, and I am happy it happens! The inception of the project should not be blocked by the
overlapping existing projects: show us the code, and all that, is in effect here. The same way
anyone can do a Sandbox branch with whatever woozy idea that comes to mind, anyone with enough
resources should be able to incept the project.

It would of course be much nicer if ZGC was not developed under cover, so the community would have
the opportunity to contribute, reconcile community roadmaps with its existence, and plan for adoption.

What Volker taps into here, is the game-theoretical argument. The next big external contributor
would face a dilemma: either it should invest heavily into the open project and get it out at its
own expense, or it should patiently wait for Oracle to open its stash and contribute a similar
project. The risk in doing the open-source project that runs into collision with late Oracle
contribution is basically the opportunity cost for the contributor, which would make contributing
less appealing. And the probability of such collision happening is non-ignorable, having at least
two firm instances of this happening (AArch64 back then, and Shenandoah/ZGC today).

Since we seem to agree there is no foul play on Oracle part here, and that we are dealing with the
aftermath of Oracle closeness, this is less of an issue for Shenandoah. This might not be as true
for the contributors after us who might think differently (after all, the prevalence of "Oracle is
evil" mindset is astounding out there :/), without having the insights into project undercurrents.

If we understand that we want the community around OpenJDK, we need to understand the late
contributions like these -- however technically sound -- do have the social impact on the entire
project. The successful open-source project is not exactly about pushing out the code, it is about
the social dynamics that makes the large-scale community work possible. In my mind, it is important
for at least Architects to recognize that, and accept Volker's concerns as legitimate. IMO, it would
be enough at this point to accept that the past did suck, and we are dealing with its fallout, and
would try to not get into this situation again.


More information about the discuss mailing list