1 |
peper 08/01/05 03:05:07 |
2 |
|
3 |
Modified: glep-0001.txt |
4 |
Log: |
5 |
Fix GLEP 01 txt. |
6 |
|
7 |
Revision Changes Path |
8 |
1.10 xml/htdocs/proj/en/glep/glep-0001.txt |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/glep/glep-0001.txt?rev=1.10&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/glep/glep-0001.txt?rev=1.10&content-type=text/plain |
12 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/glep/glep-0001.txt?r1=1.9&r2=1.10 |
13 |
|
14 |
Index: glep-0001.txt |
15 |
=================================================================== |
16 |
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/glep/glep-0001.txt,v |
17 |
retrieving revision 1.9 |
18 |
retrieving revision 1.10 |
19 |
diff -u -r1.9 -r1.10 |
20 |
--- glep-0001.txt 5 Jan 2008 02:36:35 -0000 1.9 |
21 |
+++ glep-0001.txt 5 Jan 2008 03:05:07 -0000 1.10 |
22 |
@@ -0,0 +1,356 @@ |
23 |
+GLEP: 1 |
24 |
+Title: GLEP Purpose and Guidelines |
25 |
+Version: $Revision: 1.10 $ |
26 |
+Last-Modified: $Date: 2008/01/05 03:05:07 $ |
27 |
+Author: Grant Goodyear <g2boojum@g.o> |
28 |
+Status: Active |
29 |
+Type: Informational |
30 |
+Content-Type: text/x-rst |
31 |
+Created: 31-May-2003 |
32 |
+Post-History: 1-Jun-2003, 2-Jul-2003 |
33 |
+ |
34 |
+ |
35 |
+Credits |
36 |
+======= |
37 |
+ |
38 |
+The GLEP concept, and, in fact, much of the text of this document, |
39 |
+is liberally stolen from Python's [#Python]_ PEPs |
40 |
+[#PEPS]_, especially |
41 |
+PEP-0001 [#PEP1]_ by Barry A. Warsaw, Jeremy Hylton, and David Goodger. |
42 |
+ |
43 |
+What is a GLEP? |
44 |
+=============== |
45 |
+ |
46 |
+GLEP stands for "Gentoo Linux Enhancement Proposal". A GLEP is a design |
47 |
+document providing information to the Gentoo Linux community, or describing |
48 |
+a new feature for Gentoo Linux. The GLEP should provide a concise technical |
49 |
+specification of the feature and rationale for the feature. |
50 |
+ |
51 |
+We intend GLEPs to be the primary mechanisms for proposing *significant* new |
52 |
+features, for collecting community input on an issue, and for |
53 |
+documenting the design decisions that have gone into Gentoo Linux. The GLEP |
54 |
+author is responsible for building consensus within the community and |
55 |
+documenting dissenting opinions. |
56 |
+ |
57 |
+Because the GLEPs are maintained as text files under CVS control, their |
58 |
+revision history is the historical record of the feature proposal |
59 |
+[#CVS]_. |
60 |
+ |
61 |
+ |
62 |
+Kinds of GLEPs |
63 |
+============== |
64 |
+ |
65 |
+There are two kinds of GLEPs. A Standards Track GLEP describes a new feature |
66 |
+or implementation for Gentoo Linux. An Informational GLEP describes provides |
67 |
+general guidelines or information to the Gentoo Linux community, but does not |
68 |
+propose a new feature. Informational GLEPs do not necessarily represent a |
69 |
+Gentoo Linux community consensus or recommendation, so users and implementors |
70 |
+are free to ignore Informational GLEPs or follow their advice. |
71 |
+ |
72 |
+ |
73 |
+GLEP Work Flow |
74 |
+============== |
75 |
+ |
76 |
+The GLEP editors assign GLEP numbers and change their status. The current |
77 |
+GLEP editors are Grant Goodyear and Alastair Tse. Please send all |
78 |
+GLEP-related email to <glep@g.o>. |
79 |
+ |
80 |
+The GLEP process begins with a new idea for Gentoo Linux. It is highly |
81 |
+recommended that a single GLEP contain a single key proposal or new idea. The |
82 |
+more focussed the GLEP, the more successful it tends to be. The GLEP editors |
83 |
+reserve the right to reject GLEP proposals if they appear too unfocussed or |
84 |
+too broad. If in doubt, split your GLEP into several well-focussed ones. |
85 |
+ |
86 |
+Each GLEP must have a champion -- someone who writes the GLEP using the style |
87 |
+and format described below, shepherds the discussions in the appropriate |
88 |
+forums, and attempts to build community consensus around the idea. The GLEP |
89 |
+champion (a.k.a. Author) should first attempt to ascertain whether the idea is |
90 |
+GLEP-able. Small enhancements or patches often don't need a GLEP and can be |
91 |
+injected into the Gentoo Linux development work flow with an enhancement "bug" |
92 |
+submitted to the Gentoo Linux bugzilla [#BUGS]_. |
93 |
+ |
94 |
+The GLEP champion then emails the GLEP editors <glep@g.o> with a |
95 |
+proposed title and a rough, but fleshed out, draft of the GLEP. This draft |
96 |
+must be written in GLEP style as described below. |
97 |
+ |
98 |
+If the GLEP editor accepts the GLEP, he will assign the GLEP a number, label |
99 |
+it as Standards Track (a better name would be nice here -- suggestions?) or |
100 |
+Informational, give it status "Draft", and create and check-in the initial |
101 |
+draft of the GLEP. The GLEP editors will not unreasonably deny a GLEP. |
102 |
+Reasons for denying GLEP status include duplication of effort, being |
103 |
+technically unsound, not providing proper motivation or addressing backwards |
104 |
+compatibility, or not in keeping with Gentoo Linux philosophy. |
105 |
+ |
106 |
+If a pre-GLEP is rejected, the author may elect to take the pre-GLEP to the |
107 |
+gentoo-dev@g.o mailing list to help flesh it out, gain feedback and |
108 |
+consensus from the community at large, and improve the GLEP for re-submission. |
109 |
+ |
110 |
+The author of the GLEP is then responsible for posting the GLEP to the |
111 |
+gentoo-dev mailing list and to the Gentoo Linux forums [#FORUMS]_, and |
112 |
+marshaling community support for it. As updates are necessary, the GLEP |
113 |
+author can check in new versions if they have CVS commit permissions, or can |
114 |
+email new GLEP versions to the GLEP editors for committing. |
115 |
+ |
116 |
+Standards Track GLEPs consist of two parts, a design document and a reference |
117 |
+implementation. The GLEP should be reviewed and accepted before a reference |
118 |
+implementation is begun, unless a reference implementation will aid people in |
119 |
+studying the GLEP. Standards Track GLEPs must include an implementation -- in |
120 |
+the form of code, patch, or URL to same -- before it can be considered Final. |
121 |
+ |
122 |
+GLEP authors are responsible for collecting community feedback on a GLEP |
123 |
+before submitting it for review. A GLEP that has not been discussed on |
124 |
+gentoo-dev@g.o and/or the Gentoo Linux forums [#FORUMS]_ will not be |
125 |
+accepted. However, wherever possible, long open-ended discussions on public |
126 |
+mailing lists should be avoided. Strategies to keep the discussions efficient |
127 |
+include setting up a specific forums thread for the topic, having the GLEP |
128 |
+author accept private comments in the early design phases, etc. GLEP authors |
129 |
+should use their discretion here. |
130 |
+ |
131 |
+Once the authors have completed a GLEP, they must inform the GLEP editors that |
132 |
+it is ready for review. GLEPs are reviewed by the appropriate Gentoo |
133 |
+Manager [#MANAGER]_, who may approve or reject a GLEP outright, or |
134 |
+send it back to the author(s) for revision. For a GLEP that is pre-determined |
135 |
+to be approvable (e.g., it is an obvious win as-is and/or its implementation |
136 |
+has already been checked in) the appropriate Gentoo Manager [#MANAGER]_ |
137 |
+may also initiate a GLEP review, first notifying the GLEP author(s) and giving |
138 |
+them a chance to make revisions. |
139 |
+ |
140 |
+For a GLEP to be approved it must meet certain minimum criteria. It must be a |
141 |
+clear and complete description of the proposed enhancement. The enhancement |
142 |
+must represent a net improvement. The proposed implementation, if applicable, |
143 |
+must be solid and must not complicate the distribution unduly. Finally, a |
144 |
+proposed enhancement must satisfy the philosophy of Gentoo Linux. |
145 |
+ |
146 |
+Once a GLEP has been accepted, the reference implementation must be completed. |
147 |
+When the reference implementation is complete and accepted, the status will be |
148 |
+changed to "Final". |
149 |
+ |
150 |
+A GLEP can also be assigned status "Deferred". The GLEP author or editor can |
151 |
+assign the GLEP this status when no progress is being made on the GLEP. Once |
152 |
+a GLEP is deferred, the GLEP editor can re-assign it to draft status. |
153 |
+ |
154 |
+A GLEP can also be "Rejected". Perhaps after all is said and done it was not |
155 |
+a good idea. It is still important to have a record of this fact. |
156 |
+ |
157 |
+GLEPs can also be replaced by a different GLEP, rendering the original |
158 |
+obsolete (where version 2 of a policy, for example, might replace version 1). |
159 |
+ |
160 |
+GLEP work flow is as follows:: |
161 |
+ |
162 |
+ Draft -> Accepted -> Final -> Replaced |
163 |
+ ^ |
164 |
+ +----> Rejected |
165 |
+ v |
166 |
+ Deferred |
167 |
+ |
168 |
+Some Informational GLEPs may also have a status of "Active" if they are never |
169 |
+meant to be completed. E.g. GLEP 1 (this GLEP). |
170 |
+ |
171 |
+ |
172 |
+What belongs in a successful GLEP? |
173 |
+================================== |
174 |
+ |
175 |
+Each GLEP should have the following parts: |
176 |
+ |
177 |
+1. Preamble -- RFC 822 style headers containing meta-data about the |
178 |
+ GLEP, including the GLEP number, a short descriptive title (limited |
179 |
+ to a maximum of 44 characters), the names, and optionally the |
180 |
+ contact info for each author, etc. |
181 |
+ |
182 |
+2. Abstract -- a short (~200 word) description of the technical issue |
183 |
+ being addressed. |
184 |
+ |
185 |
+3. Motivation -- The motivation is critical for GLEPs that want to |
186 |
+ modify Gentoo Linux functionality. It should clearly explain why the |
187 |
+ existing functionality or policy is inadequate to address the problem that |
188 |
+ the GLEP solves. GLEP submissions without sufficient motivation may be |
189 |
+ rejected outright. |
190 |
+ |
191 |
+4. Specification -- The technical specification should describe the |
192 |
+ specific areas of Gentoo Linux that would be touched by this GLEP. If new |
193 |
+ functionality is being introduced, what packages will that functionality |
194 |
+ affect? If new policy, who will be affected? |
195 |
+ |
196 |
+5. Rationale -- The rationale fleshes out the specification by |
197 |
+ describing what motivated the design and why particular design decisions |
198 |
+ were made. It should describe alternate designs that were considered and |
199 |
+ related work, e.g. how the feature is supported in other distributions. |
200 |
+ |
201 |
+ The rationale should provide evidence of consensus within the community and |
202 |
+ discuss important objections or concerns raised during discussion. |
203 |
+ |
204 |
+6. Backwards Compatibility -- All GLEPs |
205 |
+ must include a section describing any issues of backwards incompatibilities |
206 |
+ and their severity. The GLEP must explain how the author proposes to deal |
207 |
+ with these incompatibilities. (Even if there are none, this section should |
208 |
+ be included to clearly state that fact.) GLEP submissions without a |
209 |
+ sufficient backwards compatibility treatise may be rejected outright. |
210 |
+ |
211 |
+7. Reference Implementation -- The reference implementation must be |
212 |
+ completed before any GLEP is given status "Final", but it need not be |
213 |
+ completed before the GLEP is accepted. It is better to finish the |
214 |
+ specification and rationale first and reach consensus on it before writing |
215 |
+ code or significantly modifying ebuilds. |
216 |
+ |
217 |
+8. Copyright/public domain -- Each GLEP must either be explicitly |
218 |
+ labelled as placed in the public domain (see this GLEP as an example) or |
219 |
+ licensed under the Open Publication License [#OPL]. |
220 |
+ |
221 |
+ |
222 |
+GLEP Formating and Template |
223 |
+=========================== |
224 |
+ |
225 |
+GLEPs are written either in Gentoo Linux Guide-XML [#GUIDEXML]_ or in |
226 |
+a just-barely-marked-up version of plain ASCII text |
227 |
+called ReStructuredText [#ReSTHOME]_ that is then converted to HTML using |
228 |
+Docutils [#DOCUTILS]_. Using ReStructuredText GLEPs allows for rich markup |
229 |
+that is still quite easy to read, but results in much better-looking and more |
230 |
+functional HTML. Moreover, it should be straightforward to convert GLEPs to |
231 |
+Gentoo Linux guide xml [#GUIDEXML]_ if needed. GLEP 2 contains a boilerplate |
232 |
+template [#ReST]_ for use with ReStructuredText GLEPs. |
233 |
+ |
234 |
+ |
235 |
+GLEP Header Preamble |
236 |
+==================== |
237 |
+ |
238 |
+Each GLEP must begin with an RFC 2822 style header preamble. The headers |
239 |
+must appear in the following order. Headers marked with "*" are |
240 |
+optional and are described below. All other headers are required. :: |
241 |
+ |
242 |
+ GLEP: <glep number> |
243 |
+ Title: <glep title> |
244 |
+ Version: <cvs version string> |
245 |
+ Last-Modified: <cvs date string> |
246 |
+ Author: <list of authors' real names and optionally, email addrs> |
247 |
+ * Discussions-To: <email address> |
248 |
+ Status: <Draft | Active | Accepted | Deferred | Rejected | |
249 |
+ Final | Replaced> |
250 |
+ Type: <Informational | Standards Track> |
251 |
+ * Content-Type: <text/plain | text/x-rst> |
252 |
+ * Requires: <glep numbers> |
253 |
+ Created: <date created on, in dd-mmm-yyyy format> |
254 |
+ Post-History: <dates of postings to gentoo-dev> |
255 |
+ * Replaces: <glep number> |
256 |
+ * Replaced-By: <glep number> |
257 |
+ |
258 |
+The Author header lists the names, and optionally the email addresses |
259 |
+of all the authors/owners of the GLEP. The format of the Author header |
260 |
+value must be |
261 |
+ |
262 |
+ Random J. User <address@×××.ain> |
263 |
+ |
264 |
+if the email address is included, and just |
265 |
+ |
266 |
+ Random J. User |
267 |
+ |
268 |
+if the address is not given. |
269 |
+ |
270 |
+If there are multiple authors, each should be on a separate line |
271 |
+following RFC 2822 continuation line conventions. Note that personal |
272 |
+email addresses in GLEPs will be obscured as a defense against spam |
273 |
+harvesters. |
274 |
+ |
275 |
+While a GLEP is in private discussions (usually during the initial Draft |
276 |
+phase), a Discussions-To header will indicate the mailing list or URL where |
277 |
+the GLEP is being discussed. No Discussions-To header is necessary if the |
278 |
+GLEP is being discussed privately with the author, or on the gentoo-dev |
279 |
+mailing list. Note that email addresses in the Discussions-To header will not |
280 |
+be obscured. |
281 |
+ |
282 |
+The Type header specifies the type of GLEP: Informational or Standards |
283 |
+Track. |
284 |
+ |
285 |
+The format of a GLEP is specified with a Content-Type header, which |
286 |
+should read "text/xml" for Gentoo Guide XML or |
287 |
+"text/x-rst" for ReStructuredText GLEPs (see GLEP 2 |
288 |
+[#ReST]_). |
289 |
+ |
290 |
+The Created header records the date that the GLEP was assigned a number, while |
291 |
+Post-History is used to record the dates of when new versions of the GLEP are |
292 |
+posted to gentoo-dev. Both headers should be in dd-mmm-yyyy format, e.g. |
293 |
+14-Aug-2001. |
294 |
+ |
295 |
+GLEPs may have a Requires header, indicating the GLEP numbers that this GLEP |
296 |
+depends on. |
297 |
+ |
298 |
+GLEPs may also have a Replaced-By header indicating that a GLEP has been |
299 |
+rendered obsolete by a later document; the value is the number of the GLEP |
300 |
+that replaces the current document. The newer GLEP must have a Replaces |
301 |
+header containing the number of the GLEP that it rendered obsolete. |
302 |
+ |
303 |
+ |
304 |
+Reporting GLEP Bugs, or Submitting GLEP Updates |
305 |
+=============================================== |
306 |
+ |
307 |
+How you report a bug, or submit a GLEP update depends on several factors, such |
308 |
+as the maturity of the GLEP, the preferences of the GLEP author, and the |
309 |
+nature of your comments. For the early draft stages of the GLEP, it's |
310 |
+probably best to send your comments and changes directly to the GLEP author. |
311 |
+For more mature, or finished GLEPs you may want to submit corrections to the |
312 |
+Gentoo Linux bugzilla [#BUGS]_ so that your changes don't get lost. If the GLEP |
313 |
+author is a Gentoo Linux developer, assign the bug/patch to him, otherwise |
314 |
+assign it to the GLEP editors. |
315 |
+ |
316 |
+When in doubt about where to send your changes, please check first with the |
317 |
+GLEP author and/or GLEP editors. |
318 |
+ |
319 |
+GLEP authors who are also Gentoo Linux developers can update the GLEPs |
320 |
+themselves by using "cvs commit" to commit their changes. |
321 |
+ |
322 |
+Transferring GLEP Ownership |
323 |
+=========================== |
324 |
+ |
325 |
+It occasionally becomes necessary to transfer ownership of GLEPs to a new |
326 |
+champion. In general, we'd like to retain the original author as a co-author |
327 |
+of the transferred GLEP, but that's really up to the original author. A good |
328 |
+reason to transfer ownership is because the original author no longer has the |
329 |
+time or interest in updating it or following through with the GLEP process, or |
330 |
+has fallen off the face of the 'net (i.e. is unreachable or not responding to |
331 |
+email). A bad reason to transfer ownership is because you don't agree with |
332 |
+the direction of the GLEP. We try to build consensus around a GLEP, but if |
333 |
+that's not possible, you can always submit a competing GLEP. |
334 |
+ |
335 |
+If you are interested in assuming ownership of a GLEP, send a message asking |
336 |
+to take over, addressed to both the original author and the GLEP editors |
337 |
+<glep@g.o>. If the original author doesn't respond to email in a |
338 |
+timely manner, the GLEP editors will make a unilateral decision (it's not like |
339 |
+such decisions can't be reversed :). |
340 |
+ |
341 |
+ |
342 |
+References and Footnotes |
343 |
+======================== |
344 |
+ |
345 |
+.. [#PYTHON] http://www.python.org |
346 |
+ |
347 |
+.. [#PEPS] http://www.python.org/peps |
348 |
+ |
349 |
+.. [#PEP1] http://www.python.org/peps/pep-0001.html |
350 |
+ |
351 |
+.. [#CVS] This historical record is available by the normal CVS commands |
352 |
+ for retrieving older revisions. For those without direct access to the CVS |
353 |
+ tree, you can browse the current and past GLEP revisions via the Gentoo |
354 |
+ Linux viewcvs web site at |
355 |
+ http://www.gentoo.org/cgi-bin/viewcvs.cgi/gentoo/xml/htdocs/proj/en/glep/ |
356 |
+ |
357 |
+.. [#ReST] GLEP 2, Sample ReStructuredText GLEP Template, |
358 |
+ (http://glep.gentoo.org/glep-0002.html) |
359 |
+ |
360 |
+.. [#BUGS] http://bugs.gentoo.org |
361 |
+ |
362 |
+.. [#FORUMS] http://forums.gentoo.org |
363 |
+ |
364 |
+.. [#MANAGER] http://www.gentoo.org/doc/en/management-structure.xml |
365 |
+ |
366 |
+.. [#OPL] http://www.opencontent.org/openpub/ |
367 |
+ |
368 |
+.. [#ReSTHOME] http://docutils.sourceforge.net/rst.html |
369 |
+ |
370 |
+.. [#GUIDEXML] http://www.gentoo.org/doc/en/xml-guide.xml |
371 |
+ |
372 |
+.. [#DOCUTILS] http://docutils.sourceforge.net/ |
373 |
+ |
374 |
+ |
375 |
+Copyright |
376 |
+========= |
377 |
+ |
378 |
+This document has been placed in the public domain. |
379 |
|
380 |
|
381 |
|
382 |
-- |
383 |
gentoo-commits@g.o mailing list |