Contents of /xml/htdocs/proj/en/glep/glep-0039.html

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1.10 - (hide annotations) (download) (as text)
Sun Jan 20 02:56:39 2008 UTC (11 years, 2 months ago) by antarus
Branch: MAIN
Changes since 1.9: +4 -2 lines
File MIME type: text/html
Mark glep 39 as replacing glep 1, per Betelgeuse

1 g2boojum 1.1 <?xml version="1.0" encoding="utf-8" ?>
2     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 antarus 1.9
5 g2boojum 1.1 <head>
6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 g2boojum 1.4 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
8 g2boojum 1.1 <title>GLEP 39 -- An "old-school" metastructure proposal with "boot for being a slacker"</title>
9 antarus 1.7 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
10 g2boojum 1.1 </head>
11     <body bgcolor="white">
12     <table class="navigation" cellpadding="0" cellspacing="0"
13     width="100%" border="0">
14     <tr><td class="navicon" width="150" height="35">
15     <a href="http://www.gentoo.org/" title="Gentoo Linux Home Page">
16     <img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
17     border="0" width="150" height="35" /></a></td>
18     <td class="textlinks" align="left">
19     [<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
20 antarus 1.9 [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
21 g2boojum 1.4 [<b><a href="http://www.gentoo.org/proj/en/glep/glep-0039.txt">GLEP Source</a></b>]
22 g2boojum 1.1 </td></tr></table>
23     <table class="rfc2822 docutils field-list" frame="void" rules="none">
24     <col class="field-name" />
25     <col class="field-body" />
26     <tbody valign="top">
27     <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">39</td>
28     </tr>
29     <tr class="field"><th class="field-name">Title:</th><td class="field-body">An &quot;old-school&quot; metastructure proposal with &quot;boot for being a slacker&quot;</td>
30     </tr>
31 antarus 1.9 <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.4</td>
32 g2boojum 1.1 </tr>
33 antarus 1.9 <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0039.txt?cvsroot=gentoo">2007/10/12 13:01:36</a></td>
34 g2boojum 1.1 </tr>
35     <tr class="field"><th class="field-name">Author:</th><td class="field-body">Grant Goodyear &lt;g2boojum&#32;&#97;t&#32;gentoo.org&gt;,
36     Ciaran McCreesh &lt;ciaranm&#32;&#97;t&#32;gentoo.org&gt;,</td>
37     </tr>
38     <tr class="field"><th class="field-name">Status:</th><td class="field-body">Accepted</td>
39     </tr>
40     <tr class="field"><th class="field-name">Type:</th><td class="field-body">Informational</td>
41     </tr>
42 g2boojum 1.4 <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td>
43 g2boojum 1.1 </tr>
44     <tr class="field"><th class="field-name">Created:</th><td class="field-body">01-Sep-2005</td>
45     </tr>
46 antarus 1.10 <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">01-Sep-2005, 09-Feb-2006, 12-Oct-2007, 19-Jan-2008</td>
47     </tr>
48     <tr class="field"><th class="field-name">Replaces:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/proj/en/glepglep-0001.html">1</a></td>
49 g2boojum 1.1 </tr>
50     </tbody>
51     </table>
52     <hr />
53 g2boojum 1.4 <div class="contents topic">
54     <p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
55 g2boojum 1.1 <ul class="simple">
56 ciaranm 1.3 <li><a class="reference" href="#status" id="id2" name="id2">Status</a></li>
57     <li><a class="reference" href="#abstract" id="id3" name="id3">Abstract</a></li>
58     <li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li>
59     <li><a class="reference" href="#specification" id="id5" name="id5">Specification</a></li>
60     <li><a class="reference" href="#rationale" id="id6" name="id6">Rationale</a></li>
61     <li><a class="reference" href="#copyright" id="id7" name="id7">Copyright</a></li>
62 g2boojum 1.1 </ul>
63     </div>
64 g2boojum 1.4 <div class="section">
65     <h1><a class="toc-backref" href="#id2" id="status" name="status">Status</a></h1>
66 ciaranm 1.3 <p>Implemented. GLEP amended on 09 Feb 2006 to add the final bullet point to
67     list B in <a class="reference" href="#specification">Specification</a>.</p>
68     </div>
69 g2boojum 1.4 <div class="section">
70     <h1><a class="toc-backref" href="#id3" id="abstract" name="abstract">Abstract</a></h1>
71 g2boojum 1.1 <p>GLEP 4 is replaced with a new &quot;metastructure&quot; that retains established
72     projects (and makes new projects easier to create), but adds a new &quot;Gentoo
73     Council&quot; to handle global (cross-project) issues.</p>
74     </div>
75 g2boojum 1.4 <div class="section">
76     <h1><a class="toc-backref" href="#id4" id="motivation" name="motivation">Motivation</a></h1>
77 g2boojum 1.1 <p>The Fosdem and subsequent reform proposals shepherded by Koon are thorough,
78     extremely detailed, and somewhat complicated. They have a lot of good ideas.
79     For many who have been with Gentoo a long time, though, there's just something
80     about them that they don't really like. More than a few Gentoo devs are
81     almost entirely uninterested in metastructure as long as it doesn't get in
82     their way, and because the current proposals impose at least some order on our
83     unruly devs these proposals are guaranteed to &quot;get in the way&quot; to some degree.
84     For example, a frequent comment that has been heard is that many Gentoo devs
85     don't know who his/her manager (or project lead) is, which is a clear
86     indication that our current system is broken. The existing proposals solve
87     the problem by requiring that each dev belong to a project. Perhaps the part
88     that is broken, though, is the belief that every dev should have a manager.
89     The history of Gentoo is such that traditionally big advances have often been
90     implemented by a single or a small number of dedicated devs (thus our
91     long-standing tradition that devs have access to the entire tree), and surely
92     we do not want to make things harder (or less fun) for such people. So here's
93     a minimal proposal for those who remembers the &quot;good ol' days&quot; and thinks
94     things aren't really so different now.</p>
95     <p>Synopsis of the current system:</p>
96     <blockquote>
97     <ul class="simple">
98     <li>There are 13-15 top-level projects (TLPs). Top-level projects are
99     comprised of sub-projects, and the goal was that every Gentoo
100     project would be a sub-project of one of the TLPs. Supposedly each
101     dev therefore belongs to one or more TLPs.</li>
102     <li>Each TLP has at least a &quot;strategic&quot; manager, and potentially also an
103     &quot;operational&quot; manager. Only the strategic managers vote on global
104     Gentoo issues.</li>
105     <li>The managers of each TLP were appointed by drobbins, the other
106     TLP managers, or elected by their project members. These managers
107     have no set term.</li>
108     <li>Within each TLP the managers are responsible for making decisions
109     about the project, defining clear goals, roadmaps, and timelines
110     for the project, and solving problems that arise within the TLP
111     (see GLEP 4 for the specific list).</li>
112     <li>The strategic TLP managers are also responsible for deciding issues that
113     affect Gentoo across project lines. The primary mechanism for
114     handling global-scope issues is the managers' meetings.</li>
115     <li>Disciplinary action taken against erring devs is handled by the
116     &quot;devrel&quot; TLP, unless the dev is a strategic TLP manager. In that
117     case disciplinary action must be enacted by the other strategic TLP
118     managers.</li>
119     </ul>
120     </blockquote>
121     <p>Problems with the existing system:</p>
122     <ol class="arabic simple">
123     <li>The assumption that TLPs are complete is either incorrect (there
124     still is no &quot;server&quot; TLP) or just plain weird (but the lack of a
125     server TLP is technically okay because all devs who don't have an
126     obvious TLP belong to the &quot;base&quot; TLP by default).</li>
127     <li>There is nothing at all to ensure that project leads actually do
128     represent the devs they supposedly lead or satisfy their
129     responsibilities. Indeed, should a TLP manager go AWOL it is not at
130     all obvious how the situation should be resolved.</li>
131 g2boojum 1.4 <li>Nothing is being decided at global scope right now. Some TLP strategic
132 g2boojum 1.1 managers rarely attend the managers' meetings, and the managers as a
133     whole certainly are not providing any sort of global vision for
134     Gentoo right now.</li>
135     <li>Even if the strategic TLP managers were making global decisions for
136     Gentoo, the TLP structure is such that almost all devs fall under
137     only one or two TLPs. Thus voting on global issues is hardly
138     proportional, and thus many devs feel disenfranchised.</li>
139     <li>Regardless of whether or not it is justified, devrel is loathed by
140     many in its enforcement role.</li>
141     </ol>
142     <p>Here's a couple of additional problems identified by the current
143     metastructure reform proposals:</p>
144     <ol class="arabic simple" start="6">
145     <li>The current system has no mechanism for identifying either projects
146     or devs that have gone inactive.</li>
147     <li>Bugs that cut across projects often remain unresolved.</li>
148     <li>GLEPs often linger in an undetermined state.</li>
149     </ol>
150     </div>
151 g2boojum 1.4 <div class="section">
152     <h1><a class="toc-backref" href="#id5" id="specification" name="specification">Specification</a></h1>
153 g2boojum 1.1 <ol class="upperalpha">
154     <li><p class="first">A project is a group of developers working towards a goal (or a set
155     of goals).</p>
156     <blockquote>
157     <ul class="simple">
158     <li>A project exists if it has a web page at
159     www.g.o/proj/en/whatever that is maintained. (&quot;Maintained&quot; means
160     that the information on the page is factually correct and not
161     out-of-date.) If the webpage isn't maintained, it is presumed dead.</li>
162     <li>It may have one or many leads, and the leads are
163     selected by the members of the project. This selection must
164     occur at least once every 12 months, and may occur at any
165     time.</li>
166     <li>It may have zero or more sub-projects. Sub-projects are
167     just projects that provide some additional structure, and their
168     web pages are in the project's space.</li>
169     <li>Not everything (or everyone) needs a project.</li>
170     <li>Projects need not be long-term.</li>
171     <li>Projects may well conflict with other projects. That's okay.</li>
172     <li>Any dev may create a new project just by creating a new page
173     (or, more realistically, directory and page) in
174 antarus 1.8 <tt class="docutils literal"><span class="pre">gentoo/xml/htdocs/proj/en</span></tt> and sending a Request For Comments
175     (RFC) e-mail to gentoo-dev. Note that this GLEP does not provide for
176     a way for the community at large to block a new project, even if the
177     comments are wholly negative.</li>
178 g2boojum 1.1 </ul>
179     </blockquote>
180     </li>
181     <li><p class="first">Global issues will be decided by an elected Gentoo council.</p>
182     <blockquote>
183     <ul class="simple">
184     <li>There will be a set number of council members. (For the
185     first election that number was set to 7 by acclamation.)</li>
186     <li>Council members will be chosen by a general election of all
187     devs once per year.</li>
188     <li>The council must hold an open meeting at least once per month.</li>
189     <li>Council decisions are by majority vote of those who show up (or
190     their proxies).</li>
191     <li>If a council member (or their appointed proxy) fails to show up for
192     two consecutive meetings, they are marked as a slacker.</li>
193     <li>If a council member who has been marked a slacker misses any further
194     meeting (or their appointed proxy doesn't show up), they lose their
195     position and a new election is held to replace that person. The newly
196     elected council member gets a 'reduced' term so that the yearly
197     elections still elect a full group.</li>
198     <li>Council members who have previously been booted for excessive slacking
199     may stand for future elections, including the election for their
200     replacement. They should, however, justify their slackerness, and
201     should expect to have it pointed out if they don't do so themselves.</li>
202     <li>The 'slacker' marker is reset when a member is elected.</li>
203     <li>If any meeting has less than 50% attendance by council members, a new
204     election for <em>all</em> places must be held within a month. The 'one year'
205     is then reset from that point.</li>
206     <li>Disciplinary actions may be appealed to the council.</li>
207 ciaranm 1.3 <li>A proxy must not be an existing council member, and any single person
208     may not be a proxy for more than one council member at any given
209     meeting.</li>
210 g2boojum 1.1 </ul>
211     </blockquote>
212     </li>
213     </ol>
214     </div>
215 g2boojum 1.4 <div class="section">
216     <h1><a class="toc-backref" href="#id6" id="rationale" name="rationale">Rationale</a></h1>
217 g2boojum 1.1 <p>So, does this proposal solve any of the previously-mentioned problems?</p>
218     <p>1. There is no longer any requirement that the project structure be
219     complete. Some devs work on very specific parts of the tree, while
220     some work on practically everything; neither should be shoehorned into
221     an ad-hoc project structure. Moreover, it should be easy to create new
222     projects where needed (and remove them when they are not), which this
223     proposal should enable.</p>
224     <p>2. By having the members choose their project leads periodically, the
225     project leads are necessarily at least somewhat responsible (and hopefully
226     responsive) to the project members. This proposal has removed the list of
227     responsibilities that project leads were supposed to satisfy, since hardly
228     anybody has ever looked at the original list since it was written. Instead
229     the practical responsibility of a lead is &quot;whatever the members require&quot;, and
230     if that isn't satisfied, the members can get a new lead (if they can find
231     somebody to take the job!).</p>
232     <p>3. If the council does a lousy job handling global issues (or has no
233     global vision), vote out the bums.</p>
234     <p>4. Since everybody gets to vote for the council members, at least in
235     principle the council members represent all developers, not just a
236     particular subset.</p>
237     <p>5. An appeal process should make disciplinary enforcement both less
238     capricious and more palatable.</p>
239     <p>6. This proposal doesn't help find inactive devs or projects. It
240     really should not be that much of a problem. We already have a script for
241     identifying devs who haven't made a CVS commit within a certain period of
242     time. As for moribund projects, if the project page isn't maintained, it's
243     dead, and we should remove it. That, too, could be automated. A much bigger
244     problem is understaffed herds, but more organization is not necessarily a
245     solution.</p>
246     <p>7. The metabug project is a great idea. Let's do that! Adding a useful
247     project shouldn't require &quot;metastructure reform&quot;, although with the
248     current system it does. With this proposal it wouldn't.</p>
249     <ol class="arabic simple" start="8">
250     <li>This proposal has nothing to say about GLEPs.</li>
251     </ol>
252     </div>
253 g2boojum 1.4 <div class="section">
254     <h1><a class="toc-backref" href="#id7" id="copyright" name="copyright">Copyright</a></h1>
255 g2boojum 1.1 <p>This document has been placed in the public domain.</p>
256     </div>
258     </div>
259     <div class="footer">
260 g2boojum 1.2 <hr class="footer" />
261 g2boojum 1.1 <a class="reference" href="glep-0039.txt">View document source</a>.
262 antarus 1.10 Generated on: 2008-01-20 02:56 UTC.
263 g2boojum 1.1 Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
264 g2boojum 1.2
265 g2boojum 1.1 </div>
266     </body>
267     </html>

  ViewVC Help
Powered by ViewVC 1.1.20