| Home | Libraries | People | FAQ | More

# Boost Discussion Policy

Email discussion is the tie that binds boost members together into a community. If the discussion is stimulating and effective, the community thrives. If the discussion degenerates into name calling and ill will, the community withers and dies.

## Contents

Acceptable Topics
Unacceptable Topics
Effective Posting
Prohibited Behavior
Culture

## Acceptable topics

- Queries to determine interest in a possible library submission.
- Technical discussions about a proposed or existing library, including bug reports and requests for help.
- Formal Reviews of proposed libraries.
- Reports of user experiences with Boost libraries.
- Boost administration or policies.
- Compiler specific workarounds as applied to Boost libraries.

Other topics related to boost development may be acceptable, at the discretion of moderators. If unsure, go ahead and post. The moderators will let you know.

## Unacceptable topics

- Advertisements for commercial products.
- Requests for help getting non-boost code to compile with your compiler. Try the comp.lang.c++.moderated newsgroup instead.
- Requests for help interpreting the C++ standard. Try the comp.std.c++ newsgroup instead.
- Job offers.
- Requests for solutions to homework assignments.

## Effective Posting

Please prune extraneous quoted text from replies so that only the relevant parts are included. Some people have to pay for, or wait for, each byte that they download from the list. More importantly, it will save time and make your post more valuable when readers do not have to find out which exact part of a previous message you are responding to.

A common and very useful approach is to cite the small fractions of the message you are actually responding to and to put your response directly beneath each citation, with a blank line separating them for readability:

>     > Some part of a paragraph that you wish to reply to goes
>     > here; there may be several lines.

>     Your response to that part of the message goes here.  There may,
>     of course, be several lines.

>     > The second part of the  paragraph that is relevant to your
>     > reply goes here; agiain there may be several lines.

>     Your response to the second part of the message goes here.
>     ...

For more information about effective use of quotation in posts, see this helpful guide.

A summary of the foregoing thread is only needed after a long discussion, especially when the topic is drifting or a result has been achieved in a discussion. The mail system will do the tracking that is needed to enable mail readers to display message threads (and every decent mail reader supports that).

If you ever have to refer to single message earlier in a thread or in a different thread then you can use a URL to the message archives. To help to keep those URLs short, you can use tinyurl.com. Citing the relevant portion of a message you link to is often helpful (if the citation is small).

Don't forget, you're a single writer but there are many readers, and you want them to stay interested in what you're saying. Saving your readers a little time and effort is usually worth the extra time you spend when writing a message. Also, boost discussions are saved for posterity, as rationales and history of the work we do. A post's usefulness in the future is determined by its readability.

The mailing list software automatically limits message and attachment size to a reasonable amount, typically 75K, which is adjusted from time-to-time by the moderators.. This limit is a courtesy to those who rely on dial-up Internet access.

When starting a new topic, always send a fresh message, rather than beginning a reply to some other message and replacing the subject and body. Many mailers are able to detect the thread you started with and will show the new message as part of the original thread, which probably isn't what you intended. Follow this guideline for your own sake as well as for others'. Often, people scanning for relevant messages will decide they're done with a topic and hide or kill the entire thread: your message will be missed, and you won't get the response you're looking for.

Do not reply to digests if you are a digest delivery subscriber. Your reply will not be properly threaded and will probably have the wrong subject line. Instead, you can reply through the GMane web interface.

## Prohibited behavior

Prohibited behavior will not be tolerated. The moderators will ban postings by abusers.

### Flame wars

Personal insults, argument for the sake of argument, and all the other behaviors which fall into the "flame war" category are prohibited. Discussions should focus on technical arguments, not the personality traits or motives of participants.

### Third-party attacks

Attacks on third parties such as software vendors, hardware vendors, or any other organizations, are prohibited. Boost exists to unite and serve the entire C++ community, not to disparage the work of others.

Does this mean that we ban the occasional complaint or wry remark about a troublesome compiler? No, but be wary of overdoing it.

### Off-topic posts

Discussions which stray from the acceptable topics are strongly discouraged. While off-topic posts are often well meaning and not as individually corrosive as other abuses, cumulatively the distraction damages the effectiveness of discussion.

## Culture

In addition to technical skills, Boost members value collaboration, acknowledgement of the help of others, and a certain level of politeness. Boost membership is very international, and ranges widely in age and other characteristics. Think of discussion as occurring among colleagues in a widely read forum, rather than among a few close friends.

Always remember that the cumulative effort spent by people reading your contribution scales with the (already large) number of boost members. Thus, do invest time and effort to make your message as readable as possible. Adhere to English syntax and grammar rules such as proper capitalization. Avoid copious informalism, colloquial language, or abbreviations, they may not be understood by all readers. Re-read your message before submitting it.

## Guidelines for effective discussions

Apply social engineering to prevent heated technical discussion from degenerating into a shouting match, and to actively encourage the cooperation upon which Boost depends.

- Questions help. If someone suggests something that you don't think will work, then replying with a question like "will that compile?" or "won't that fail to compile, or am I missing something?" is a lot smoother than "That's really stupid - it won't compile." Saying "that fails to compile for me, and seems to violate section n.n.n of the standard" would be yet another way to be firm without being abrasive.
- If most of the discussion has been code-free generalities, posting a bit of sample code can focus people on the practical issues.
- If most of the discussion has been in terms of specific code, try to talk a bit about hidden assumptions and generalities that may be preventing discussion closure.
- Taking a time-out is often effective. Just say: "Let me think about that for a day or two. Let's take a time-out to digest the discussion so far."

Avoid Parkinson's Bicycle Shed. Parkinson described a committee formed to oversee design of an early nuclear power plant. There were three agenda items - when to have tea, where to put the bicycle shed, and how to ensure nuclear safety. Tea was disposed of quickly as trivial. Nuclear safety was discussed for only an hour - it was so complex, scary, and technical that even among experts few felt comfortable with the issues. Endless days were then spent discussing where to put the bicycle shed (the parking lot would be a modern equivalent) because everyone understood the issues and felt comfortable discussing them.

Revised 02 October, 2003

© Beman Dawes 2000

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)