home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.24 / text0027.txt < prev    next >
Encoding:
Text File  |  1991-09-03  |  5.4 KB  |  105 lines

  1. Submitted-by: cjh@datlog.co.uk (Chris Harding)
  2.  
  3. I participate in the POSIX .17 work as technical editor and previously
  4. participated in the production of the base document from which the 
  5. POSIX standard is being derived. I am concerned that some of the comments
  6. which I understand Scott Guthery recently posted to comp.stds.unix may 
  7. give the wrong idea of what is going on and would like to set the record 
  8. straight.
  9.  
  10. Scott seems to have two objections:
  11.     
  12.     1)  that the "object management" mechanism used by the emerging P1003.17
  13.     and P1224 standards is extensible by vendors but not by users
  14.  
  15.     2)  that these standards do not effectively constrain the vendor, so 
  16.     that the user must "impedence match" between different (but
  17.     still compliant) implementations.
  18.  
  19. Although the first of these objections is untrue as stated, there is a 
  20. valid point behind it. I will come to this later. The second objection,
  21. however, is not only wrong but is arguing against a feature which, rather 
  22. than limiting the user, actually makes the API more "open".
  23.  
  24. Let me justify this last statement. 
  25.  
  26. The movement towards "open" systems arose largely from the desire of users 
  27. not to be "locked in" to vendors' proprietary implementations. The concept 
  28. evolved of an "open" system as one in which there was a standard interface 
  29. to applications programs.  An applications program written to this interface 
  30. would then be portable between different vendors' systems and the user would 
  31. no longer be "locked in". 
  32.  
  33. But this, the original "open systems" concept, is actually somewhat naive, 
  34. since it (implicitly) assumes that the user will just buy one system and 
  35. write one application program to run on it. What he really wants to do is 
  36. to buy several different systems and also buy - from several different
  37. vendors - several different software packages to run on them. The concept 
  38. of "open" system must be expanded to address these needs.
  39.  
  40. The "object management" mechanism used by P1003.17 and P1224 
  41. (it isn't really anything to do with Object Management in the sense of
  42. Smalltalk etc. and use of the phrase is a bit confusing) provides a 
  43. standard representation of information that can be used by different 
  44. software packages running on the same system. It also allows for the fact 
  45. that different implementations may include different options from the
  46. same standard (and how many standards are there that don't have any
  47. options?) and for the fact that a software package may be released in
  48. several versions, each with different features (and how many software
  49. packages are there that don't have several versions? - only the 
  50. unsuccessful ones where nobody bought the first version). In fact, it
  51. really addresses the issues that arise when trying to run different 
  52. software packages (possibly from different vendors) on a single system. 
  53.  
  54. It is in this sense that the emerging P1003.17 and P1224 standards are
  55. more "open" than most "open systems" standards and, far from limiting
  56. the users, are really giving users much more freedom of choice.
  57.  
  58. Although they provide this extra flexibility, it is not true to say
  59. that the emerging P1003.17 and P1224 standards fail to constrain the
  60. implementation properly. They define behaviour on which the application 
  61. can rely. They force the implementation, where it provides a feature, to
  62. provide it in an exactly and unequivocally specified way. In short,
  63. they do constrain the implementation in the way that standards should.
  64.  
  65. Coming back to the first objection, the point at issue is, who can extend
  66. the classes of object used by P1003.17 and P1224? The answer is, and
  67. sensibly can only be, that the standards bodies responsible for defining
  68. P1003.17 and P1224 are the only people who can extend them in a way that
  69. is binding on the whole community of vendors and users. 
  70.  
  71. Having said this, either a vendor or a user may also extend these classes 
  72. to describe a proprietary feature (in the case of a vendor) or a specific 
  73. requirement (in the case of a user). It is true that vendors are more 
  74. likely than users to make such extensions but there is nothing in the 
  75. methodology that would prevent a user from doing so. So (for example) the 
  76. Military might introduce some new classes of object if it wished to define 
  77. a special version of the X.400 API for Military use. 
  78.  
  79. The valid point behind the objection is that the "object management" 
  80. methodology used by P1003.17 and P1224 does not have a "class" concept
  81. with the properties of extensibility enjoyed by the "class" concepts
  82. of Smalltalk and some other languages. This is a fair criticism.
  83. However, the methodology does have (as I have tried to show above) 
  84. other properties which Smalltalk classes do not have and which are 
  85. far more valuable in the context of the sophisticated "open-ness" 
  86. requirements with which we now have to deal. Although it is an elegant
  87. feature, a real need for "extensibility" has yet to be demonstrated.
  88. Let's get the "open-ness" requirements sorted out first. 
  89. Perhaps "extensibility" can be added later.
  90.  
  91. Regards,
  92.  
  93. Chris
  94. -------------------------------------------------------------------------
  95. Chris Harding                   Tel:                +44 81 863 0383
  96. Data Logic                      Fax:                +44 81 861 2010
  97. Queens House                    Telex:              888103
  98. Greenhill Way                   APIA SprintMail:    C.HARDING 
  99. HARROW HA1 1YR                  X/Open E-mail:      c.harding@xopen.co.uk
  100. U.K.                            Other E-mail:       cjh@datlog.co.uk
  101.  
  102.  
  103. Volume-Number: Volume 24, Number 28
  104.  
  105.