[JDEV] Council Position Paper: Peter Millard
Peter Millard
me at pgmillard.com
Thu Jul 25 14:09:44 CDT 2002
You can view this file in HTML format at:
http://www.pgmillard.com/jabber-pos-2002.html
Enjoy & thanx for reading :)
Background
I am a developer who also likes to do stuff in the outdoors ([1]
http://www.pgmillard.com for more personal stuff). I recently got
married, and I'm currently employed by [2]Jabber, Inc., and live in
Denver, Colorado, USA. My interest in jabber started when I was
working for own company ([3]Vantek Corp.) while I was researching XML
as a possible file storage medium for our data files, at the same time
I was getting pissed off at having to run four different IM clients. I
am a developer at heart, and believe that Jabber has the power to
become true internet infrastructure.
What cool Jabber stuff have I done?
I am most well known for my Windows clients ([4]Winjab, and [5]Exodus)
as well as the JabberCOM library. I also had a hand in both of the
commercially available clients from Jabber, Inc (JabberIM and the
Webclient). During the early development of Winjab and JabberCOM, I
helped in the development of the core jabber protocol, and had early
implementations of many of the current extension protocols. For the
past year, I've served on the Jabber Council and helped to iron out
the JEP process as well as the Council process.
I've either authored, or had hand in the following [6]JEPS:
* JEP-008: Avatars (Currently idle, pending pub/sub).
* JEP-016: Server Side Privacy (Adding whitelisting into JEP, then
send to Council)
* JEP-020: Feature Negotiation (Need to remove last security
references, and re-send to Council).
* JEP-030: Service Discovery (Needs more work, under development)
* JEP-032: Jabber URIs (Under development)
* JEP-036: Jabber Pub/Sub (Really just a recap of discussions of
from JabberCONF EU).
Primary Issues?
I think the past year has been an interesting year for the JSF. It's
fun and "exciting" to be involved with an organization during it's
infancy. Much of the this year was spent trying to find the balance
between having enough process around the JSF to maintain control, but
also to not have too much process such that inovation is hindered.
As a standing Council member for the past year, I have some opinions
about what was good and what was bad about the past year. Being first
time council members, we spent a fair amount of our time (early on)
just trying to figure out what we were supposed to be doing. This was
time well spent since we now have a relatively well defined process
for getting things done. Serving as a Council member is an important
"obligation" to the jabber community, and we have to be willing to
take on the time commitment which it requires. I believe going
forward, the council will be more productive since we have a well
defined process for the tasks we are to do (we also know what those
tasks are), and we will have people that are willing to spend the time
necessary for being a council member.
Some important JEP's are currently being discussed on the various
mailing lists, and I think it's important that the council be willing
to take these issues head-on. We need to help drive conensus on these
issues. I believe that some of the difficulty the foundation has had
coming to consensus on the following issues is two-fold:
1. All of these "Primary issues" are semanticly linked together..
Meaning that they all could use the other protocols to enhance the
overall usefulness of one the protocols.
2. It's hard to make generic protocols that will be as future-proof
as possible.
I would place the highest importance on establishing a single pub/sub
standard, then addressing the service discovery issues. However, it is
my feeling that we're going to have to flesh out pub/sub, discovery,
and feature negotiation protocols simultaneously, since they are
inherently linked together. I believe that the council probably needs
to be more proactive in helping the community come to consensus on
these various issues through possibly organized groupchat meetings. I
am not a security expert, but I'd also like to work on seeing some of
the security JEP's standardized and implemented in the clients that
I'm working on.
Pub/Sub
Many different opinions have been offered on the subject of Pub/Sub,
and there is still quite a bit of work to be done. I firmly believe
that having a standardized pub/sub protocol is ESSENTIAL for lots of
other work to be done in the jabber space. We need to strive to find
some common ground amongst the three proposed JEPs, and try to work
together to compromise on a single solution that will satisfy as many
interested parties as possible.
Disco, Browse, Feature Negotiation
The whole concept of service and/or feature discovery and then
following it on with feature negotiation is something jabber has tried
to perfect since the early jabber:iq:agent protocol days. I believe
that browse is a good step forward over the old agents protocol, but
it was more of a stepping stone to something like pure generic service
and feature discovery.
Security
I think the jabber community has done an adequate job so far at
defining and solving security issues. However, what we've accomplished
so far is just the tip of the ice berg. I think that we have a lot
less "controversy" over the various security JEPs, we just have lots
of actual leg work to do and to start implementing some of the
ideas/proposals put forth.
* JEP-031 is an excellent framework JEP. We need to have more people
get their heads wrapped around this framework and start to
critique it. I think that this kind of framework will eventually
allow Jabber to provide IM users a quick and easy way to get
end-to-end encryption without having the overhead of having to
install and deal with PGP/GPG. (Which has a high cost of entry for
"Joe Six Pack IM user").
* JEP-035 is also an excellent idea for having a better integration
with SSL and obviates the need for CCM's (Client Connection
Managers) to have to deal with multiple listening ports.
* JEP-034 is important for integrating Jabber into other
applications as well as allowing us to embrace more "approved"
IETF technologies.
Other Thoughts & Issues
There are some other issues that I am interested in and want to work
to have some of these issues cleared up.. These are in no particular
order, but just indicate that they are on my "radar"
* Jabber.org website, and cohesiveness with JabberStudio.org
* Client guidelines and checklists. Do we have "JSF
Approved/Endorsed" clients?
* Protocol development guidelines, and possible versioning.
* Next generation framing protocol. How do we co-exist with the
existing stream:stream implementations?
* Can we (or will we) ever use namespaces properly?
* Integration with other open-source projects (apache).
References
1. http://www.pgmillard.com/
2. http://www.jabber.com/
3. http://www.vantek-corp.com/
4. http://winjab.sf.net/
5. http://exodus.sf.net/
6. http://www.jabber.org/jeps/
More information about the JDev
mailing list