root/dotorg/trunk/html/beps/bep_0001.html

Revision 11107, 14.0 KB (checked in by dave, 18 months ago)

rebuild html files.

Line 
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<head>
5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
7<title></title>
8<link rel="stylesheet" href="../css/bep.css" type="text/css" />
9</head>
10<body>
11<div class="document">
12
13<div id="upper" class="clear">
14<div id="wrap">
15<div id="header">
16<h1><a href="../index.html">BitTorrent<span>.org</span></a></h1>
17</div>
18<div id="nav">
19<ul>
20<li><a href="../index.html">Home</a></li>
21<li><a href="../introduction.html">For Users</a></li>
22<li><a href="bep_0000.html"><span>For Developers</span></a></li>
23<!-- <li><a href="./blog">Blog</a></li> -->
24<li><a href="http://forum.bittorrent.org"> Forums </li>
25<li><a href="../donate.html">Donate!</a></li>
26</ul>
27</div> <!-- nav -->
28<!-- ### Begin Content ### -->
29<div id="second">
30
31
32
33<table class="rfc2822 docutils field-list" frame="void" rules="none">
34<col class="field-name" />
35<col class="field-body" />
36<tbody valign="top">
37<tr class="field"><th class="field-name">BEP:</th><td class="field-body">1</td>
38</tr>
39<tr class="field"><th class="field-name">Title:</th><td class="field-body">The BitTorrent Enhancement Proposal Process</td>
40</tr>
41<tr class="field"><th class="field-name">Version:</th><td class="field-body">11054</td>
42</tr>
43<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="http://bittorrent.org/trac/browser/dotorg/trunk/html/beps/bep_0001.rst">2008-05-02 20:19:03 -0700 (Fri, 02 May 2008)</a></td>
44</tr>
45<tr class="field"><th class="field-name">Author:</th><td class="field-body">David Harrison &lt;dave&#32;&#97;t&#32;bittorrent.com&gt;</td>
46</tr>
47<tr class="field"><th class="field-name">Status:</th><td class="field-body">Active</td>
48</tr>
49<tr class="field"><th class="field-name">Type:</th><td class="field-body">Process</td>
50</tr>
51<tr class="field"><th class="field-name">Created:</th><td class="field-body">10-Jan-2008</td>
52</tr>
53<tr class="field"><th class="field-name">Post-History:</th><td class="field-body"></td>
54</tr>
55</tbody>
56</table>
57<hr />
58<div class="contents topic" id="contents">
59<p class="topic-title first">Contents</p>
60<ul class="simple">
61<li><a class="reference internal" href="#what-is-a-bep" id="id3">What is a BEP</a></li>
62<li><a class="reference internal" href="#bep-types" id="id4">BEP Types</a></li>
63<li><a class="reference internal" href="#bep-work-flow" id="id5">BEP Work Flow</a></li>
64<li><a class="reference internal" href="#intellectual-property-and-bittorrent-standards" id="id6">Intellectual Property and BitTorrent Standards</a></li>
65<li><a class="reference internal" href="#history" id="id7">History</a></li>
66<li><a class="reference internal" href="#acknowledgements" id="id8">Acknowledgements</a></li>
67<li><a class="reference internal" href="#references-and-footnotes" id="id9">References and Footnotes</a></li>
68<li><a class="reference internal" href="#copyright" id="id10">Copyright</a></li>
69</ul>
70</div>
71<div class="section" id="what-is-a-bep">
72<h1>What is a BEP</h1>
73<p>BEP stands for BitTorrent Enhancement Proposal.  A BEP is a design
74document providing information to the BitTorrent community, or
75describing a new feature for the BitTorrent protocols. The BEP should
76provide a concise technical specification of the feature and a
77rationale for the feature.</p>
78<p>We intend BEPs to be the primary mechanisms for proposing new
79features, for collecting community input on an issue, and for
80documenting the design decisions that have gone into BitTorrent. The BEP
81author is responsible for building consensus within the community and
82documenting dissenting opinions.</p>
83<p>Because the BEPs are maintained as reStructured text files in a versioned
84repository, their revision history is the historical record of the
85feature proposal <a class="footnote-reference" href="#svn" id="id1">[1]</a>.</p>
86</div>
87<div class="section" id="bep-types">
88<h1>BEP Types</h1>
89<p>There are three kinds of BEP:</p>
90<blockquote>
91<ol class="arabic simple">
92<li>A Standards Track BEP describes an extension to one of the BitTorrent
93protocols or a change in the behavior of one of the actors in these
94protocols, where the actors are currently clients, trackers, and web
95servers.</li>
96<li>An Informational BEP describes a BitTorrent design issue, or
97provides general guidelines or information to the BitTorrent
98community, but does not propose an extension. Informational BEPs
99do not necessarily represent a BitTorrent community consensus or
100recommendation, so users and implementors are free to ignore
101Informational BEPs or follow their advice.</li>
102<li>A Process BEP describes a process surrounding BitTorrent, or
103proposes a change to (or an event in) a process. Process BEPs are
104like Standards Track BEPs but apply to areas other than the
105BitTorrent protocols.  They are more than recommendations, and
106users are typically not free to ignore them. Examples include
107release schedules, procedures, guidelines, changes to the
108decision-making process, and changes to the tools or environment
109used in BitTorrent development.</li>
110</ol>
111</blockquote>
112</div>
113<div class="section" id="bep-work-flow">
114<h1>BEP Work Flow</h1>
115<p>The BEP editors assign BEP numbers and change their status. The
116current BEP editors are David Harrison and Arvid Norberg. Please send
117all BEP-related email to &lt;<a class="reference external" href="mailto:editor&#37;&#52;&#48;bittorrent&#46;org">editor<span>&#64;</span>bittorrent<span>&#46;</span>org</a>&gt;.  Also see BEP Editor
118Responsibilities &amp; Workflow below.</p>
119<p>The BEP process begins with a new idea for the BitTorrent
120protocols. It is highly recommended that a single BEP contain a single
121key proposal. The BEP editor reserves the right to reject BEP
122proposals if they appear unfocussed or overly broad. If in doubt,
123split your BEP into muliple BEPs.</p>
124<p>Each BEP must have a champion -- someone who writes the BEP using the
125style and format described below, shepherds the discussions in the
126appropriate forums, and attempts to build community consensus around
127the idea. The BEP champion should first post a description of the idea
128to the BEPs forum at forum.bittorrent.org.</p>
129<p>If the champion believes the idea warrants a BEP then the champion
130emails the BEP editor &lt;<a class="reference external" href="mailto:editor&#37;&#52;&#48;bittorrent&#46;org">editor<span>&#64;</span>bittorrent<span>&#46;</span>org</a>&gt; with a proposed title
131and a draft of the BEP. This draft must be written in BEP style as
132described below.</p>
133<p>If the BEP editor approves, he assigns the BEP a number, labels it as
134Standards Track, Informational, or Process, gives it status &quot;Draft&quot;,
135and creates and checks-in the initial draft of the BEP to the
136subversion repository. The BEP editor will not unreasonably
137deny a BEP. Reasons for denying BEP status include duplication of
138effort, being technically unsound, not providing proper motivation or
139not addressing backwards compatibility. The BDFL (Benevolent Dictator
140for Life, Bram Cohen) can be consulted during the approval phase, and
141is the final arbiter of the draft's BEP-ability.</p>
142<p>If a pre-BEP is rejected, the author may elect to take the pre-BEP to
143the BEP forum seeking feedback and consesnsus from the community at large.
144A proposal may be re-submitted after it has been revised.</p>
145<p>The champion is then responsible for marshaling community support for
146it. As updates are necessary, the BEP author can check in new versions
147if they have SVN commit permissions, or can email new BEP versions to
148the BEP editor for committing.</p>
149<p>Standards Track BEPs consist of two parts, a design document and a
150reference implementation. The reference implementation need not be
151complete when a BEP is submitted to the editors.  However Standards
152Track BEPs must include an implementation in at least one BitTorrent
153client with publicy available code before it can be considered Final.</p>
154<p>BEP champions are responsible for collecting community feedback on a
155BEP before submitting it for review. A BEP that has not been discussed
156in the BEPs forum on forum.bittorrent.org will not be
157accepted. However, wherever possible, long open-ended discussions in
158the BEP forum should be avoided. Strategies to keep the discussions
159efficient include: setting up a separate SIG forum for the topic,
160having the BEP author accept private comments in the early design
161phases, setting up a wiki page, etc. BEP authors should use their
162discretion here.</p>
163<p>Once the authors have completed a BEP, they must inform the BEP editor
164that it is ready for review. BEPs are reviewed by the BDFL and his
165chosen consultants, who may accept or reject a BEP or send it back to
166the author(s) for revision. For a BEP that is pre-determined to be
167acceptable (e.g., it is an obvious win as-is and/or its implementation
168already exists in one or more popular BitTorrent clients) the BDFL may
169also initiate a BEP review, first notifying the BEP author(s) and
170giving them a chance to make revisions.</p>
171<p>For a BEP to be accepted it must meet certain minimum criteria. It
172must be a clear and complete description of the proposed
173enhancement. The enhancement must represent a net improvement. The
174proposed implementation, if applicable, must be functional and have
175been tested in live BitTorrent swarms.  Supporting results from
176analyses, testbed experiments and event-based simulations are also
177recommended where appropriate.  A Standards Track document should
178include the rationale behind a proposal and may briefly summarize
179analytical, simulation, or experimental results where necessary to
180illustrate or motivate the enhancement.  However, detailed analytical,
181simulation, and experiment results, especially comparing different
182approaches to the same problem should be omitted from Standards Track
183BEPs and instead cited from a published paper or a separate
184Informational BEP.</p>
185<p>Once a BEP has been accepted, the reference implementation must be
186completed. When the reference implementation is complete and accepted
187by the BDFL, the status will be changed to &quot;Final&quot;.</p>
188<p>A BEP can also be assigned status &quot;Deferred&quot;. The BEP author or editor
189can assign the BEP this status when no progress is being made on the
190BEP. Once a BEP is deferred, the BEP editor can re-assign it to draft
191status.</p>
192<p>A BEP can also be &quot;Rejected&quot;. Perhaps after all is said and done it
193was not a good idea. It is still important to have a record of this
194fact.</p>
195<p>BEPs can also be replaced by a different BEP, rendering the original
196obsolete. This is intended for Informational BEPs, where version 2 of
197an API can replace version 1.</p>
198<p>The possible paths of the status of BEPs are as follows:</p>
199<img alt="bep_0001_1.png" src="bep_0001_1.png" />
200</div>
201<div class="section" id="intellectual-property-and-bittorrent-standards">
202<h1>Intellectual Property and BitTorrent Standards</h1>
203<p>Any idea submitted in a BEP will not be considered for standardization
204if the idea is not in the public domain.  Before a BEP can be
205considered Final, all people (including the BEP authors) or entities
206with a claim on the intellectual property expressed in a BEP must
207assign in writing all intellectual property expressed in the BEP to
208the public domain.  If the BEP authors lack the power to assign
209intellectual property rights then they must disclose this fact before
210the BEP can be considered Final.</p>
211<p>Furthermore BEP authors should not knowingly propose anything in their
212BEPs that infringes on the intellectual property rights of others.</p>
213<p>This policy statement should not be construed as meaning that BEP
214authors are required to assign software implementations of any
215particular idea to the public domain.  BitTorrent implementors may
216retain all rights to their implementations.</p>
217</div>
218<div class="section" id="history">
219<h1>History</h1>
220<p>This document was derived heavily from PEP-0001 <a class="footnote-reference" href="#pep-1" id="id2">[2]</a>.  In many places
221text was simply copied and modified.  Although the PEP-0001 text
222was written by Barry Warsaw, Jeremy Hylton, and David Goodger, they
223are not responsible for its use in the BitTorent Enhancement Process,
224and should not be bothered with technical questions specific to
225BitTorrent or the BEP process.  Please direct all comments to the
226BitTorrent editors &lt;<a class="reference external" href="mailto:editor&#37;&#52;&#48;bittorrent&#46;org">editor<span>&#64;</span>bittorrent<span>&#46;</span>org</a>&gt; or the forums at
227forum.bittorrent.org.</p>
228</div>
229<div class="section" id="acknowledgements">
230<h1>Acknowledgements</h1>
231<p>Thanks to Barry Warsaw, David Goodger, and Guido van Rossum for their
232guidance.</p>
233</div>
234<div class="section" id="references-and-footnotes">
235<h1>References and Footnotes</h1>
236<table class="docutils footnote" frame="void" id="svn" rules="none">
237<colgroup><col class="label" /><col /></colgroup>
238<tbody valign="top">
239<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>This historical record is available by the normal SVN
240commands for retrieving older revisions. For those without direct
241access to the SVN tree, you can browse the current and past BEP
242revisions here: <a class="reference external" href="http://bittorrent.org/trac/">http://bittorrent.org/trac/</a></td></tr>
243</tbody>
244</table>
245<table class="docutils footnote" frame="void" id="pep-1" rules="none">
246<colgroup><col class="label" /><col /></colgroup>
247<tbody valign="top">
248<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td>PEP-001: PEP Purposes and Guidelines, Warsaw, Hylton, Goodger.
249(<a class="reference external" href="http://www.python.org/dev/peps/pep-0001">http://www.python.org/dev/peps/pep-0001</a>)</td></tr>
250</tbody>
251</table>
252</div>
253<div class="section" id="copyright">
254<h1>Copyright</h1>
255<p>This document has been placed in the public domain.</p>
256<!-- Local Variables:
257mode: indented-text
258indent-tabs-mode: nil
259sentence-end-double-space: t
260fill-column: 70
261coding: utf-8
262End: -->
263</div>
264
265
266</div>
267        <div id="footer">
268<hr/>
269</div>
270
271</div>
272</body>
273</html>
Note: See TracBrowser for help on using the browser.