Date: 2005-04-27 10:12:24
In support of Dave's response to Andrei:
Every one of the individuals in the room at the time that the PBSP
proposal was discussed is responsible, professional, and open-minded. One
healthy component of responsibility and professionalism, in the context of
a committee responsible for a very important international standard, is
conservatism. Every individual member of the LWG has different criteria
for evaluating proposals to TR2 or C++0x, but I think that there is silent
agreement that the following are at least worth considering:
1. is it implementable?
2. has it been implemented?
3. has the implementation been tested?
4. has it been used? how widely?
5. is it sufficiently useful?
6. can it be specified rigorously for a standard?
7. does it integrate well with the rest of standard C++?
This is not meant to be an exhaustive list, and I don't mean to imply that
every proposal needs to score an A+ with respect to each of these criteria
in order to win the favor of the individuals that participate in the LWG.
My point is that these are the sorts of questions that guide the thinking
of each of the people who were hearing proposals in Lillehammer.
I can't speak for anyone else, but personally, I felt the answer to too
many of the questions that I've listed above is "no" or (especially in the
case of #6) "we don't know." That was the reason that I, at least, didn't
support the proposal.
It's easy to petulantly assert that the people who expressed "no support
.. at this time" are motivated by conflict of interest or evil spirits,
but the simple fact is that a group of responsible and professional agents
didn't find the proposal compelling enough. That's the thing about
proposals; you need to sell them. There are lots of powerful ways to sell
an idea, and attending a meeting to address concerns and reservations is
only one of them (for example, Boost is a brilliant mechanism for proving
the value of a proposal, and TR1 demonstrates that). Disparaging the
folks to whom you want to sell an idea is not an effective sales technique
and, obviously, it's counter-productive since it impairs your credibility.
As I said, LWG members are open-minded. Any (and perhaps all) of them
could eventually be compelled change his mind with respect to the
questions in the above list. Yes, that means more work for the proposer,
and that work could consume many years of effort. As has been noted
already, shared pointer had a gestation period of about a decade. That's
the way it goes, and that's why there will probably be a TR3 and a TR4. A
proposer may not be willing to devote the time and care to develop a
proposal over such a long period (and it is still no guarantee of
acceptance), but that's his or her decision.
Bottom line: proposers should be prepared to sell their proposals. This
might take a long time. Proposals that are based on accepted Boost
libraries are already somewhat pre-sold, since they are assumed to satisfy
categories 1 to 4, and maybe even 5. If you don't want to have to sell a
proposal, or you can't deal well with constructive criticism or rejection,
find a collaborator who can help you. Accept that your proposal might
never be accepted -- it's up to you to decide whether time spent on a
rejected proposal is time wasted, but I think it generally isn't.
-- Robert Klarer
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk