summaryrefslogtreecommitdiff
path: root/more/submission_process.htm
blob: ba39f2a2deda7f60c7a85d0b79ffdeeda664dfc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Boost Library Submission Process</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<table border="1" bgcolor="#007F7F" cellpadding="2">
  <tr>
    <td bgcolor="#FFFFFF"><img src="../c++boost.gif" alt="c++boost.gif (8819 bytes)" width="277" height="86"></td>
    <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
    <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
    <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
    <td><a href="faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
    <td><a href="index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
  </tr>
</table>
<h1>Boost Library Submission Process</h1>
<p>This page describes the process of getting a library accepted by Boost.&nbsp;
The process is still evolving, so if you have suggestions for improvement by all
means post them on the mailing list.</p>
<p>See the <a href="lib_guide.htm">Boost Library Requirements and Guidelines</a>
page for issues of content.</p>
<h3><b>Steps for getting a library accepted by Boost:</b></h3>
<ul>
  <li><a href="#Learn">Learn about Boost</a>.</li>
  <li><a href="#interest">Determine interest</a>.</li>
  <li><a href="#Preliminary">Preliminary submission</a>.</li>
  <li><a href="#Refinement">Refinement</a>.</li>
  <li><a href="#Review">Formal Review</a>.</li>
  <li><a href="#site posting">Web site posting</a>.</li>
  <li><a href="#Lifecycle">Lifecycle</a>.</li>
</ul>
<h2><a name="Learn">Learn</a> about Boost</h2>
<p>Subscribe to the <a href="../index.htm#Mailing List">mailing list</a> for a
while, or look through the <a href="http://www.egroups.com/messages/boost">archives</a>.&nbsp;
Click around the <a href="../index.htm">web site</a>.&nbsp; Understand the <a href="lib_guide.htm">Requirements</a>.&nbsp;
Read the rest of this page to learn about the process.&nbsp; Otherwise, you will
just end up wasting everyone's time.</p>
<p>There is a culture associated with Boost, aimed at encouraging high quality
libraries by a process of discussion and refinement.</p>
<p>If what you really want is a site that will just post your library without
even looking at it, you should go elsewhere.</p>
<h2>Determine <a name="interest">interest</a></h2>
<p>Potential library submitters should use the <a href="../index.htm#Mailing List">mailing
list</a> as a forum to gauge interest a possible submission.</p>
<p>A message might be as simple as &quot;Is there any interest in a library
which solves Traveling Salesperson problems in linear time?&quot;</p>
<p>A bit of further description or snippet of code may be helpful. Messages
should be plain text; not rich text, HTML, etc.</p>
<p>Please don't post lengthy descriptions, documentation, or code to the mailing
list, and no attachments, even small ones.&nbsp; Please post lengthy material in
the eGroups boost <a href="http://www.egroups.com/files/boost/">Files section</a>
(formerly called the &quot; vault&quot;).&nbsp;</p>
<h2><a name="Preliminary">Preliminary</a> submission</h2>
<p>If response to an initial query indicates interest, then post preliminary
files in the <a href="http://www.egroups.com/files/boost/">Files section</a> of
the boost eGroups web site if you haven't already done so.</p>
<h2><a name="Refinement">Refinement</a></h2>
<p>Discuss, refine, resubmit.&nbsp; Repeat until satisfied.</p>
<p>The exact details of this process varies a lot.&nbsp; Sometimes it is public,
on the mailing list, sometimes a lot of discussion happens in private
emails.&nbsp; For some libraries the process is over quickly, for others it goes
on for months.&nbsp; It's often challenging, and sometimes leads off in
completely unexpected directions.&nbsp;&nbsp;</p>
<p>The <a href="http://www.egroups.com/messages/boost">archive</a> of past
messages is one way to see how this process worked for other boost
libraries.&nbsp;</p>
<h2>Formal <a name="Review">Review</a></h2>
<p>Before asking for formal review, please verify that your submission compiles
and runs under at least two compilers.&nbsp; This flushes out obvious
portability problems.&nbsp; If you don't have access to a second compiler, ask
for help on the Boost mailing list.</p>
<p>Once a library author feels a submission (which presumably is now in the
files/vault) has matured enough for formal review, the author sends a message
requesting a formal review to the mailing list.&nbsp; Please use a subject in
the form &quot;Review Request: library&quot; where <i>library</i> is replaced by
the library name.</p>
<p>See <a href="formal_review_process.htm">Formal Review Process</a> for
details.</p>
<p>Formal Review schedules are posted on the boost mailing list..&nbsp;</p>
<h2>Boost <a name="site posting">site posting</a></h2>
<p>There are two ways that files are posted on the boost web site:</p>
<ul>
  <li>Direct update of the boost CVS repository.&nbsp; This requires write
    access, and is primarily used for larger libraries, or for libraries
    maintained by very active boost developers.</li>
  <li>Packaging all files into submission file, and emailing it to the boost
    webmaster.</li>
</ul>
<p>The submission file approach is as follows:</p>
<h3>Packaging</h3>
<p>All of the files which make up the library should be combined and compressed
into a single final submission file using the .zip format.&nbsp; Free encoders
and decoders for this format running on many different platforms are available
at the <a href="http://www.info-zip.org/pub/infozip/">Info-ZIP</a> web site, which
includes a FAQ and much other useful information about the .zip format. Many
commercial compressor-archiver utilities also support this format.</p>
<h3><a name="Final">Final</a> Submission file</h3>
<p>The final submission file contains the material that will live on the
boost.org web site.&nbsp; The closer the submission file mirrors the directory
structure and format of the web site, the easier it is for the webmaster to
integrate it into the web site.
<p>The submission file for a library named <b>foo</b> should include these
subdirectories, with the contents indicated:
<blockquote>
  <p><b>libs/foo</b>
  <ul>
    <li>An introductory page named index.html or index.htm which looks like the
      initial page of other libraries. <a href="../libs/rational/index.html">Rational</a>&nbsp;
      is a model for single part libraries, <a href="../libs/integer/index.htm">Integer</a>
      is a model for
      multi-part libraries.</li>
    <li>The documentation page or pages, also in HTML format.</li>
    <li>Source files implementing the library if it isn't entirely header
      based.&nbsp; The boost file type convention for source files is <b>.cpp</b>.</li>
    <li>Test programs and data files if supplied.</li>
    <li>If the library has a large number of subsidiary files which aren't
      linked to from the documentation pages, these subsidiary files can be
      combined into a single .zip file.</li>
  </ul>
  <p><b>boost</b></p>
  <ul>
    <li>Public header files as described in the documentation for the
      library.&nbsp; The boost file type convention for header files is <b>.hpp</b>.</li>
  </ul>
  <p><b>boost/detail</b></p>
  <ul>
    <li>Implementation header files not normally accessed by library users.</li>
  </ul>
</blockquote>
<h3>Transmission</h3>
<p>Submit via email to <a href="mailto:bdawes@acm.org">bdawes@acm.org</a>.&nbsp;&nbsp;
Attach the .zip submission file.&nbsp; In the email message, please include your
email address, postal mail address, and telephone number, if boost.org doesn't
already have them. Your addresses and phone number will not appear on the web
site (unless you include them in your biography).&nbsp; Anonymous postings are
not accepted.</p>
<h3>People pages</h3>
<p>If the boost.org web site doesn't already have your capsule biography
and&nbsp; picture (optional, with not-too-serious pictures preferred), please
send them <a href="mailto:bdawes@acm.org">mailto:bdawes@acm.org</a>. It is
up to you as to whether or not the biography includes your email address or
other contact information.&nbsp; The preferred picture format is .jpg, but other
common formats are acceptable.&nbsp; The preferred image size is 500x375 but the
webmaster has photo editing software and can do the image preparation if
necessary.</p>
<h2><a name="Lifecycle">Lifecycle</a></h2>
<p>Libraries are software; they loose their value over time if not
maintained.&nbsp; Details still hazy.</p>
<hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->10 March, 2001<!--webbot bot="Timestamp" endspan i-checksum="28765" --></p>

</body>

</html>