discussion_policy.htm 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Language" content="en-us">
  5. <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
  6. <meta name="generator" content="Microsoft FrontPage 6.0">
  7. <meta name="ProgId" content="FrontPage.Editor.Document">
  8. <title>Boost Discussion Policy</title>
  9. </head>
  10. <body bgcolor="#FFFFFF" text="#000000">
  11. <table border="1" bgcolor="#007F7F" cellpadding="2" summary="">
  12. <tr>
  13. <td bgcolor="#FFFFFF"><img src="../boost.png" alt=
  14. "boost.png (6897 bytes)" width="277" height="86"></td>
  15. <td><a href="../index.htm"><font face="Arial" color=
  16. "#FFFFFF"><big>Home</big></font></a></td>
  17. <td><a href="../libs/libraries.htm"><font face="Arial" color=
  18. "#FFFFFF"><big>Libraries</big></font></a></td>
  19. <td><a href="../people/people.htm"><font face="Arial" color=
  20. "#FFFFFF"><big>People</big></font></a></td>
  21. <td><a href="faq.htm"><font face="Arial" color=
  22. "#FFFFFF"><big>FAQ</big></font></a></td>
  23. <td><a href="index.htm"><font face="Arial" color=
  24. "#FFFFFF"><big>More</big></font></a></td>
  25. </tr>
  26. </table>
  27. <h1>Boost Discussion Policy</h1>
  28. <p>Email discussion is the tie that binds boost members together into a
  29. community. If the discussion is stimulating and effective, the community
  30. thrives. If the discussion degenerates into name calling and ill will, the
  31. community withers and dies.</p>
  32. <h2>Contents</h2>
  33. <dl>
  34. <dt><a href="#acceptable">Acceptable Topics</a></dt>
  35. <dt><a href="#unacceptable">Unacceptable Topics</a></dt>
  36. <dt><a href="#effective">Effective Posting</a></dt>
  37. <dt><a href="#behavior">Prohibited Behavior</a></dt>
  38. <dt><a href="#culture">Culture</a></dt>
  39. <dt><a href="#lib_names">Library Names</a></dt>
  40. </dl>
  41. <h2><a name="acceptable" id="acceptable"></a>Acceptable topics</h2>
  42. <ul>
  43. <li>Queries to determine interest in a possible library submission.</li>
  44. <li>Technical discussions about a proposed or existing library, including
  45. bug reports and requests for help.</li>
  46. <li>Formal Reviews of proposed libraries.</li>
  47. <li>Reports of user experiences with Boost libraries.</li>
  48. <li>Boost administration or policies.</li>
  49. <li>Compiler specific workarounds as applied to Boost libraries.</li>
  50. </ul>
  51. <p>Other topics related to boost development may be acceptable, at the
  52. discretion of moderators. If unsure, go ahead and post. The moderators will
  53. let you know.</p>
  54. <h2><a name="unacceptable" id="unacceptable"></a>Unacceptable Topics</h2>
  55. <ul>
  56. <li>Advertisements for commercial products.</li>
  57. <li>Requests for help getting non-boost code to compile with your
  58. compiler. Try the comp.lang.c++.moderated newsgroup instead.</li>
  59. <li>Requests for help interpreting the C++ standard. Try the comp.std.c++
  60. newsgroup instead.</li>
  61. <li>Job offers.</li>
  62. <li>Requests for solutions to homework assignments.</li>
  63. </ul>
  64. <h2><a name="effective" id="effective"></a>Effective Posting</h2>
  65. <p>Most Boost mailing lists host a great deal of traffic, so your post is
  66. usually competing for attention with many other communications. This
  67. section describes how to make sure it has the desired impact.</p>
  68. <h3>Well-Crafted Posting is Worth the Effort</h3>
  69. <p>Don't forget, you're a single writer but there are many readers, and you
  70. want them to stay interested in what you're saying. Saving your readers a
  71. little time and effort is usually worth the extra time you spend when
  72. writing a message. Also, boost discussions are saved for posterity, as
  73. rationales and history of the work we do. A post's usefulness in the future
  74. is determined by its readability.</p>
  75. <h3>Put the Library Name in the Subject Line</h3>
  76. <p>When your post is related to a particular Boost library, it's helpful to
  77. put the library name in square brackets at the beginning of the subject
  78. line, e.g.</p>
  79. <blockquote>
  80. Subject: [Regex] Why doesn't this pattern match?
  81. </blockquote>The Boost developers' list is a high-volume mailing list, and
  82. most maintainers don't have time to read every message. A tag on the
  83. subject line will help ensure the right people see your post.
  84. <p><a name="tabs" id="tabs"></a></p>
  85. <h3>Don't Use Tabs</h3>If you use tabs to indent your source code, convert
  86. them to spaces before inserting the code in a posting. Something in the
  87. processing chain usually strips all the indentation and leaves a mess
  88. behind.
  89. <p><a name="longlines" id="longlines"></a></p>
  90. <h3>Limit Line Length</h3>If you put source code in your postings and your
  91. mailer wraps long lines automatically, either keep the code narrow or
  92. insert the code as an (inline, if possible) attachment. That will help
  93. ensure others can read what you've posted.
  94. <p><a name="quoting" id="quoting"></a></p>
  95. <h3>Don't Overquote</h3>Please <b>prune extraneous quoted text</b> from
  96. replies so that only the relevant parts are included. Some people have to
  97. pay for, or wait for, each byte that they download from the list. More
  98. importantly, it will save time and make your post more valuable when
  99. readers do not have to find out which exact part of a previous message you
  100. are responding to.
  101. <h3>Use a Readable Quotation Style</h3>
  102. <p>A common and very useful approach is to cite the small fractions of the
  103. message you are actually responding to and to put your response directly
  104. beneath each citation, with a blank line separating them for
  105. readability:</p>
  106. <blockquote>
  107. <pre>
  108. <i>Person-you're-replying-to</i> wrote:
  109. &gt; Some part of a paragraph that you wish to reply to goes
  110. &gt; here; there may be several lines.
  111. Your response to that part of the message goes here. There may,
  112. of course, be several lines.
  113. &gt; The second part of the paragraph that is relevant to your
  114. &gt; reply goes here; agiain there may be several lines.
  115. Your response to the second part of the message goes here.
  116. ...
  117. </pre>
  118. </blockquote>For more information about effective use of quotation in
  119. posts, see <a href="http://www.netmeister.org/news/learn2quote.html">this
  120. helpful guide</a>.
  121. <h3>Keep the Formatting of Quotations Consistent</h3>
  122. <p>Some email and news clients use poor word wrapping algorithms that leave
  123. successive lines from the same quotation with differing numbers of leading
  124. "<tt>&gt;</tt>" characters. <b>Microsoft Outlook</b> and <b>Outlook
  125. Express</b>, and some web clients, are especially bad about this. If your
  126. client offends in this way, please take the effort to clean up the mess it
  127. makes in quoted text. Remember, even if you didn't write the original text,
  128. it's <i>your</i> posting; whether you get your point across depends on its
  129. readability.</p>
  130. <p>The Microsoft clients also create an unusually verbose header at the
  131. beginning of the original message text and leave the cursor at the
  132. beginning of the message, which encourages users to write their replies
  133. before all of the quoted text rather than putting the reply in context.
  134. Fortunately, Dominic Jain has written a utility that fixes all of these
  135. problems automatically: <a href=
  136. "http://home.in.tum.de/~jain/software/outlook-quotefix/">Outlook
  137. Quotefix</a> for Outlook Users and <a href=
  138. "http://home.in.tum.de/~jain/software/oe-quotefix/">OE QuoteFix</a> for
  139. users of Outlook Express.</p>
  140. <h3>Summarizing and Referring to Earlier Messages</h3>
  141. <p>A summary of the foregoing thread is only needed after a long
  142. discussion, especially when the topic is drifting or a result has been
  143. achieved in a discussion. The mail system will do the tracking that is
  144. needed to enable mail readers to display message threads (and every decent
  145. mail reader supports that).</p>
  146. <p>If you ever have to refer to single message earlier in a thread or in a
  147. different thread then you can use a URL to the <a href=
  148. "mailing_lists.htm#archive">message archives</a>. To help to keep those
  149. URLs short, you can use <a href="http://www.tinyurl.com">tinyurl.com</a>.
  150. Citing the relevant portion of a message you link to is often helpful (if
  151. the citation is small).</p>
  152. <h3>Maintain the Integrity of Discussion Threads</h3>
  153. <p><b>When starting a new topic, always send a fresh message</b>, rather
  154. than beginning a reply to some other message and replacing the subject and
  155. body. Many mailers are able to detect the thread you started with and will
  156. show the new message as part of the original thread, which probably isn't
  157. what you intended. Follow this guideline for your own sake as well as for
  158. others'. Often, people scanning for relevant messages will decide they're
  159. done with a topic and hide or kill the entire thread: your message will be
  160. missed, and you won't get the response you're looking for.</p>
  161. <p>By the same token, <b>When replying to an existing message, use your
  162. mailer's "Reply" function</b>, so that the reply shows up as part of the
  163. same discussion thread.</p>
  164. <p><b>Do not reply to digests</b> if you are a digest delivery subscriber.
  165. Your reply will not be properly threaded and will probably have the wrong
  166. subject line. Instead, you can reply through the <a href=
  167. "http://news.gmane.org/gmane.comp.lib.boost.devel">GMane web
  168. interface</a>.</p>
  169. <h3>Keep The Size of Your Posting Manageable</h3>
  170. <p>The mailing list software automatically limits message and attachment
  171. size to a reasonable amount, typically 75K, which is adjusted from
  172. time-to-time by the moderators. This limit is a courtesy to those who rely
  173. on dial-up Internet access.</p>
  174. <h2><a name="behavior" id="behavior"></a>Prohibited Behavior</h2>
  175. <p>Prohibited behavior will not be tolerated. The moderators will ban
  176. postings by abusers.</p>
  177. <h3>Flame wars</h3>
  178. <p>Personal insults, argument for the sake of argument, and all the other
  179. behaviors which fall into the "flame war" category are prohibited.
  180. Discussions should focus on technical arguments, not the personality traits
  181. or motives of participants.</p>
  182. <h3>Third-party attacks</h3>
  183. <p>Attacks on third parties such as software vendors, hardware vendors, or
  184. any other organizations, are prohibited. Boost exists to unite and serve
  185. the entire C++ community, not to disparage the work of others.</p>
  186. <p>Does this mean that we ban the occasional complaint or wry remark about
  187. a troublesome compiler? No, but be wary of overdoing it.</p>
  188. <h3>Off-topic posts</h3>
  189. <p>Discussions which stray from the acceptable topics are strongly
  190. discouraged. While off-topic posts are often well meaning and not as
  191. individually corrosive as other abuses, cumulatively the distraction
  192. damages the effectiveness of discussion.</p>
  193. <h2><a name="culture" id="culture"></a>Culture</h2>
  194. <p>In addition to technical skills, Boost members value collaboration,
  195. acknowledgement of the help of others, and a certain level of politeness.
  196. Boost membership is very international, and ranges widely in age and other
  197. characteristics. Think of discussion as occurring among colleagues in a
  198. widely read forum, rather than among a few close friends.</p>
  199. <p>Always remember that the cumulative effort spent by people reading your
  200. contribution scales with the (already large) number of boost members. Thus,
  201. do invest time and effort to make your message as readable as possible.
  202. Adhere to English syntax and grammar rules such as proper capitalization.
  203. Avoid copious informalism, colloquial language, or abbreviations, they may
  204. not be understood by all readers. Re-read your message before submitting
  205. it.</p>
  206. <h2>Guidelines for Effective Discussions</h2>
  207. <p>Apply social engineering to prevent heated technical discussion from
  208. degenerating into a shouting match, and to actively encourage the
  209. cooperation upon which Boost depends.</p>
  210. <ul>
  211. <li>Questions help. If someone suggests something that you don't think
  212. will work, then replying with a question like "will that compile?" or
  213. "won't that fail to compile, or am I missing something?" is a lot
  214. smoother than "That's really stupid - it won't compile."&nbsp; Saying
  215. "that fails to compile for me, and seems to violate section n.n.n of the
  216. standard" would be yet another way to be firm without being
  217. abrasive.</li>
  218. <li>If most of the discussion has been code-free generalities, posting a
  219. bit of sample code can focus people on the practical issues.</li>
  220. <li>If most of the discussion has been in terms of specific code, try to
  221. talk a bit about hidden assumptions and generalities that may be
  222. preventing discussion closure.</li>
  223. <li>Taking a time-out is often effective. Just say: "Let me think about
  224. that for a day or two. Let's take a time-out to digest the discussion so
  225. far."</li>
  226. </ul>
  227. <p>Avoid <i><b>Parkinson's Bicycle Shed</b></i>. Parkinson described a
  228. committee formed to oversee design of an early nuclear power plant. There
  229. were three agenda items - when to have tea, where to put the bicycle shed,
  230. and how to ensure nuclear safety. Tea was disposed of quickly as
  231. trivial.&nbsp;Nuclear safety was discussed for only an hour - it was so
  232. complex, scary, and technical that even among experts few felt comfortable
  233. with the issues. Endless days were then spent discussing construction of
  234. the bicycle shed (the parking lot would be the modern equivalent) because
  235. everyone though they understood the issues and felt comfortable discussing
  236. them.&nbsp;</p>
  237. <h2><a name="lib_names" id="lib_names"></a>Library Names</h2>
  238. <p>In order to ensure a uniform presentation in books and articles, we have
  239. adopted a convention for referring to Boost libraries. Library names can
  240. either be written in a compact form with a dot, as "Boost.<i>Name</i>", or
  241. in a long form as "the Boost <i>Name</i> library." For example:</p>
  242. <blockquote>
  243. <b>Boost.Python</b> serves a very different purpose from <b>the Boost
  244. Graph library</b>.
  245. </blockquote>Note that the word "library" is not part of the name, and as
  246. such isn't capitalized.
  247. <p>Please take care to avoid confusion in discussions between libraries
  248. that have been accepted into Boost and those that have not. Acceptance as a
  249. Boost library indicates that the code and design have passed through our
  250. peer-review process; failing to make the distinction devalues the hard work
  251. of library authors who've gone through that process. Here are some
  252. suggested ways to describe potential Boost libraries:</p>
  253. <ul>
  254. <li>the proposed Boost <i>Name</i> library</li>
  255. <li>the Boost.<i>Name</i> candidate</li>
  256. <li>the <i>Name</i> library (probably the best choice where
  257. applicable)</li>
  258. </ul>
  259. <p>Note that this policy only applies to discussions, not to the
  260. documentation, directory structure, or even identifiers in the code of
  261. potential Boost libraries.</p>
  262. <hr>
  263. <p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
  264. "http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
  265. height="31" width="88"></a></p>
  266. <p>Revised
  267. <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->04 December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
  268. <p><i>Copyright &copy; 2000-2005 Beman Dawes, Rob Stewart, and David Abrahams</i></p>
  269. <p><i>Distributed under the Boost Software License, Version 1.0. (See
  270. accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
  271. at <a href=
  272. "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</i></p>
  273. </body>
  274. </html>
粤ICP备19079148号