When groups of implementors and others (working groups in standards bodies and what have you, or groups of implementors and others with shared interest in a certain set of technologies) gather together publicly for focused technical discussion on a particular topic — or, say, to pool their efforts to produce specifications for new technologies — there’s a common scenario they can sometimes find themselves facing.
That scenario starts with the appearance in the group of certain kinds of new arrivals (for lack of a better term) — sincere, well-intentioned people who show up with some ideas that are often pretty interesting but that they’ve cooked up sorta on their own, in relative isolation. The new arrival — driven by a strong personal conviction that his ideas have real value — then makes a sustained effort for a while to do everything he can to get the rest of the group to pay attention and consider spec’ing out and implementing those ideas.
But the reaction of the rest of the group in such cases can often range from simple indifference to sometimes-polite and sometimes-not-so-polite attempts to point out to the new arrival that his ideas have some fundamental problems that make implementing those ideas impractical or impossible or even just plain undesirable.
In a recent real-world case of something that could be seen as an instance of that kind of scenario, Michael Kay posted a message that makes an interesting analogy:
To be honest, it’s a bit like walking up to Boeing and Airbus with some sketches of a new plane and asking them to build it. We can wish you luck, but we won’t be placing our bets on it.
So the way the scenario more often than not ends up getting played out is with the new arrival — met with that kind of “We can wish you luck, but we won’t be placing our bets” reaction, and becoming frustrated/angry/confused about why the rest of the group just can’t see the value in his ideas that he sees in them — getting marginalized or ignored by the rest of group (as they grow impatient with the discussion and give up), or with the new arrival leaving altogether.
It is a mistake to dismiss such people outright as dilettantes or dabblers and to simply ignore them. At the same time, it may perhaps also be a mistake for groups working on standards to — in an effort to avoid offending people or making them feel unwelcome or unappreciated — to adopt completely welcoming/accepting “all ideas are created equal” discussion norms that risk encouraging continued, extended discussion of any proposal regardless of its lack of intrinsic merit or implementability.
It is perhaps far better for the group to encourage a discussion atmosphere of evaluating all ideas and proposals based on their technical merit and likelihood of being implemented. That does not mean the group shouldn’t remain open to all proposals and new ideas. But it should recognize that there are proposals that some amount of initial discussion will likely reveal as clearly not meeting the group’s baseline criteria with regard to technical merit and implementability — and recognize that it may not be the best use of the group’s time and energies to entertain continued discussion of such proposals indefinitely.
Being frank to people with regard to lack of viability of particular proposals in which they are personally (sometimes emotionally) invested may seem cruel — but I think it’s far kinder than misleading people into investing further personal time in exploration of ideas that have little chance of actually making it into the final version of a spec, or zero chance of ever getting implemented.
The goal of working together on technical specifications is to produce standards that actually get implemented. We don’t make standards for the sake of making standards, we do it with the goal of making them as implementable as possible — and to actually get them implemented as widely and interoperably as possible. Standards that don’t get fully implemented are not real standards. At best, they’re just wish lists. And we’re not in the business of producing wish lists (or should not be, at least).