Michael Sperber wrote:
> Still, I don't know that it's possible to make everyone happy
> ("happiness" being an operative word in JAR's statement).
There was a serious procedural problem with the R6RS process, in that
most of the people it was supposed to "make happy" did not have much
influence on the process.
This was apparently deliberate: a reaction to the difficulty of making
"progress" under the R5RS process. The new process was a defibrillator
jolt to the heart of the process - traumatic, perhaps more than was
needed, but the EKG is no longer flatlining.
(To address Brian Harvey's concern about the word "progress",
scarequoted above, it's a perfectly reasonable word to use when there
are known goals involved, in which case progress means movement towards
the goals. It's when the goals aren't clear that the word becomes
suspect. Clear goals are certainly something that the Steering
Committee will need to reach agreement on with the community.)
Consider the issue of veto power. In the R5RS process any single voting
individual could veto features they didn't like. Even with this rather
severe constraint, R5RS somehow managed to end up adding features which
made quite a few people unhappy (multiple values have already been
mentioned here).
By contrast, with R6RS, it required a majority of editors - three out of
the five - to veto a feature, and no one other than the editors had any
veto power until the final ratification vote.
Most directly, this obviously resulted in features being added to the
report that made people unhappy - including some editors. However,
there's another consequence which is arguably much worse: it lowered the
bar for making the case to the community for adding a feature.
This reduced the amount of communication between the editors and the
community in a way that was harmful to both the development of the
Report and to the community's understanding of the rationale behind
details in the report.
Although a rationale document was ultimately published, from the
community's perspective, this was post hoc, and doesn't have the same
effect as negotiation and discussion of the features while they're being
developed. Without that negotiation and discussion, the pursuit of
Scheme community happiness is seriously compromised.
The R6RS editors did publish major components of the Report as SRFIs,
which did generate some discussion and feedback. However, the
community, including most implementors, had no effective way to make
serious objections heard, except by withdrawing their involvement, which
(unscientifically) a number of people did quite early on.
If the editors had been required to obtain formal approval from the
community for the various pieces as they were being developed,
variations on three desirable scenarios could have played out:
* Some features would be formally approved by the community before the
report is complete, increasing both understanding of the Report and
happiness with it.
* Some features might have been controversial at first, forcing
supporters of those features to make a better case for them, possibly
revising the details in order to gain community approval. Again,
community understanding and acceptance (happiness) would be improved by
this.
* Some features would be rejected by the community and would not make it
into the report. For R6RS, there seems to have been fear of this being
too onerous a constraint, but going forward we can certainly afford to
try something along these lines.
The flip side to extending voting power to the community (in some as yet
unspecified way) is that it could increase the burden on the editors.
One of the other lessons of the R6RS process is that putting the entire
job of developing a Scheme Report onto five editors may be suboptimal,
but I'll leave that for another email. The Steering Committee will
obviously need to balance any changes to the process with the realities
of the available resources, which may be one of its most difficult tasks.
Anton
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss