cat -v harmful stuff


A recent thread on the 9fans mailing list explores the relationship between rudeness and software quality in open source projects:

From: sl@9fr...
Subject: Adding a new user on 9-Front
Date: Mon, 23 Dec 2013 18:47:35 -0500

>> What remains of Plan 9 might be a better example of failing to seek
>> out community in order to preserve the value, which is sometimes
>> not clearly perceived by the interested few who show up at the party.
> isn't this a false dichotomy?  rudeness doesn't preserve value.

The TUPE[0] -related material is a valuable reference point in this discussion
specifically because it's all thirty years old. This tension between technical
and social pressures is nothing new.

I'm not specifically advocating rudeness, but it's worth pointing out that
more than one book written by former Bell Labs staff specifically accuses
our 1127 heroes of indulging in precisely this sort of conceitedness (not
my word) and condescension towards outsiders. I bring this up only to
illustrate what people choose to focus upon, and what they choose to
ignore. The complaints are always the same, whether it is Rob Pike or
Theo de Raadt who has made someone cry. The objections, -- no,
demands -- are always the same sort of "I'm new new guy, treat my bad
ideas as if they were good ideas, or I'll tell everyone you're a jerk" attempts
at social extortion that are familiar to anyone who has ever worked on an
open source software project. Worse, now, as "community" has become the
central concern of many such projects. How many times have you seen
someone declare that they refuse to use OpenBSD simply because Theo
made some crazy remark? This is the level at which the discourse occurs.

Meanwhile, there is the code. Which operating system with lots of
developers and lots of users is not terrible? Do we posit some connection
between the social structure of operating system development (as we've
observed it) and the end result? What are the lessons learned?

Ken referred to open source as "open sewers." Theo runs his project with
an iron fist, and if you don't like it, you're free to spend your time somewhere
else. Neither of these attitudes are conducive to the type of inclusiveness
sought after by those who concern themselves primarily with community.
In the case of Bell Labs, their code was not even widely circulated to
the general public for much of the period in question. Thought exercise:
Try to recall how gladly fools were suffered in the early days of the 9fans
mailing list.

At some point, you have to stop entertaining the bad ideas and work on
the good ones, even if that makes some people unhappy. This is how we
got UNIX (and later, Plan 9) in the first place.

It is possible this perspective has been expressed more gracefully elsewhere.

>> What remains of UNIX is sometimes difficult to recognize.
> it's easy to point out past mistakes.  do you think these were obvious
> at the time they were made?

The class of mistakes we are dealing with today were not acknowedged in
1983 and are still not acknowledged today. The entire "software tools"
philosophy was rejected, long ago, and as Rob pointed out, perl delivered
the elegy. This is rendered obvious when a longtime UNIX user tries out
Plan 9 for the first time. Go on, I'm sure you can predict the first several
complaints that will be voiced.

Was this rejection intentional? Did they (the perpetrators) really disagree
with the perspective of the UNIX authors, or were they simply ignorant of
the arguments being presented? I certainly was, until the existence of the
documents I keep linking to was brought to my attention. In your
experience, how well does the average UNIX enthusiast understand
these ideas, and how are they received, when explained?

Well, there are hordes of these people at the gate, and they are insisting that
we honor their demands as a matter of course. All of their bad ideas MUST
go into the system. NOW. Or else you're a jerk. What? You think our ideas
need more time to develop? That's not a very nice thing to say. I demand that
you take us seriously, RIGHT NOW. Gee, you guys think you're so smart! Your
privilege is showing!

What if we open the gate, just a crack...

The whole question of rudeness is based upon the false premise that it makes
sense to treat each new airing of a bad idea as if it were the first expression
of a potential breakthrough. Limited resources are quickly consumed by public
relations. Projects that have produced material of value typically eschew these
exercises in favor of doing the real work.


[0] The UNIX Programming Environment, by Brian W. Kernighan and Rob Pike