[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
******
BACKGROUND:
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
attractive.
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
construction.
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.
POSITIONS:
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.
Pub/Sub
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.
Security
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.
Farming
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.
CLOSING:
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