| 1 | GLEP: 1 |
1 | GLEP: 1 |
| 2 | Title: GLEP Purpose and Guidelines |
2 | Title: GLEP Purpose and Guidelines |
| 3 | Version: $Revision: 1.2 $ |
3 | Version: $Revision: 1.13 $ |
| 4 | Last-Modified: $Date: 2003/06/02 17:37:47 $ |
4 | Last-Modified: $Date: 2011/03/10 20:53:02 $ |
| 5 | Author: Grant Goodyear |
5 | Author: Grant Goodyear <g2boojum@gentoo.org> |
| 6 | Status: Draft |
6 | Status: Active |
| 7 | Type: Informational |
7 | Type: Informational |
| 8 | Content-Type: text/x-rst |
8 | Content-Type: text/x-rst |
| 9 | Created: 31 May 2003 |
9 | Created: 31-May-2003 |
| 10 | Post-History: |
10 | Post-History: 1-Jun-2003, 2-Jul-2003, 19-Jan-2008, 05-Jun-2008, 09-Mar-2011 |
| 11 | |
|
|
| 12 | |
11 | |
| 13 | Credits |
12 | Credits |
| 14 | ======= |
13 | ======= |
| 15 | |
14 | |
| 16 | The GLEP concept, and, in fact, much of the text of this document, |
15 | The GLEP concept, and, in fact, much of the text of this document, |
| … | |
… | |
| 50 | |
49 | |
| 51 | GLEP Work Flow |
50 | GLEP Work Flow |
| 52 | ============== |
51 | ============== |
| 53 | |
52 | |
| 54 | The GLEP editors assign GLEP numbers and change their status. The current |
53 | The GLEP editors assign GLEP numbers and change their status. The current |
| 55 | GLEP editors are Grant Goodyear and hopefully somebody else. Please send all |
54 | GLEP editors are Grant Goodyear and Alastair Tse. Please send all |
| 56 | GLEP-related email to <glep@gentoo.org>. |
55 | GLEP-related email to <glep@gentoo.org>. |
| 57 | |
56 | |
| 58 | The GLEP process begins with a new idea for Gentoo Linux. It is highly |
57 | The GLEP process begins with a new idea for Gentoo Linux. It is highly |
| 59 | recommended that a single GLEP contain a single key proposal or new idea. The |
58 | recommended that a single GLEP contain a single key proposal or new idea. The |
| 60 | more focussed the GLEP, the more successful it tends to be. The GLEP editors |
59 | more focussed the GLEP, the more successful it tends to be. The GLEP editors |
| … | |
… | |
| 67 | champion (a.k.a. Author) should first attempt to ascertain whether the idea is |
66 | champion (a.k.a. Author) should first attempt to ascertain whether the idea is |
| 68 | GLEP-able. Small enhancements or patches often don't need a GLEP and can be |
67 | GLEP-able. Small enhancements or patches often don't need a GLEP and can be |
| 69 | injected into the Gentoo Linux development work flow with an enhancement "bug" |
68 | injected into the Gentoo Linux development work flow with an enhancement "bug" |
| 70 | submitted to the Gentoo Linux bugzilla [#BUGS]_. |
69 | submitted to the Gentoo Linux bugzilla [#BUGS]_. |
| 71 | |
70 | |
| 72 | The GLEP champion then emails the GLEP editor <glep@gentoo.org> with a |
71 | The GLEP champion then emails the GLEP editors <glep@gentoo.org> with a |
| 73 | proposed title and a rough, but fleshed out, draft of the GLEP. This draft |
72 | proposed title and a rough, but fleshed out, draft of the GLEP. This draft |
| 74 | must be written in GLEP style as described below. |
73 | must be written in GLEP style as described below. |
| 75 | |
74 | |
| 76 | If the GLEP editor approves, he will assign the GLEP a number, label it |
75 | If the GLEP editor accepts the GLEP, he will assign the GLEP a number, label |
| 77 | as Standards Track (a better name would be nice here -- suggestions?) |
76 | it as Standards Track (a better name would be nice here -- suggestions?) or |
| 78 | or Informational, give it status "Draft", and |
77 | Informational, give it status "Draft", and create and check-in the initial |
| 79 | create and check-in the initial draft of the GLEP. The GLEP editors will |
78 | draft of the GLEP. The GLEP editors will not unreasonably deny a GLEP. |
| 80 | not unreasonably deny a GLEP. Reasons for denying GLEP status include |
79 | Reasons for denying GLEP status include duplication of effort, being |
| 81 | duplication of effort, being technically unsound, not providing proper |
80 | technically unsound, not providing proper motivation or addressing backwards |
| 82 | motivation or addressing backwards compatibility, or not in keeping |
81 | compatibility, or not in keeping with Gentoo Linux philosophy. |
| 83 | with Gentoo Linux philosophy. |
|
|
| 84 | |
82 | |
| 85 | If a pre-GLEP is rejected, the author may elect to take the pre-GLEP to the |
83 | If a pre-GLEP is rejected, the author may elect to take the pre-GLEP to the |
| 86 | gentoo-dev@gentoo.org mailing list to help flesh it out, gain feedback and |
84 | gentoo-dev@gentoo.org mailing list to help flesh it out, gain feedback and |
| 87 | consensus from the community at large, and improve the GLEP for re-submission. |
85 | consensus from the community at large, and improve the GLEP for re-submission. |
| 88 | |
86 | |
| 89 | The author of the GLEP is then responsible for posting the GLEP to the |
87 | The author of the GLEP is then responsible for posting the GLEP to the |
| 90 | gentoo-dev mailing list and to the Gentoo Linux forums [#FORUMS]_, and |
88 | gentoo-dev mailing list (and additionally to the Gentoo Linux forums [#FORUMS]_ |
| 91 | marshaling community support for it. As updates are necessary, the GLEP |
89 | if they so desire), and marshaling community support for it. As updates are |
| 92 | author can check in new versions if they have CVS commit permissions, or can |
90 | necessary, the GLEP author may check in new versions directly, or forward to |
| 93 | email new GLEP versions to the GLEP editors for committing. |
91 | a Gentoo developer with commit access. |
| 94 | |
92 | |
| 95 | Standards Track GLEPs consist of two parts, a design document and a reference |
93 | Standards Track GLEPs consist of two parts, a design document and a reference |
| 96 | implementation. The GLEP should be reviewed and accepted before a reference |
94 | implementation. The GLEP should be reviewed and accepted before a reference |
| 97 | implementation is begun, unless a reference implementation will aid people in |
95 | implementation is begun, unless a reference implementation will aid people in |
| 98 | studying the GLEP. Standards Track GLEPs must include an implementation -- in |
96 | studying the GLEP. Standards Track GLEPs must include an implementation -- in |
| 99 | the form of code, patch, or URL to same -- before it can be considered Final. |
97 | the form of code, patch, or URL to same -- before it can be considered Final. |
| 100 | |
98 | |
| 101 | GLEP authors are responsible for collecting community feedback on a GLEP |
99 | GLEP authors are responsible for collecting community feedback on a GLEP |
| 102 | before submitting it for review. A GLEP that has not been discussed on |
100 | before submitting it for review. A GLEP that has not been discussed on |
| 103 | gentoo-dev@gentoo.org and/or the Gentoo Linux forums [#FORUMS]_ will not be |
101 | gentoo-dev@gentoo.org and the Gentoo Linux forums [#FORUMS]_ will not be |
| 104 | accepted. However, wherever possible, long open-ended discussions on public |
102 | accepted. However, wherever possible, long open-ended discussions on public |
| 105 | mailing lists should be avoided. Strategies to keep the discussions efficient |
103 | mailing lists should be avoided. Strategies to keep the discussions efficient |
| 106 | include setting up a specific forums thread for the topic, having the GLEP |
104 | include setting up a specific forums thread for the topic, having the GLEP |
| 107 | author accept private comments in the early design phases, etc. GLEP authors |
105 | author accept private comments in the early design phases, etc. GLEP authors |
| 108 | should use their discretion here. |
106 | should use their discretion here. |
| 109 | |
107 | |
| 110 | Once the authors have completed a GLEP, they must inform the GLEP editors that |
108 | Once the authors have completed a GLEP, they must inform the Gentoo Council |
| 111 | it is ready for review. GLEPs are reviewed by the Gentoo Linux Chief |
109 | [#COUNCIL]_ that it is ready for review by way of the gentoo-dev mailing |
| 112 | Architect or Development Manager, who may accept or reject a GLEP outright, or |
110 | list. GLEPs are then reviewed at a Council meeting where the may be approved |
| 113 | send it back to the author(s) for revision. For a GLEP that is pre-determined |
111 | or rejected outright, or sent back to the author(s) for revision. This |
| 114 | to be acceptable (e.g., it is an obvious win as-is and/or its implementation |
112 | generally should be done a few weeks in advance of the actual review so as to |
| 115 | has already been checked in) the Chief Architect or the Development Manager |
113 | avoid the appearance of "slipping" a GLEP in without proper public review |
| 116 | may also initiate a GLEP review, first notifying the GLEP author(s) and giving |
114 | by the Gentoo developer community. |
| 117 | them a chance to make revisions. |
|
|
| 118 | |
115 | |
| 119 | For a GLEP to be accepted it must meet certain minimum criteria. It must be a |
116 | For a GLEP to be approved it must meet certain minimum criteria. It must be a |
| 120 | clear and complete description of the proposed enhancement. The enhancement |
117 | clear and complete description of the proposed enhancement. The enhancement |
| 121 | must represent a net improvement. The proposed implementation, if applicable, |
118 | must represent a net improvement. The proposed implementation, if applicable, |
| 122 | must be solid and must not complicate the distribution unduly. Finally, a |
119 | must be solid and must not complicate the distribution unduly. Finally, a |
| 123 | proposed enhancement must satisfy the philosophy of Gentoo Linux. |
120 | proposed enhancement must satisfy the philosophy of Gentoo Linux. |
| 124 | |
121 | |
| … | |
… | |
| 160 | |
157 | |
| 161 | 2. Abstract -- a short (~200 word) description of the technical issue |
158 | 2. Abstract -- a short (~200 word) description of the technical issue |
| 162 | being addressed. |
159 | being addressed. |
| 163 | |
160 | |
| 164 | 3. Motivation -- The motivation is critical for GLEPs that want to |
161 | 3. Motivation -- The motivation is critical for GLEPs that want to |
| 165 | change the Gentoo Linux functionality. It should clearly explain why the |
162 | modify Gentoo Linux functionality. It should clearly explain why the |
| 166 | existing functionality or policy is inadequate to address the problem that |
163 | existing functionality or policy is inadequate to address the problem that |
| 167 | the GLEP solves. GLEP submissions without sufficient motivation may be |
164 | the GLEP solves. GLEP submissions without sufficient motivation may be |
| 168 | rejected outright. |
165 | rejected outright. |
| 169 | |
166 | |
| 170 | 4. Specification -- The technical specification should describe the |
167 | 4. Specification -- The technical specification should describe the |
| … | |
… | |
| 199 | |
196 | |
| 200 | |
197 | |
| 201 | GLEP Formating and Template |
198 | GLEP Formating and Template |
| 202 | =========================== |
199 | =========================== |
| 203 | |
200 | |
|
|
201 | GLEPs are written either in Gentoo Linux Guide-XML [#GUIDEXML]_ or in |
| 204 | GLEPs are written in a just-barely-marked-up version of plain ASCII text |
202 | a just-barely-marked-up version of plain ASCII text |
| 205 | called ReStructuredText [#ReSTHOME]_ that is then converted to HTML using |
203 | called ReStructuredText [#ReSTHOME]_ that is then converted to HTML using |
| 206 | Docutils [#DOCUTILS]_. Using ReStructuredText GLEPs allows for rich markup |
204 | Docutils [#DOCUTILS]_. Using ReStructuredText GLEPs allows for rich markup |
| 207 | that is still quite easy to read, but results in much better-looking and more |
205 | that is still quite easy to read, but results in much better-looking and more |
| 208 | functional HTML. Moreover, it should be straightforward to convert GLEPs to |
206 | functional HTML. Moreover, it should be straightforward to convert GLEPs to |
| 209 | Gentoo Linux guide xml [#GUIDEXML]_ if needed. GLEP 2 contains a boilerplate |
207 | Gentoo Linux guide xml [#GUIDEXML]_ if needed. GLEP 2 contains a boilerplate |
| … | |
… | |
| 258 | be obscured. |
256 | be obscured. |
| 259 | |
257 | |
| 260 | The Type header specifies the type of GLEP: Informational or Standards |
258 | The Type header specifies the type of GLEP: Informational or Standards |
| 261 | Track. |
259 | Track. |
| 262 | |
260 | |
| 263 | The format of a GLEP is specified with a Content-Type header, which for now |
261 | The format of a GLEP is specified with a Content-Type header, which |
|
|
262 | should read "text/xml" for Gentoo Guide XML or |
| 264 | should always read "text/x-rst" for ReStructuredText GLEPs (see GLEP 2 |
263 | "text/x-rst" for ReStructuredText GLEPs (see GLEP 2 |
| 265 | [#ReST]_). |
264 | [#ReST]_). |
| 266 | |
265 | |
| 267 | The Created header records the date that the GLEP was assigned a number, while |
266 | The Created header records the date that the GLEP was assigned a number, while |
| 268 | Post-History is used to record the dates of when new versions of the GLEP are |
267 | Post-History is used to record the dates of when new versions of the GLEP are |
| 269 | posted to gentoo-dev. Both headers should be in dd-mmm-yyyy format, e.g. |
268 | posted to gentoo-dev. Both headers should be in dd-mmm-yyyy format, e.g. |
| … | |
… | |
| 327 | |
326 | |
| 328 | .. [#CVS] This historical record is available by the normal CVS commands |
327 | .. [#CVS] This historical record is available by the normal CVS commands |
| 329 | for retrieving older revisions. For those without direct access to the CVS |
328 | for retrieving older revisions. For those without direct access to the CVS |
| 330 | tree, you can browse the current and past GLEP revisions via the Gentoo |
329 | tree, you can browse the current and past GLEP revisions via the Gentoo |
| 331 | Linux viewcvs web site at |
330 | Linux viewcvs web site at |
| 332 | http://cvs.gentoo.org/cgi-bin/viewcvs.cgi/gentoo/xml/htdocs/proj/en/glep/ |
331 | http://www.gentoo.org/cgi-bin/viewcvs.cgi/gentoo/xml/htdocs/proj/en/glep/ |
| 333 | |
332 | |
| 334 | .. [#ReST] GLEP 2, Sample ReStructuredText GLEP Template, |
333 | .. [#ReST] GLEP 2, Sample ReStructuredText GLEP Template, |
| 335 | (http://glep.gentoo.org/glep-0002.html) |
334 | (http://glep.gentoo.org/glep-0002.html) |
| 336 | |
335 | |
| 337 | .. [#BUGS] http://bugs.gentoo.org |
336 | .. [#BUGS] http://bugs.gentoo.org |
| 338 | |
337 | |
| 339 | .. [#FORUMS] http://forums.gentoo.org |
338 | .. [#FORUMS] http://forums.gentoo.org |
| 340 | |
339 | |
|
|
340 | .. [#COUNCIL] http://www.gentoo.org/proj/en/glep/glep-0039.html |
|
|
341 | |
| 341 | .. [#OPL] http://www.opencontent.org/openpub/ |
342 | .. [#OPL] http://www.opencontent.org/openpub/ |
| 342 | |
343 | |
| 343 | .. [#ReSTHOME] http://docutils.sourceforge.net/rst.html |
344 | .. [#ReSTHOME] http://docutils.sourceforge.net/rst.html |
| 344 | |
345 | |
| 345 | .. [#GUIDEXML] http://www.gentoo.org/doc/en/xml-guide.xml |
346 | .. [#GUIDEXML] http://www.gentoo.org/doc/en/xml-guide.xml |