10

This question about the history of /dev/null has been closed as "opinion-based".

I've edited it to make it crystal-clear that I'm looking for historic references, not opinions or explanations about the null device working.

How can I improve it more?

2 Answers 2

6

Well, IMHO, it’s still a little short of crystal-clear.  I still don’t see a single sentence that says,

I’m looking for historical references that describe the decision-making process that led to the decision to use the name /dev/null.

I don’t even see a question that says, “Why was /dev/null given that name?” except in the title, and in Michael Homer’s edit, and some of us believe that a question ought to make perfect and complete sense even if its title is removed.  Your version of yours didn’t quite (again, IMHO).  It meandered around, saying “I wonder why” (which is not an actual question) and (gently and politely) ranting that it should be called /dev/empty, that the name /dev/null is inappropriate, that the documentation discussing it doesn’t make sense, and that the “black hole” analogy doesn’t work for you.  That’s the sort of opinion-based talk that got the question closed, and Michael improved the question by scaling that back.

Also, note the official close reason:

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.

It’s fairly well known that Unix was basically created by two people (Dennis M. Ritchie and Ken Thompson).  Some reports suggest that they were basically playing around with some hardware that nobody else was using; even that the work was (to at least some extent) motivated by a desire to have a platform that ran a game that they wanted to play.  It’s unclear whether they were working under anybody’s direction, or merely with their employers’ permission.  They probably didn’t know that they were creating a dynasty that is now in its fifth decade.1

I don’t know whether Ritchie and Thompson shared an office, or had offices in the same hallway, or what.  In any case, given the informality of the early days, it seems likely that many decisions were made in casual conversations.  There probably were not a lot of formal, design committee review meetings, and it’s unlikely that many records were kept (and preserved for 45 years!).  I found a reference to the design of the file system (/, /bin, . and .., etc.) being worked out on a chalkboard (an intrinsically ephemeral medium).  I can imagine that some trivial decisions (like names for things) were made unilaterally by one of the developers, with no consultation or record-keeping.

My point is, I find it highly unlikely that there are any historical records that would answer your question.  We’re having trouble piecing together the software base and the official documentation from that far back, and documentation on why developers made arbitrary decisions tends to be sparse.  Of course, there might be records; there was some published discussion regarding why the file-creation system call was called creat when the software development system supported six-letter identifiers (notably, unlink).  And, if any of the surviving2 members of the Unix development team are on Stack Exchange, I’d be thrilled to hear from them.  But, IMHO, it’s a needle in a haystack, and “answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.”  I fear that your question will attract counter-rants from people explaining why they believe that /dev/null is a perfectly sensible name (and perhaps critiquing /dev/empty).

And I would remind you of this paragraph from What types of questions should I avoid asking?

You should only ask practical, answerable questions based on actual problems that you face.  Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.

There has been some debate about what “actual problems that you face” means.

To clarify (at the risk of beating a dead horse), I’m not totally opposed to history-related questions if they are original/unique, on-topic, clear, well-scoped, objective, and infrequent.  Hypothetical examples of acceptable history-related questions include:

  • In what version of Unix was feature X first introduced?
  • How could you do Y in Unix before then?
  • When was version Z released?
  • What did you, Giacomo Tesio, have for lunch on September 9, 1973 (or some other arbitrary date in the distant past)?    (And, of course, this would not be on-topic; I offer it to make a point.)

These questions may be answerable with facts, references, or specific knowledge.  You might still have a receipt from lunch on September 9, 1973.  But, if we ascertain what you had for lunch, and we then ask why you chose that meal, the slope gets more slippery.  There’s probably no record of why you selected that food.  Conceivably you might remember, but you won’t be able to support an answer with evidence, and it’s almost impossible that anybody else would be able to give an authoritative answer at all.

And yet you’re asking “What was Dennis Ritchie thinking on some day in the early 1970s?”

OK, in spite of all of that, I have voted to reopen, in the hope that somebody may be able to provide a good answer.  Happy New Year.
____________
1 Of course, this is largely speculation on my part; i.e., my opinion.  It’s next to impossible for us to ascertain what they knew and when they knew it.
2 Dennis M. Ritchie died in 2011, and, if Ken Thompson is still alive, he’ll be 74 next month.

1
  • 1
    @Giacomo Tesio: I’m pleased to see that the question hasn’t been flooded with opinion-based non-answers. And I’m disappointed (although feeling slightly vindicated) that it hasn’t received any answers in the week since it’s been reopened. Jan 9, 2017 at 6:10
0

Maybe a slight issue is whether you're interested in where the idea for /dev/null came from, or where the name came from (which to me it could be read as). For the first I could only find the very brief man page from v7 Unix, but there may be more. For the latter though, you could argue its for the same reasons null is used a lot in C, so that is more opinion based, maybe?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .