[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Technical and Steering Committees
Dear Mr. Kunze:
This message is my own personal response to the issues raised in your
netmail of Arpil 7. Squires and Mathis may have differing views, as may
the others who were involved in selecting the technical and steering
committees. All are CC'ed on this message, via the CL-ISO mailing list.
First, a small point about my own relationship with Lucid: I am listed
as one of the founders of Lucid and an occasional consultant to them,
and I hold a small amount of stock in that company, but I certainly
don't feel that Lucid is my primary affiliation. I work for CMU, and
there are at least three other companies from whom I have received more
income than from from Lucid in the past few years, counting the Lucid
stock at the most recent investors' price. I think that it is clear to
anyone who has been following the Common Lisp activities closely that I
have been willing to help EVERY company, including competitors of Lucid,
with their Common Lisp activities by making the CMU code freely
available. I know that this code has been used at at Intermetrics and
at Berkeley, though I don't know whether you company has received a
copy. And I can't think of any circumstances in which my association
with Lucid would affect any decisions I might make as a member of the
technical committee. (I do plan to make sure that any changes do not
hurt Common Lisp implementations on "stock hardware", but that is
important to a great many companies, including yours.)
So I don't really think that the case can be made that Lucid has two
representatives on the committee while other companies have none. If I
felt that I would step aside, as Weinreb did, or more likely sever my
remaining ties with Lucid, but at the moment I feel no conflict of
interest here, and with the exception of people at Franz Inc., there
have been no complaints.
I grant you that I have a certain reputation within the Common Lisp
community and that Lucid benefits from this reputation, but I don't
think that my membership on the curent technical committee is a very
large component of this reputation; if I were not on the committee, I
would still be one of the original designers of Common Lisp, a frequent
participant in the design discussions, and the source of a public-domain
implementation that is widely used by other implementors. Similarly, I
don't think that Gabriel's committee memberships are very important to
his reputation in Common Lisp circles. Membership on the committee
could serve to enhance the reputation of someone who is relatively
unknown in the Common Lisp world, but for those of us who have been
visible in Common Lisp circles all along it does not add any significant
"competitive advantage".
Second, let me give you my view of the formal status of all this. It
should be clear that these committees are not the creation of DARPA
(except that Steve Squires was one of the seven people involved in
setting them up) or of ANSI. What they are right now is a couple of ad
hoc committees set up by a bunch of people who happen to be prominent in
one way or another in the Common Lisp world, with the encouragement and
consent of almost everyone who happened to be present at the meeting in
Boston last December. When X3J13 is set up, its membership will be open
to anyone who wants to join and is willing to participate. At that
time, this ad hoc group will perhaps propose that X3J13 give them some
sort of official standing and/or that X3J13 consider the language spec
that the technical committee has developed. Of course, if the community
as a whole feels that the committee has not done good work or that it is
biased somehow, then this will be rejected, so it behooves us to operate
in as reasonable a way as we can. None of these bootstrapping (or "who
decides who is to decide") issues would come up if we were to wait for
the official ANSI machinery to set up these committees, but that would
waste a year; with luck and hard work, we can be almost done by then.
Let me give you my view of why we chose to set up the committees the way
we did. First, is it really necessary to have a relatively small
technical committee making decisions on what goes into the spec? I
think it is. There are hundreds of people reading the Common Lisp
mailing list, and over a hundred people who have contributed at one time
or another. There are quite a few newcomers to the process who do not
have the context of past discussions, and a lot of people with little
experience in Lisp. So far, thankfully, the number of total losers who
want to comment has not been enough to poison the debate, but we could
go over that threshold at any time.
In a comunity of that size, you just cannot decide everything by
consensus. Some issues settle right away, but others generate lengthy
debates. There comes a time when someone has to point out that only 10%
of the people are one one side of an issue, that their arguments have
not persuaded the others, that they don't represent an essential
interest within the community (e.g. a big company ready to walk out),
and that the issue has been decided against them. In preparing the
Steele book, Steele had the ultimate power over what went in, which
power he shared with the so-called "gang of five". Since the book came
out, we've been drifting for lack of any real moderator or decision
process.
What we are proposing, then is that a few of us (the new technical
committee) take over this function of preparing a new spec and deciding
what goes into it, after everything is debated on the mailing list. As
far as those of us writing the spec are concerned, concensus within the
technical committee is enough to close the debate on an issue, once
everyone has had a chance for a fair hearing. Since consensus among at
least this small group is required, the committee cannot be too large.
Since this is an ad hoc group, its decisions carry no formal weight; in
principle, someone else could write a different spec and propose it to
X3J13. The only thing that makes our technical committee special is the
reputation of the people on it.
So we felt that having a small technical committee of some sort was
essential. It is still a small, largely self-selected group, but at
least it is more representative than having all of the power in the
hands of a single individual writing a book.
Now, if there is to be a technical committee, how do we decide who is on
it? I can think of only the following models:
1. Anyone who wants to be on the committee can be. But this is the same
as the Common Lisp mailing list we already have -- fine for debate and
large-scale decisions, but no good for detailed decision making.
2. Every company that wants a representative on the committee gets one
and has an equal vote (with maybe some additional seats available for
academics and others not tied to companies). My guess is that we'd have
about 200 companies involved in this case, most of them tiny. Still too
large for detailed decision making, and the decision process would be
more rancorous because the people involved would be there to represent
their own company's interests and not the good of the language as a
whole. Bosses would be asking these people why they hadn't made any
waves.
3. Like 2, but only the N largest companies get to participate. Now
we've got a real mess: How do you decide which companies are the
largest? Total sales? Total sales of Common Lisp software? Number of
installed Common Lisp systems? Number of installed Lisp systems,
including non-Common Lisps like Franz and Interlisp? Do we count the
potential of products not yet sold or announced? Do we represent big
users as well as big suppliers? How do you count a huge company like GM
that uses Lisp only in minor ways against, say, Carnegie Group that
depends critically on Lisp and sells it products to huge companies? Who
does the accounting and, since it is a big, contentious job, who pays
him and his lawyers? And what is the proper value of N? (While I
haven't seen any figures, my guess would be that Franz Inc would not be
in the top 10 by most ways of counting, so N had better be quite large
from your point of view. if it is, then we get back into large-scale
effects, but with a nasty new element of corporate interest injected
explicitly into the process.)
4. Somebody does the best job they can of picking a smallish committee,
whose individuals are supposed to represent the whole community and not
the interests of specific companies. That's what we have now, though
you might disagree with the quality of our specific selections or the
constitution of the group that did the selecting. I think that we can
at least claim that every member of the technical committee we selected
would have been a plausible choice regardless of his employer, and that
the people we have selected from companies have demonstrated an interest
in Common Lisp that goes beyond their own companies' specific concerns.
5. Like 4, we start with a small hand-picked committee, but if some
specific company is unhappy with the result and demands representation,
we add their representative to the committee. This is totally unstable,
of course: the first time we do this in a visible way, every other
company sees that they are being out-complained and starts lobbying for
their own representative. We end up with situation 1 or 2 above, or 3
if we decide to yield only to the most powerful complainers.
So, which of these models are you proposing for the enlarged technical
committee? Or is there some other model? There may be some good answer
in here that we all missed, but it sounds like you're pushing
for 5, which then becomes 2, which kills the whole process.
Assuming that we don't change the technical committee, there still might
be some steps we could take to eliminate or reduce the sort of outside
perception that you say is causing you trouble. Here are three steps
that we could consider:
1. All members of the technical and steering committees agree that they
are there as individuals and not as representatives of their companies.
In any future communications, we would try to refrain from listing
organizations with the committee members. We get the members to agree
that their company will not use the fact of their committee membership
in any sort of advertising or presentations to customers. (Companies
would still be free to say things like "Joe Blow was one of the original
designers of Common Lisp", to the extent that they can do this with a
straight face.)
2. We take a survey on the Common Lisp mailing list to determine what
companies are out there and are following the debate closely. We then
publish this list of companies that are "participating in the design and
standardization of Common Lisp". We need to do this nayway for ANSI,
and companies on this list would then have a bullet for their brochures.
These two steps taken together would be an honest reflection of our view
that the design takes place mostly in the mailing list debates, and not
in the final decision process of the technical committee. I suppose we
might also try to make a list of the individuals involved, like the one
at the start of the Steele book, but this would be huge by now.
3. The steering committee really has three parts: Mathis, Squires, and
Ohlander, who will do the actual political work; McCarthy, who provides
clout, perspective, legitimacy, and an excellent set of connections
throughout the Lisp world; and Steele and Gabriel who are meant to serve
as representatives of the technical committee at any steering committee
meetings. These were the obvious two people to handle this liaison:
Steele wrote the book, and Gabriel has been doing most of the steering
so far, in the sense of organizing meetings and the like. I think that
your concern over Gabriel's dual membership is a bit silly, but if it
really made a difference in how people perceive all this, we could
probably cut the steering committee back to the first four, and say that
the technical committee will send representatives to any steering
committee meetings to provide technical input. Those representatives
might well be Steele and Gabriel, but we're discussing perceptions here,
not substance. Would that make a difference?
If you have any other suggestions of this sort, I'd be happy to listen
and pass them along to the others for consideration. Given the capacity
of this community for endless debate, we thought it best to make some
decisions and then be firm about them. Endless public debate about who
gets to decide things under what circumstances would just make everyone
mad, we thought. As it is, we seem to have satsified everyone except
you people at Franz, and your concern seems to be mostly one of how
outsiders might perceive all this, not one of whether the committee will
make good decisions. Without evidence that the committee memberships
per se (as opposed to people's pre-exisitng reputations) are causing you
real harm, I don't think that it would be appropriate to add a Franz
person to the technical committee now (or to delete a Lucid person), but
if there are ways of reducing the PR problem this causes for your firm,
we should seriously consider those ways.
-- Scott