home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.18 / text0027.txt < prev    next >
Encoding:
Internet Message Format  |  1990-03-18  |  7.8 KB

  1. From: Donn Terry <donn@hpfcrn.hp.com>
  2.  
  3. In an earlier posting, I noted that I believed that standards encourage
  4. innovation.  John (our illustrious moderator) challenged me to flesh out
  5. the original bare-bones statement.  Here I go.
  6.  
  7. First of all, let me suggest that you read "Bugs" by Christopher Anvil
  8. in Analog, Vol CVI, No.  6, June, 1986.  It's an interesting piece of
  9. fiction which is basically a fever-dream about why standards are
  10. important to end users, and the consequences of their lack.  It supports
  11. my position by showing that energy is often wasted when standards are
  12. not present.
  13.  
  14. I believe that standards encourage innovation.  Clearly there are others
  15. who don't, and I'd like to suggest that they think about it again.
  16.  
  17. Standards are written for areas where there is a clear consensus that
  18. there is a "right way" to do something, or at least there is a reasonable
  19. hope of agreeing on a "right way".   Where there is no consensus like
  20. this, standards are premature.  (See below on premature standards.)
  21.  
  22. When a consensus is reached concerning a standard, the number of possible
  23. ways of doing something (at least within a given context) is reduced
  24. (ideally to one, but compromise may require that there be a small number).
  25. The key issue here is that the way(s) that remain are believed to be
  26. nearly optimal and are clearly adequate to do the currently known jobs.
  27. (If a new aspect comes out it's (supposed to be) because the context didn't
  28. originally include that aspect.)
  29.  
  30. Because the standard specifies a particular way of doing something, it is
  31. fairly mechanical to do it that way, and it need only be done once
  32. (per implementation).  Once it is done, it is done, as well.  No further
  33. energy need be wasted keeping up with the Jonses on that specific issue.
  34.  
  35. I assert that the amount of energy available to invest in what feels
  36. like innovation is approximately constant, and will be expended
  37. somewhere in that amount.  I also assert that this is distinct from the
  38. energy needed to do the mechanical implementation.  Thus, if the energy
  39. of innovation is not expended in one place, it will be expended in
  40. another.
  41.  
  42. However, for many individuals it is also a lot more comfortable to stay
  43. in an area they are familiar with than to go into something new and a
  44. bit harder or riskier.  This is the classical path of least resistance.
  45.  
  46. So, where does this lead?
  47.  
  48. A given amount of energy will be spent on what feels like innovation.
  49. If it can be spent in a "comfortable" area, it will often be spent
  50. there.  If not, it will be "forced" to other, less comfortable areas.
  51. "Innovation" in a comfortable area isn't innovation, it's
  52. hyper-refinement, and in general doesn't make things much better
  53. overall, although it might locally optimize something.  (A further
  54. refinement in the classical debate on how many angels can dance on the
  55. head of a pin doesn't do computer end-users much good, even if the
  56. answer is ten times more accurate than it was before!)
  57.  
  58. If "innovation" becomes impossible in an area because of a standard, it will
  59. be forced into another area.  Given that all the "old, comfortable" problems
  60. are now walled off from innovation, that energy will go into new areas, where
  61. it will make noticable advances.  Even in areas where it initially looks
  62. like there is a standard, there may be a place for innovation and improvement,
  63. but it is bounded by the standard. 
  64.  
  65. For example, the read() system call certainly shouldn't change at this
  66. point in terms of its interface, although if the de-facto standards were
  67. weaker (as they were when UN*X was invented) you could argue long and
  68. hard about the type of the buffer argument, whether it should be a
  69. function or a procedure, or whether the count is signed or not.  Even
  70. argument order might be an issue.  Further effort in that area might
  71. make it slightly better, but not very much.  However, if someone really
  72. wants to work on read(), I bet that it could be made smaller and faster
  73. without changing the interface.  That would be useful.  Tweaking
  74. the interface wouldn't be nearly as useful (although it is easier and
  75. lots more visible.)  (OK, maybe by now read() implementations are optimal,
  76. but you get the point.)
  77.  
  78. However, because there little or no opportunity to play with read(),
  79. someone could go off and start prototyping something really useful, like
  80. new tools.  In fact, because of the de-facto standardization of UN*X and
  81. MS-DOS, that's exactly what I claim happened:  there was no further room
  82. for innovation in the "old" stuff, so it happened in the areas not yet
  83. explored.  The pethora of tools on UN*X systems is an example.  However,
  84. I think we are just about saturated with shells, greps, and similar
  85. tools and it's time to move on.  (This is not to say that V6 sh, Bourne
  86. sh, csh, ksh, ad nausium weren't valuable.  They were because they
  87. explored the space of classical shells, and now we appear to know how to
  88. make a pretty good one for experts.  Its clear we don't have the "novice
  89. shell" problem licked yet, and rather that making another expert shell,
  90. it would be more useful to explore the novice shell space (by
  91. innovation).  Standardizing the shell (and thus forcing away innovation)
  92. will move those energies into (I personally hope) novice shells.  It will
  93. also move innovation into things like the ksh history mechanism, which
  94. built tightly upon the existing de-facto standards of vi, emacs, and 
  95. Bourne shell.)
  96.  
  97. (Note that I didn't say that innovation ONLY occurs when standards
  98. force it, just that standards tend to keep it in areas that need it.)
  99.  
  100. Note that there still are debates about angels and pins, but they are
  101. usually confined to the standards process when the time for a standard
  102. is right.  And, once done, they are done; there's little reason to 
  103. re-open them again.
  104.  
  105. If you don't believe my point about the energy available for innovation
  106. being constant, Anvil presents a case that the feuding and keeping up
  107. with the Jonses that is inevitable when a standard is not present (or
  108. when a de-facto standard changes rapidly) will sap the energy for
  109. innovation (that is, for making things better.)
  110.  
  111. On premature standards: 
  112.  
  113. All of this is not to say that premature standards never occur.  They clearly
  114. do.  In computer systems (particularly busses (I realize the risk I take
  115. in saying that)) this is not all that uncommon.  There are a couple of reasons
  116. for that, and I don't attempt to assert that all of these have necessarily
  117. actually occured.  I'm simply saying it reasonably could.
  118.  
  119.     1) Personal: Ego gratification.  It's nice to have your name on a
  120.        standard, particularly if you're looking for a job.  You like
  121.        doing standards, relevant or not.  It counts as a "publication".
  122.  
  123.     2) User pressure:  end-users see that standards save them grief
  124.        and then reverse the direction of the implication arrow.
  125.        They want to get rid of grief so they infer standards will of
  126.        course do that.  (This might be true, or might not, depending
  127.        on the circumstances; when it's not, the standard is
  128.        premature.)
  129.  
  130.     3) Vendor pressure: having something proprietary declared as 
  131.        "standard" is a big competitive advantage, particularly if
  132.        you make a lot of money licensing technology or patents.
  133.        (Again, this doesn't imply that the standard is premature,
  134.        but simply is a force that can cause premature standards.)
  135.  
  136. Usually, this "outs" itself in two ways: the standard is never finished
  137. (there are legion), or the standard is crammed through a (typically small)
  138. committee and then roundly ignored by the users.
  139.  
  140. The standards process is designed to avoid premature standards, but if
  141. it was 100% effective in avoiding them, it would also elimiate some good
  142. and useful standards.  If one slips through it is usually ignored at a
  143. small cost.
  144.  
  145. (I would note that "premature" is often used to mean "not in my interests".
  146. Here I mean *really* premature.)
  147.  
  148. Donn Terry
  149. HP Ft. Collins
  150.  
  151. In this I speak only for myself, and in no way represent either my 
  152. employer or the IEEE.
  153.  
  154. Volume-Number: Volume 18, Number 28
  155.  
  156.