OpenJDK Community Bylaws and Governing Board

Mark Wielaard mark at klomp.org
Thu Feb 3 12:21:42 PST 2011


Hi Mark,

On Thu, 2011-02-03 at 17:59 +0100, mark.reinhold at Oracle.com wrote:
> A draft of the OpenJDK Community Bylaws is now available and an initial
> Governing Board has been named.  For further information please see:
> 
>   http://mail.openjdk.java.net/pipermail/gb-discuss/2011-February/000078.html

Thanks for publishing those. Here are some comments and concerns.

> The Bylaws define a Governing Board which "oversees the structure,
> operation, and overall health of the Community.  It upholds and maintains
> these Bylaws, resolves procedural disputes, and ensures that sufficient
> infrastructure is available to Community members.

There is no definition what infrastructure. It also doesn't state where
this infrastructure comes from or who maintains it.

>   The Governing Board
> has no direct authority over technical or release decisions."

But there is a technical Appeals Process.

> The members of the initial Governing Board are:
> 
>   - Adam Messinger (Chair, Oracle),
>   - Jason Gartner (Vice Chair, IBM),
>   - Prof. Doug Lea (At-Large, SUNY Oswego),
>   - Mike Milinkovich (At-Large, Eclipse), and
>   - Yours truly (OpenJDK Lead, Oracle).

What happened to the previous board members?
Fabiane, Simon, Dalibor, Andrew and Martin?

> The OpenJDK Community is an association of developers who collaborate
> upon open-source implementations of present and future versions of the
> Java Platform, Standard Edition, as defined by the Java Community
> Process

As you know the current platform JSRs have licenses for the spec, ri and
tck published by the JCP under terms that are in conflict with the GPL.
It would be wise to resolve this before it gets people in trouble. I
published a bit more analysis about this on my blog:
http://gnu.wildebeest.org/blog/mjw/2010/11/28/moving-java-forward-through-the-jcp/

This is a bit of a blocker for progress if that issue isn't resolved
first.

But I am happy it does explicitly mention that it is a collaboration
upon open-source implementations. It should also make sure that the
minimum (GPL) copyright, trademark and patent grants that the project
participants will collaborate under are explicitly defined, so people
know they can rely on them.

> A Participant is an individual who has subscribed to one or more
> OpenJDK mailing lists. A Participant may post messages to a list,
> submit simple patches, and make other kinds of small contributions. 
> 
> A Contributor is a Participant who has signed the Oracle Contributor
> Agreement, or who works for an organization that has signed that
> agreement or its equivalent and makes contributions within the scope
> of that work and subject to that agreement. Only a Contributor may
> submit anything larger than a simple patch. 
> 
> An OpenJDK Member is a Contributor [...]

This effectively says that only those who assign all rights on their
contributions to Oracle can be Members. That doesn't seem fair. Oracle
is just one of the Participants in the community. Aggregating legal
rights isn't a bad thing perse, but it is if it is done by an entity
that then gets to assert more rights than the rest of the community on
non-reciprocal terms. Again I have written why this is troubling about
this a bit more in my blog:
http://gnu.wildebeest.org/blog/mjw/2009/11/14/trusting-companies-with-your-code/

You should at least fix things so that either people can be members
without having to assign all their rights on non-reciprocal terms to
Oracle.

> Projects vs Groups

Personally I think it would be better to match Projects and Groups one
on one. Projects have a clear "lifetime", at a certain point they don't
produce anything new anymore (commits stop, nobody maintains things
anymore, no users). Then they can be archived and garbage collected.
That seems a healthy thing to have. Groups are a little too "vague" in
my view. Although this is not a very strong argument I admit. This
mainly comes from how a project seems defined by whether or not a group
keeps it running. That doesn't feel right to me. A project should be
able to control its own "destiny". Also because the Group Lead and the
Project Lead seem to mostly overlap, so why not merge? But maybe this is
the intention and I am just utterly confused about the Groups/Projects
splitup.

> New releases of Java SE Platform implementations are Projects, though
> particularly large ones. Such JDK Release Projects may only be
> proposed by the OpenJDK Lead and may only be Sponsored by the
> Governing Board.

Why this distinction and what defines "particularly large"?

> The Governing Board consists of five individuals: 
>  * The Chair, appointed by Oracle; 
>  * The Vice-Chair, appointed by IBM; 
>  * The OpenJDK Lead, appointed by Oracle; and 
>  * Two At-Large Members, nominated and elected as described below.

It doesn't seem right that the first three say they are appointments. 

If you want to involve corporations as directly involved then at least
make them only nominate someone that is actually involved in the
project.

Why Oracle and IBM? The previous board had engineers from Red Hat and
Google who are the biggest contributors to OpenJDK after Oracle.

And there is only a minority of independent candidates if you let
companies nominate/appoint seats.

> The Governing Board is, in part, a legislative body: It is empowered
> to revise these Bylaws to refine existing processes, to define new
> processes, and to dispose of processes that are no longer required.
> Any revision of these Bylaws must be approved by an Absolute
> Two-Thirds Majority of the Governing Board.

Shouldn't such major changes also be voted on by all Members?

> During a two-week nomination period any OpenJDK Member may nominate an
> individual who does not currently hold an appointed Governing Board
> seat to fill one of the At-Large seats. That individual need not
> already be an OpenJDK Member.

This gets around the issue of Members having to assign all rights to
Oracle to participate in the community, so that is good. But it is a
little strange to have the board consist of non-members.

> Once per calendar quarter, and one week prior to that quarter’s
> scheduled meeting of the Governing Board, the OpenJDK Lead shall
> publish a written report summarizing recent activities in the
> Community. This report should include: [...]
> 
>       * A list of Projects that have made major state changes such as
>         publishing a release, integrating into a JDK Release Project,
>         or submitting or completing a JSR; 
>         
>       * A list of Projects that should, in the OpenJDK Lead’s opinion,
>         be considered for inclusion in a future JDK Release Project
>         and its corresponding Umbrella JSR; 

As mentioned above it seems bad to tie Projects to JSRs until it is
clear that the JCP will have rules to make sure that JSR spec, RI and
TCK licenses will be published under GPL-compatible terms so they can be
used by OpenJDK participants.

> Technical Appeals Process 

Why is this included when the bylaws also state that the Governing Board
has no direct authority over technical or release decisions?

Hope that helps see where the blockers are and how to resolve them.

Cheers,

Mark




More information about the discuss mailing list