CFV: New Project: ZGC

Andrew Dinn adinn at redhat.com
Fri Oct 27 09:07:11 UTC 2017


Hi Volker,

On 27/10/17 09:24, Volker Simonis wrote:

> 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!

The picture you present here makes it look like we acted in response to
Oracle withholding their ARM32 port. Furthermore, to the unwary reader,
your presentation of the case may also suggest they were holding out on
work they had started or were seriously considering on an AArch64 port.

I'd just like to clarify that Andrew Haley and I started work on the
AArch64 port because it was recognised to be a critical element of Red
Hat's strategic commitment to support a complete, open source AArch64
server stack. That decision was /not/ influenced by the existence of
Oracle's proprietary ARM32 port. Also, we commenced work well before
AArch64 hardware was available and -- I believe -- some time before
Oracle began work on their ARM64 port. Any concern on Red Hat's part
that Oracle might implement a proprietary ARM64 port was far outweighed
by Red Hat's urgent need to be an important stakeholder in a fully open
source JVM for AArch64 (ditto actually for x86 -- which is why so many
Red Hat staff are members of the OpenJDK project(s)).

> 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
> be.
Well, you answer your own concern here, I think. If OpenJDK is the sort
of project where things get done in good faith (and I agree it is) then
surely any attempt to use it to put ZGC out to grass or bury it will
only backfire. I don't actually think it sounds like ZGC is going to be
moribund or dead on arrival but let's find out.

> 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
> future.
I believe you started to stray at the 'If' in the middle of that
paragraph, specifically at clause 2 of the encompassed 'and'. The
proposal being voted on here is not to "integrate [anything] right away
into the HotSpot main line code". As such, I see no fatal message being
delivered. This is simply an offer of potentially valuable code from an
active project participant.

The most important message I read here is one we have already seen
Oracle acknowledge: that contributing their efforts to an open project
is a better way forward than trying to withhold and privately maintain a
proprietary alternative. I'm very grateful that they wish to make their
work available to the community and I hope we can all benefit from their
offer, whether that means profiting from retaining both GCs, eventually
incorporating features from ZGC into Shenandoah and letting ZGC drop, or
vice versa with Shenandoah eventually being dropped. I'd welcome all
those outcomes so long as we get to choose the right one on the right terms.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the discuss mailing list