[Foundation] Position Paper: Ryan Eatmon

Peter Saint-Andre stpeter at jabber.org
Thu Jul 25 17:39:29 CDT 2002

Ryan Eatmon is having trouble accessing his email while he's at the
O'Reily Open Source Convention, so he has asked me to post his position
paper for him. /stpeter



  I started with the Jabber project in the fall of 1999.  I was 
looking for an instant messaging platform that made it easy to 
write, or customize, a client. In the end, Jabber seemed like 
the best choice.  It was starting to have a lot of libraries
for different languages, and had a feature set that was very

  Since I had some experience with Perl, I looked at the Perl
libraries and started to poke at them.  Through a very odd
set of events I went from no one to Perl project leader within
a few weeks.

  I have acted more as a background person, trying to help out
with behind the scenes support type projects more than front-line
ones.  I wrote Net::Jabber and XML::Stream, decidely primitive
in the first draft, but they were good enough to allow me to write
several other apps.  To list them in order:

  Speak-Agent - simple app to allow you to filter your message through
                various "translators" (valspeak, chef, pig latin, etc...)
                and eventually using the Alta Vista translation
                programs to do English2French.  This code is
                still around... and still fun to play with.

  RSS-Agent - Headline service to poll various websites and push out
              headlines as they were found.  The polling model
              eventually killed me, and I never wanted to make
              the time to figure it out.
  Jarl - Perl/Tk Client.  My excuse for a client.

  Users-Agent - users.jabber.org for those that did not it was a
                Perl application.  This project is still around
                and available from CVS and JabberStudio.

  Update-Agent - tool to alert a user when a new version of thier
                 client is available.  This was up and running
                 against the JabberCentral database, but due
                 to hosting changes the database went away.  The
                 code is portable and can be used against a database
                 or a flat file.  We are currently working to get
                 a version running on JabberStudo against the
                 Releases database (Coming Soon).

  Meerkat-Transport - tool to poll Meerkat for headlines.  Since
                      Meerkat handled fetching the headlines this
                      works quite well.  Unfortunatly, in order to
                      use it you would need to have forms...

  JEP-0004 - Originally conceived in late 2000, this was done to allow
             for a more flexible data gathering scheme than iq:register
             allowed.  This has since been accepted by the Council
             and is simply pending a vote to move it to Final.

  jadc2s-1.4.2 - I've taken over ownership of the 1.4.2 compatible
                 version of jadc2s.  Helping to ferret out bugs, and
                 generally make it usable.

  Jabber Server Farming How-To - Document to explain how Farming and
                                 Jabber work together, how to get it
                                 setup, and where we want to take the
                                 server.  This is still under

  As you can see, I've been around.  I've done just about everything for this
project.  Clients, Components, Server, and Protocol.  The only missing piece
is public service, which is why I want to be on the Council.


    Overall, I think the Foundation is slowing down, and I'm hoping that
  with fresh members on the Council we can breathe new life into the JSF.
  I want to clean up the backlog of started but stalled JEPs, and flesh out
  ideas that are not in JEPs yet, but should be (Conferencing, etc...).

  Browse/Disco/Feature Negotiation

    This is an interesting topic.  Jer's initial attempt with Browse was a
  little ahead of its time, but grew into its role over time.  Unfortunatly,
  it cannot grow enough and either needs to be scrapped or revamped.  I think
  it needs to be scrapped and something better put into it's place (you may
  have seen my name on the Disco JEP).

    Throw feature negotiation into the mix and it gets even more interesting.
  Should we scrap Feature Negotiation and build it into Disco?  Or use Feature
  Negotiation in addition to Disco?  My view is that since Feature Negotiation
  is just going to vote, it might be better to scrap it and merge it into
  Disco.  Where Discovery is more than just finding out what the side supports,
  but is also finding out how to do things.  I know that Disco needs more work,
  but I think that it stands a better chance of lasting out the long term.


    I've spent a good while reading and re-reading the JEPs and the mailing
  lists.  This is a very important topic that needs to be wrapped up and put
  into action.  I know that current JEPs have stalled and the merged JEP was
  never finsihed.  I want to push to have the merged JEP finished so that we
  can have a point of reference to work from.

    My own vision of Pub/Sub takes what Jabber Inc. was looking for, and
  what JEPs 21 and 24 are describing.  I also want to see if we can build
  the spec into multiple pieces.  Layers so to speak.  The JEP can define
  all of parts needed to satisfy everyone.  But implementations can choose
  which pieces to offer to it's subscribers.


    In order for Jabber to be accepted into the mainstream we need to be
  to offer all of the security measures that people are looking for.
  Message encryption, stream encryption, packet encryption, even 
  server-to-server connections so that you can guarentee that the entire
  converation is secure.

    Authentication is also important.  The more hooks we can have into
  difference schemes the better.  SASL is good, and we have that in jadc2s
  1.5.  We need to push the library authors to include support for it.


    This one is high on my list.  There are a lot of people complaining
  about this missing piece in the open source server.  I am working on a
  Farming How-To to explain what is available, and what the vision for the
  future should be.


    I'm really excited to be taking part in this process.  I held off from
  first round of Council elections to try and help in the background where
  I could.  Thanks for nominations.

    Vote for Ryan!
/me passes out more buttons

More information about the Members mailing list