Some thoughts about OpenJDK Constitution
Dalibor Topic
robilad at kaffe.org
Mon Oct 29 06:06:14 PDT 2007
Andy Tripp wrote:
> Hi Dalibor,
> Thanks for responding. I was starting to wonder if anyone was out there :)
> Great responses, and great work so far on the GB.
Thanks, Andy.
> I just have a few responses.
>
>>
>>> One thing that the constitution should be explicit about is the scope of
>>> "the OpenJDK Community". From your first two meeting minutes, you seem to
>>> be clearly headed towards covering just the OpenJDK implementation, not
>>> other implementations or the Java development community in general.
>>>
>>
>> It's a self-bootstrapping definition. We're starting with the simplest
>> definition of community we have, and as the OpenJDK project adds further
>> groups & projects, I believe the boundary of what constitutes the
>> OpenJDK community will become less and less OpenJDK implementation
>> specific, and expand to include hybrid implementations, for example.
>>
> Just to pick a hypothetical situation to help you think about the
> scope of OpenJDK...
> suppose you end up with two implementations of the encumbered parts -
> both IcedTea
> and Sun-developed code. If the GB constitution says that it's
> concerned only
> with current OpenJDK projects, the GB would have no basis for doing
> anything involving
> IcedTea (such as helping to figure out how some of their stuff might
> be incorporated
> into OpenJDK or encourage them to become an OpenJDK project).
The GB has no way of faithfully micro-managing the projects inside
OpenJDK: it is unlikely
that it would always have the necessary expertise to make informed
choices about, for example,
the technical merits of alternative implementations.
That's something the groups/projects working with the code in question
would decide on
autonomously.
Otoh, growing the OpenJDK community in a healthy fashion is something
that's implied in
GB's charter, so I consider helping related projects find their way into
becoming part
of the OpenJDK community to be an important part of the task.
>>> The constitution should specify the bounds of the JDK:
>>> Is the TCK considered part of the OpenJDK?
>>>
>>
>> As long as its code is not published as part of OpenJDK, probably no.
>>
>> But the proposed conformance group, otoh, would be part of the OpenJDK
>> community, even if some of the tools it uses aren't.
>>
> OK, so that says to me that the GB really shouldn't be concerned with
> TCK issues and
> Harmony issues. Looking back at the meeting minutes from the first
> meeting, there looked
> to be a non-trivial discussion on these.
The problems the Apache Harmony project has with getting the JSE 1.5 TCK
under a license
acceptable to it are of interest to some OpenJDK (IGB) members, like
myself. But it's nothing
we can really aspire to 'fix' via the OpenJDK project governance, until
either Apache Harmony
or the JSE TCK become parts of it in one way or another.
>>> What will your relationship be with alternative implementations?
>>>
>>
>> Good, I hope!
>>
> Well, you need to choose between "good" and "nonexistant" :)
Wherever we can share code, a relationship will exist, and I'd work on
making it a good one (though
my focus is on the Free Software implementations, personally).
It's much harder to build a web of relationships without any code to share,
in particular as OpenJDK is very code-centric.
>>> For
>>> example,
>>> should you be having any discussions about Harmony at all?
>>>
>>
>> As long as they relate to development on OpenJDK, sure, why not.
>>
> Yes, that makes sense. Again, I ask because it sounded like the
> discussion of Harmony
> in the first meeting went beyond that. I don't mean to sound paranoid
> about any discussion
> of Harmony, it's just that I think it could be very easy to make
> decisions based on
> Harmony. I could imagine a discussion on some OpenJDK feature containing
> the argument "...but we should do X because that would benefit Harmony
> and other
> implementations". To which the appropriate response (IMO) would be "But we
> have never established whether helping other implementations is a good
> thing or not".
I wouldn't want to see the GB to make decisions on features.
If other implementations start using and contributing to OpenJDK's code
base, I'd expect their
developers to become members of the parts they contribute to, and to
influence such decisions on
the appropriate level.
>>> At what point
>>> would IcedTea
>>> be considered a part of the JDK?
>>>
>>
>> s/JDK/OpenJDK.
>>
>> Once there is an official group / project proposal and it's accepted.
>>
> So if the constitution says something along the lines of "...current
> OpenJDK projects...", then
> discussions like "how can we encourage IcedTea to become an OpenJDK
> project?" might
> be technically out of bounds.
As long as there is no constitution, there are no bounds, technically. :)
I think that putting in a preamble that the GB's mandate is to work
(among other things) to help the
OpenJDK community grow and prosper would cover 'community building' efforts.
>>> What will be your stance be on "Open Source" and "Free Software"?
>>>
>>
>> To borrow a bit from Simon Phipps, I'd call OpenJDK "Free Software
>> developed in an Open Source fashion".
>>
>> But to me, personally, both are rather interchangeable, and I use one
>> when I want to emphasize the liberties, and the other one when I want to
>> emphasize the process.
>>
> The question I'm raising here is, suppose in your discussions on some
> issue you say "...we should
> do X because it's in the spirit of FOSS". Unless you've established
> that the "spirit of FOSS"
> is a goal, the argument holds no weight. So I guess I'm just
> suggesting a simple
> "we support the principles of Free Software and Open Source Software"
> type of statement
> somewhere.
Sounds good to me.
>>> What's to stop one company from adding
>>> a few hundred JCP members and controlling the JCP elections and the GB?
>>>
>>
>> JCP members != OpenJDK members.
>>
>> In general, the interim rules, afair, require members to be approved by
>> their peers. That should suffice to avoid egregious stuffing, I hope.
>>
> Yes, OK. I guess this comes down to how the GB is elected, which to be
> defined in the constitution.
>
> Putting on my paranoid-of-Microsoft hat, I picture a new OpenJDK group
> getting formed that
> happens to have a MS or MS-friendly expert group lead. He puts 1000 MS
> employees on the
> expert group in an attempt to influence all elections. I know that
> sounds paranoid, but hey,
> just look at what they've actually done :) Alternatively, IBM could do
> something similar
> with a group who attempts to give Harmony an advantage.
Different election models make sense for different communities. :)
We have discussed how to avoid the problem of a single company
having the majority on the GB. I think one could limit the number of GB
members per
group/project to two, maximally, if stuffing the groups with members
turns out to be a
problem or introduce a staged election process, where each group can
propose up to two
candidates for the GB elections, for example.
I'm not sure that concern is warranted, though, given the current size
of the community,
and given that the GB can dissolve groups, if it turns out that a group
acts to harm the
OpenJDK project, for example.
>>> Finally, you say the GB will be both a legislative and a judicial "branch".
>>> But I haven't seen what "laws" or rules the GB would be creating, so I
>>> don't
>>> see how it's legislative. Will the GB have any role in creating rules,
>>> or is
>>> it strictly for settling disputes?
>>>
>>
>> Legislative: changes to the constitution, charter, defining membership,
>> voting, etc.
>> Judical: actual dispute resolution.
>>
>> There are some legislative necessities to be dealt with by the GB per
>> charter, but I am sure no one on the current IGB has legislative
>> ambitions that go far beyond that, as the minutes of the phone calls show.
>>
> OK. Clearly absent from your "Legislative" list above is "passing new
> laws" - you might want to
> be explicit about that in the constitution, because I always think of
> a constitution as mainly about
> how new laws are formed and bounded.
I'd prefer to avoid adding more layers of pseudo-legalese, so I'd be
quite happy if the only 'law' the
IGB ever gets to deal with is the constitution. Later GBs can change the
constitution accordingly.
>> We haven't really discussed a way to formalize dispute resolution yet.
>>
> That seems like the easy part to me :) Have a hearing and simple
> majority rules.
The way it works in gcc is that the 'GB' politely and repeatedly reminds
people that they should
behave as reasonable adults, and figure out for themselves how to solve
the dispute, until they
start behaving as reasonable adults. That may take some time, in some
cases, as can be expected,
and in general results in people not liking the lazy governance body too
much. :)
A process that makes it easy to obtain fast decisions can have a
counter-productive effect of
encouraging people to drag conflicts to the decision body, rather than
cooling off, and solving
them themselves. So I'd like to give the GB ample time to deal with
disputes, say 6-12 months,
before coming to a decision. If an issue really persists over the course
of 12 months without
a solution, then it is probably something that the GB needs to deal
with, one way or another.
cheers,
dalibor topic
More information about the gb-discuss
mailing list