Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

C++ Committee Meeting FAQ for Boost Members

Who can attend C++ Committee meetings? Members of PL22.16 (the INCITS/ANSI committee) or of WG21 (ISO) member country committee ("national body" in ISO-speak). INCITS has broadened PL22.16 membership requirements so anyone can join, regardless of nationality or employer.

Meeting attendance requirements are tighter than in earlier times, due to changes in INCITS and ISO rules. Anyone who is an employee of a PL22.16 member organization can attend, as can anyone who is a member of one of the national body groups such as the BSI.

Any non-member who would like to visit should check with the PL22.16 chair or head of their national delegation. The Boosters who are active on the committee can help smooth the way. Contact the Boost developer list for more information.

When and where is the next meeting? There are three meetings a year. Two are usually in North America, and one is usually outside North America. See a general list of meeting locations and dates. Detailed information about a particular meeting, including hotel information, is usually provided in a paper appearing in one of mailings for the prior meeting. If there isn't a link to it on the Meetings web page, you will have to go to the committee's Papers page and search a bit.

Is there a fee for attending meetings? No, but there can be a lot of incidental expenses like travel, lodging, and meals.

What is the schedule? The meetings start at 9:00AM on Monday, and 8:30AM other days, unless otherwise announced. It is best to arrive a half-hour early to grab a good seat, some coffee, tea, or donuts, and to say hello to people.

Until the next standard ships most meetings are running through Saturday, although some end on Friday. The last day, the meeting is generally over much earlier than on other days. Because the last day's formal meeting is for formal votes only, it is primarily of interest only to actual committee members.

Sometimes there are evening technical sessions; the details aren't usually available until the Monday morning meeting. There may be a reception one evening, and, yes, significant others are invited. Again, details usually become available Monday morning.

What actually happens at the meetings? Monday morning an hour or two is spent in full committee on administrivia, and then the committee breaks up into working groups (Core, Library, and Enhancements). The full committee also gets together later in the week to hear working group progress reports.

The working groups are where most technical activities take place. Each active issue that appears on an issues list is discussed, as are papers from the mailing. Most issues are non-controversial and disposed of in a few minutes. Technical discussions are often led by long-term committee members, often referring to past decisions or longstanding working group practice. Sometimes a controversy erupts. It takes first-time attendees awhile to understand the discussions and how decisions are actually made. The working group chairperson moderates.

Sometimes straw polls are taken. In a straw poll anyone attending can vote, in contrast to the formal votes taken by the full committee, where only voting members can vote.

Lunch break is an hour and a half. Informal subgroups often lunch together; a lot of technical problems are discussed or actually solved at lunch, or later at dinner. In many ways these discussions involving only a few people are the most interesting. Sometimes during the regular meetings, a working group chair will break off a sub-group to tackle a difficult problem.

Do I have to stay at the main hotel? No, and committee members on tight budgets often stay at other, cheaper, hotels. (The main hotels are usually chosen because they have large meeting rooms available, and thus tend to be pricey.) The advantage of staying at the main hotel is that it is then easier to participate in the off-line discussions, which can be at least as interesting as what actually happens in the scheduled meetings.

What do people wear at meetings? Programmer casual. No neckties to be seen.

What should I bring to a meeting? It is almost essential to have a laptop computer along. There is a meeting wiki and there is internet connectivity. Wireless connectivity has become the norm.

What should I do to prepare for a meeting? It is helpful to have downloaded the mailing or individual papers for the meeting, and read any papers you are interested in. Familiarize yourself with the issues lists if you haven't done so already. Decide which of the working groups you want to attend.

What is a "Paper"? An electronic document containing issues, proposals, or anything else the committee is interested in. Very little gets discussed at a meeting, much less acted upon, unless it is presented in a paper. Papers are available to anyone. Papers don't just appear randomly; they become available four (lately six) times a year, before and after each meeting. Committee members often refer to a paper by saying what mailing it was in: "See the pre-Redmond mailing."

What is a "Mailing"? A mailing is the set of papers prepared four to six times a year before and after each meeting, or between meetings. It is physically just a .zip or .gz archive of all the papers for a meeting. Although the mailing's archive file itself is only available to committee members and technical experts, the contents (except copies of the standard) are available to the general public as individual papers. The ways of ISO are inscrutable.

What is a "Reflector"? The committee's mailing lists are called "reflectors". There are a number of them; "all", "core", "lib", and "ext" are the main ones. As a courtesy, Boost technical experts can be added to committee reflectors at the request of a committee member.


© Copyright Beman Dawes, 2002, 2006, 2007, 2009, 2010

Distributed under the Boost Software License, Version 1.0. See www.boost.org/LICENSE_1_0.txt

Revised 18 January 2010