On Sun, Jun 17, 2018 at 1:33 PM, Theodore Y. Ts'o <tytso@mit.edu> wrote:
On Sat, Jun 16, 2018 at 09:37:16AM -0400, Noel Chiappa wrote:
> I can't speak to the motivations of everyone who repeats these stories, but my
> professional career has been littered with examples of poor vision from
> technical colleagues (some of whom should have known better), against which I
> (in my role as an architect, which is necessarily somewhere where long-range
> thinking is - or should be - a requirement) have struggled again and again -
> sometimes successfully, more often, not....
>
> Examples of poor vision are legion - and more importantly, often/usually seen
> to be such _at the time_ by some people - who were not listened to.

To be fair, it's really easy to be wise to after the fact.  Let's
start with Unix; Unix is very bare-bones, when other OS architects
wanted to add lots of features that were spurned for simplicity's
sake. 
Amen brother.  I refer to this as figuring out and understanding what matters and what is really just window dressing.​  That is much easier to do after the fact and for those of us that lived UNIX, we spent a lot of time defending it.  Many of the 'attacks' were from systems like VMS and RSX that were thought to be more 'complete' or 'professional.'
 
Or we could compare X.500 versus LDAP, and X.400 and SMTP.
​Hmmm. I'll accept X.500, but SMTP I always said was hardly 'simple' - although compared to what it replaced (FTPing files and remote execution) is was.​
 


 

It's easy to mock decisions that weren't forward-thinking enough; but
it's also really easy to mock failed protocols and designs that
collapsed of their own weight because architects added too much "maybe
it will be useful in the future".
​+1
 

​... 
 Adding a database into the kernel and making it a
fundamental part of the file system?  OK, stupid?  How about adding
all sorts of complexity in VMS and network protocols to support
record-oriented files?
​tjt once put it well:  'It's not so bad that RMS has 250-1000 options, but some has to check for each them on every IO.'

 

Sometimes having architects being successful to add their "vision" to
a product can be worst thing that ever happened to a operating sytsem
or, say, the entire OSI networking protocol suite.
​I'll always describe it as having 'good taste.'  And part of 'good taste' is learning what really works and what really does not.​  BTW: having good taste in one thing does necessarily give you license in another area.  And I think that is a common issues.   "Hey were were successfully here, we must be genius..."   Much of DEC's SW as good, but not all of it as an example.  Or to pick on my own BSD expereince, sendmail is a great example of something that solved a problem we had, but boy do I wish Eric had not screwed the SMTP Daemon into it ....

 

> So, is poor vision common? All too common.

Definitely.  The problem is it's hard to figure out in advance which
is poor vision versus brilliant engineering to cut down the design so
that it is "as simple as possible", but nevertheless, "as complex as
necessary".
​Exactly...   or as was said before:  as simple as possible, but not simpler.​
 
​  But I like to add that understanding 'possible' is different from 'it works.' ​