[Council] File Xfer Call for Arbitration

Ryan Eatmon reatmon at jabber.org
Thu Jul 17 17:47:40 CDT 2003

We need to come to a final consensus for the file transfer debate and 
issue our "ruling".

The base differences between Justin's and Thomas' protocols are:

1) Profiles vs. Custom namespace for each application.
2) Auto fail over vs Restarting a stream.

I would like to start this off by telling you all about our experience 
with Thomas' Stream Initiation(95) at OSCON this year.  Peter Millard, 
Dave Smith, and myself worked to get an implementation of SI and the 
File Transfer Profile(96) up and running.  After much work of adding 
support for all of the required JEPS (disco, fneg, bytestreams, etc...) 
We were able to easily get the SI(95) stuff hooked up and working. 
Exodus currently supports this, as does an upcoming release of 
Net::Jabber and some Perl command line utilities that I wrote.

The interesting part about SI(95) is the profiles.  It allows you to 
send enough meta-data and stream choices that in one action you can 
accept and initiate the stream.  This helps cut down on the number of 
steps in the flow chart for sending files.  I was also able to create a 
Tree Transfer(105)(pending) profile for sending someone a directory of 
files.  Each file is then sent using pre negotiated stream ids and FT(96).

While this may be a pointless feature for some people, profiles make it 
very easy to use the same flow for doing any stream initiation, instead 
of having to create a custom one for each new application of the stream.

The other difference between Justin's protocol and Thomas' is the idea 
of automatic fail over if a stream fails to send a file.

This just doesn't sit right with me.  If a transfer fails (for any 
reason), then you should just have to restart it and pick a different 
method.  It is easy enough for a client to implement special features to 
automate it's side, but I do not think that it should be required in the 

In all other respects, the two methodologies are almost identical.  Any 
thoughts from other Council folk?

Ryan Eatmon
reatmon at jabber.org

More information about the Council mailing list