|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
Some thoughts about OpenJDK ConstitutionHere are some random thoughts on the OpenJDK constitution.
I assume you're way ahead on this, but using the OpenSolaris constitution as a starting point would make sense. 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. Clarity on this in the constitution is needed so that later you don't get stuck if confronted with an issue where you have to decide between what's best for the OpenJDK community and what's best for some larger community. The constitution should specify the bounds of the JDK: Is the TCK considered part of the OpenJDK? Are licensing issues part of OpenJDK? Is compatibility with other implementations considered part of the OpenJDK? What will your relationship be with alternative implementations? For example, should you be having any discussions about Harmony at all? At what point would IcedTea be considered a part of the JDK? Will you support the interests of OpenJDK only, or also other implementations? For example, suppose you need to handle a dispute or a request that involves an alternate implementation; would it matter whether that alternate is Harmony, Classpath, or (a not-yet-merged) IcedTea? Or suppose you need to choose between two competing implementations for a new feature, say one from Sun and one from IcedTea. What would be the guiding principles for choosing? What will be your stance be on "Open Source" and "Free Software"? I noticed that in your first two meetings, you often talked about "open source" but rarely about "free". The OpenSolaris constitution mentions "Open source" and the OSI, but never "free software" and the FSF. The easy answer is "we're both", but what if some issue comes down to "that goes against what Free Software is all about"? Is Freedom a goal? For that matter, assuming that "Open Source" a goal, should that be stated in the constitution? And if stated, should you specify that OSI compliance is a goal, do you say something about "Open Source principles", or just leave it ambiguous? The reason I bring this up is that if you look at the current TCK/Harmony issue, you might find that it comes down to whether to follow the spirit or the letter of "open source". Better to get the GB all on the same page of guiding principles right off the bat. What will the relationship be between the GB (and OpenJDK in general) and Sun? The OpenSolaris contitution simply says that their GB is the "official liaison" to Sun. I think this may be too vague. For example, if OpenJDK decides on a change, but the Sun employees can't or won't make the change, what happens? What's the relationship between the GB/OpenJDK and the JCP? Will there be any mechanism to avoid "ballot stuffing", for both the GB and the groups, such as Microsoft just did with OSI for OOXML? What's to stop one company from adding a few hundred JCP members and controlling the JCP elections and the GB? I'm surprised that the OpenSolaris constitution says nothing about overall principles. I think it should state some guiding principles, such as: * The ongoing maintenance, enhancement, and viability of OpenJDK * Increased community participation in OpenJDK development * Collaboration with alternative implementations (or not) * Collaboration with ports of the reference implementation (or not) * Adherence to principles of Open Source and/or Free Software (or not) 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? I hope you find these thoughts useful. Thanks for making the process open, and good luck with it. Andy Tripp |
|
|
Re: Some thoughts about OpenJDK ConstitutionHi Andy, you've got some great questions and ideas here.
The core thing I see here is a matter of 'scope', what scope does the OpenJDK community encompass? I know we at Sun in establishing the OpenJDK project intend the scope to be just the source code of Sun's JDK. For example... 'Compatibility with other implementations': That's the job of the JCP.. because it's the JCP and JSR's and TCK's which define compatibility with the specification. It's the joint compatibility with the specification which determines compatibility between Java implementations. Um, as the Quality rep in this... I can say that we at Sun are doing testing of the jdk7 binary builds and are trusting that since the source for openjdk and jdk7 is almost entirely the same that jdk7 testing is enough to ensure the openjdk is good quality. But we generally don't do specific testing of openjdk builds. 'TCK considered part of the OpenJDK': Um.. this raises some interesting questions for me, that are related to the proposed Conformance group. I'm thinking the Java TCK (JCK) belongs in the JCP scope rather than the OpenJDK scope. All TCK's are defined as part of a JSR, and the JCK is no different. Those are all the thoughts I have, and I wish to thank you for stirring up some good thinking on my part. I hope to help stir others to discussion. - David Herron Andy Tripp wrote: > Here are some random thoughts on the OpenJDK constitution. > > I assume you're way ahead on this, but using the > OpenSolaris constitution as a starting point would make sense. > > 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. > Clarity on this in the constitution is needed so that later > you don't get stuck if confronted with > an issue where you have to decide between what's best for > the OpenJDK community and what's best for some larger community. > > The constitution should specify the bounds of the JDK: > Is the TCK considered part of the OpenJDK? > Are licensing issues part of OpenJDK? > Is compatibility with other implementations considered part of the > OpenJDK? > > What will your relationship be with alternative implementations? For > example, > should you be having any discussions about Harmony at all? At what > point would IcedTea > be considered a part of the JDK? Will you support the interests of > OpenJDK only, > or also other implementations? For example, suppose you need to handle > a dispute or a > request that involves an alternate implementation; would it matter > whether that alternate > is Harmony, Classpath, or (a not-yet-merged) IcedTea? Or suppose you > need to choose > between two competing implementations for a new feature, say one from > Sun and one > from IcedTea. What would be the guiding principles for choosing? > > What will be your stance be on "Open Source" and "Free Software"? I > noticed that > in your first two meetings, you often talked about "open source" but > rarely > about "free". The OpenSolaris constitution mentions "Open source" and > the OSI, > but never "free software" and the FSF. The easy answer is "we're > both", but > what if some issue comes down to "that goes against what Free Software > is all about"? > Is Freedom a goal? For that matter, assuming that "Open Source" a > goal, should that > be stated in the constitution? And if stated, should you specify > that OSI compliance is a goal, do you say something about "Open Source > principles", > or just leave it ambiguous? The reason I bring this up is that if you > look at the current > TCK/Harmony issue, you might find that it comes down to whether to > follow the > spirit or the letter of "open source". Better to get the GB all on the > same page > of guiding principles right off the bat. > > What will the relationship be between the GB (and OpenJDK in general) > and Sun? > The OpenSolaris contitution simply says that their GB is the "official > liaison" to Sun. > I think this may be too vague. For example, if OpenJDK decides on a > change, but the > Sun employees can't or won't make the change, what happens? What's the > relationship > between the GB/OpenJDK and the JCP? > > Will there be any mechanism to avoid "ballot stuffing", for both the GB > and the groups, such as Microsoft just > did with OSI for OOXML? What's to stop one company from adding > a few hundred JCP members and controlling the JCP elections and the GB? > > I'm surprised that the OpenSolaris constitution says nothing about > overall principles. > I think it should state some guiding principles, such as: > * The ongoing maintenance, enhancement, and viability of OpenJDK > * Increased community participation in OpenJDK development > * Collaboration with alternative implementations (or not) > * Collaboration with ports of the reference implementation (or not) > * Adherence to principles of Open Source and/or Free Software (or not) > > 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? > > I hope you find these thoughts useful. > Thanks for making the process open, and good luck with it. > > Andy Tripp > |
|
|
Re: Some thoughts about OpenJDK ConstitutionAndy Tripp wrote:
> Here are some random thoughts on the OpenJDK constitution. Thank you for posting them, Andy. > 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. > 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. > Are licensing issues part of OpenJDK? Licensing changes are out of reach of the (interim) governance board per its charter, if that's what you mean. > Is compatibility with other implementations considered part of the OpenJDK? That's what we have the JCP, and the OpenJDK TCK license for. > What will your relationship be with alternative implementations? Good, I hope! > For > example, > should you be having any discussions about Harmony at all? As long as they relate to development on OpenJDK, sure, why not. > 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. > 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 reason I bring this up is that if you > look at the current > TCK/Harmony issue, you might find that it comes down to whether to > follow the > spirit or the letter of "open source". Better to get the GB all on the > same page > of guiding principles right off the bat. The TCK is orthogonal to OpenJDK's Free Software status. You don't need the TCK in order to use, learn from, modify, or distribute OpenJDK, or to contribute to it. You need it if you want additional privileges and compatibility guarantees (which are all very desirable things, of course). > What will the relationship be between the GB (and OpenJDK in general) > and Sun? That remains to be formalized. > What's the > relationship > between the GB/OpenJDK and the JCP? Orthogonal. See http://www.sun.com/software/opensource/java/faq.jsp#l I'd expect OpenJDK to have a bit of a halo effect on JSR RIs going into it, as it makes sense to develop them with the OpenJDK community, rather then behind closed doors. But I don't expect OpenJDK or the GB to take (or even desire) a formal role in the JCP as such. > Will there be any mechanism to avoid "ballot stuffing", for both the GB > and the groups, such as Microsoft just > did with OSI for OOXML? s/OSI/ISO. OpenJDK != ISO, so paying a few thousand dollars here and there won't get Microsoft influence. Coincidentally, We've discussed in our face to face meeting how to avoid control of the GB by a single entity, and I hope we'll get the minutes published soon. > 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. > I think it should state some guiding principles, such as: > * The ongoing maintenance, enhancement, and viability of OpenJDK > * Increased community participation in OpenJDK development > * Collaboration with alternative implementations (or not) > * Collaboration with ports of the reference implementation (or not) > * Adherence to principles of Open Source and/or Free Software (or not) Thank you, those are all good suggestions, and I'd put them on the agenda for the next call, with your approval. > 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. We haven't really discussed a way to formalize dispute resolution yet. > I hope you find these thoughts useful. > Thanks for making the process open, and good luck with it. Thanks, Andy, and thank you for contributing to make them better. cheers, dalibor topic |
|
|
Re: Some thoughts about OpenJDK ConstitutionThanks for responding. I was starting to wonder if anyone was out there :) Great responses, and great work so far on the GB. I just have a few responses. 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). 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. Well, you need to choose between "good" and "nonexistant" :) 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". 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. 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. Right. Some have argued that Sun/Java/JDK goes against the "spirit of FOSS" because Sun will only allow the "Java" trademark on something that passes the TCK, and of course the TCK has terms that Apache can't agree to. Obviously, I'm worried about members of the [i]GB getting involved in that issue, even though it's separate from OpenJDK. 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. Yes, please do. 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. That seems like the easy part to me :) Have a hearing and simple majority rules.We haven't really discussed a way to formalize dispute resolution yet. Thanks again, Andy |
|
|
Re: Some thoughts about OpenJDK ConstitutionAndy 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. 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". 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. 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. 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. 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 |
| Free embeddable forum powered by Nabble | Forum Help |