[Standards] Extending private-storage [Was: Meta-Contacts: implementation notes]

Dave Cridland dave at cridland.net
Tue Apr 29 08:36:20 UTC 2008


On Mon Apr 28 21:32:49 2008, Tomasz Sterna wrote:
> I really believe in Unix philosophy of small tools that do one  
> thing but
> do it well.

I really believe in Santa Claus, but it doesn't mean he exists,  
either. :-)


> For storing private data on server we have private-storage.
> PubSub is for publishing information to subscribed entities, not a  
> Swiss
> Army Knife to put anything in, just because we can.

The UNIX philosophy isn't "small tools that do one thing". It's "a  
very few well defined interfaces yielding weakly coupled components",  
which is admittedly not as catchy.

What you're misparaphrasing is the result of that philosophy - if you  
have a very small handful of simple, well defined, interfaces - in  
the UNIX case, interfaces such as "The Pipe" - then you can construct  
complex tools out of simple ones - "The Pipeline".

Applying this philosophy to XMPP does indeed mean that more or less  
everything gets slowly moved to PubSub or MUC, and these technologies  
become a kind of wasp-waist swiss-army knife. (Mixing my metaphors?  
Never!)

Now, what you may be arguing about here is whether to go the UNIX  
philosophy or the Plan 9 philosophy - an important argument to have.  
In UNIX, everything is a file, except when it isn't. So UNIX has the  
concept of a "device" which has special ioctls, and you can (and  
usually must) obtain a network socket via a socket system call  
instead of an open or creat one. (I'll skip over the fact that once  
obtained, sockets behave like files, and that many devices act mostly  
as files too - it'd be interesting to consider how this might affect  
various protocols).

In Plan 9, everything is a file, and if you need to do clever stuff,  
you read or write clever stuff to the file. Meaning that it's very  
clever and flexible, but often quite painful due to its purism. My  
personal view is that the quality of abstraction is not strained; it  
droppeth as the gentle rain from Model to Instantiation. To put it  
another way, Plan 9's all very clever as a research project, but I  
think it simply goes a bit too far.

So the question here becomes, "Is XEP-0049 sufficiently distinctive  
in its behaviour to warrant an entirely distinct interface?". I think  
the answer's a very clear no.

Dave.
-- 
Dave Cridland - mailto:dave at cridland.net - xmpp:dwd at jabber.org
  - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
  - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade



More information about the Standards mailing list