[r6rs-discuss] "Steering"
Anton van Straaten
anton at appsolutions.com
Fri Feb 20 21:30:20 EST 2009
Michael Sperber wrote:
> Anton van Straaten <anton at appsolutions.com> writes:
>
>> 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:
>
> Both you and I would prefer greater community involvement, so I don't
> think we have a conflict.
There seems to be general agreement on this, which is good.
> However, I have yet to see a design process where community involvement
> is a substitute for a smaller group of people writing a coherent
> proposal.
I didn't mean to suggest otherwise. However, as others have also
suggested, proposals could also come from subcommittees or working
groups, i.e. people other than the appointed editors. That worked out
well in the case of the R6RS formal semantics, for example. Unicode
also benefited significantly, but more informally, from outside input.
The R6RS editors had many roles, some of which might be more
productively delegated beyond the Editors Committee: they were
designers, authors, editors, voters, contributors of prior academic
work, advocates for the approaches of particular implementations, and so
on. This all puts a heavy load on a small group of editors, and was a
factor in at least a couple of the resignations.
>> 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.
>
> On this, I disagree. You're right that the formal influence was small.
> Yet, the editors spent a great amount of energy on trying to cater to
> comments made on the R6RS SRFIs as well as the formal comments, throwing
> overboard many proposals and aspects of the report dear to the heart of
> some of us.
I agree, a great deal of this did take place. My comment that
non-editors "did not have much influence" may be an overstatement, but I
still see a real point here. For example, the editors made many
decisions outside of the R6RS SRFI process. Partly as a result of that,
when the first full R6RS draft was released, many aspects of it were
being seen by the rest of the community for the first time.
Increasing the formal influence that the community has on the ongoing
process, beyond just a ratification vote at the end, would help avoid
the need to gain approval after the fact from the community for a large,
interrelated set of changes. It would also require that changes and
features be more clearly motivated in advance of their being made.
> A prime example of the limits of happiness is, of course, the records,
> which apparently made many people unhappy.
...
> Design a record system - see if makes *me* happy.
Yes, that's a big discussion all on its own. There's no doubt that
there are real barriers to reaching consensus on both technical and
taste issues, and the record system is one of the many good examples of
that.
Still, the R6RS record system is also a good example of what I'm getting
at - it was ambitious, multi-layered and relatively complex, because it
attempted to satisfy multiple sets of requirements from different groups
of users, and it did so by providing multiple overlapping feature sets.
Even with the R6RS Records SRFI, this made for a big pill for the
community to swallow, particularly without experience of using the system.
I trust I'm preaching to the choir when I say that bundling such a
system into a larger report, along with a number of other such big
pills, and having the community vote only on the entire package, is not
an approach that should be repeated.
(As an aside, it's worth noting that Scheme is not alone in the struggle
to find record system happiness. Consider Haskell, which has a rather
simple record system, a.k.a. "Datatypes with Field Labels" as specified
by the Haskell 98 Report. This system is widely considered to be very
limiting, as a web search for "haskell records proposal" illustrates.
However, Haskell's approach to the problem was to standardize this
simple but limited system a long time ago, and a better one hasn't yet
been widely agreed on. There are lessons for Scheme in this, although
conclusions could be drawn in more than one direction.)
> Moreover, I invite you to look for
> the signs of outrage, and clear and unanimous unhappiness that the
> editors, as well as the clear and unanimous consensus on an alternative
> design. If it's there, I didn't see it at the time.
Unfortunately, some of the reaction against the R6RS process manifested
itself in disengagement, so lack of visible outrage was not necessarily
a good sign.
I want to be clear about one thing: in raising these issues, I'm trying
to be constructive, in the interests of improving the process in future.
If I'm mischaracterizing anything, please do correct me. On the other
hand, I don't think it should be necessary to justify or defend the
previous process, unless it somehow has a bearing on the design of the
future process. The previous process was a response to a particular
situation. We're facing a new situation now, and we have the luxury of
benefiting both from the technical work that went into R6RS, as well as
the process experience.
Anton
More information about the r6rs-discuss
mailing list