Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2002:
[Freeciv-Dev] Re: Chat Functionality with Jabber
Home

[Freeciv-Dev] Re: Chat Functionality with Jabber

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Adam Theo <theo@xxxxxxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Chat Functionality with Jabber
From: Adam Theo <theo@xxxxxxxxxxxxx>
Date: Thu, 06 Jun 2002 14:04:29 -0400

Hi, all. I'm back to promote Jabber to the FreeCiv project as its chat protocol.

A quick run-down of Jabber [http://www.jabber.org] first. Jabber is a very powerful yet simple open and free (both as in freedom and beer) XML protocol for instant communications. It is the most popular open and free Instant Messaging platform, and it is now being applied as a data routing transport for the DotGNU platform [http://www.dotgnu.org].

I am sure that Jabber can benefit FreeCiv.
* From what I can tell, security is Jabber's greatest benefit over the current protocol. Jabber supports many types of authenticatoin and encryption, including plaintext passwords, PGP/GPG, SSL, 0-k authentication, and soon SASL. * Jabber is 100% platform independant, since it is just an XML protocol, and a lightweight one at that. Jabber clients can run on very old hardware and even PDAs and cellphones. It is also bandwidth light, with many Jabber conversations running on a 28k modem. * This is possible because the Jabber protocol is very modular. Unwanted features or capabilities do not clutter up messages, only those features wanted at the time are in the protocol. * Jabber can bring more people to FreeCiv and make it easier for them to play. It would be feasible to start and co-ordinate FreeCiv sessions from Jabber chats and chatrooms by creating a Jabber server component or chat bot that managed FreeCiv sessions on that server.

I have created a streamlined introduction to Jabber, carefully explaining its overall architecture and purpose, as well as what it does and doesn't do. It is called the Jabber Manifesto [http://www.theoretic.com/?Jabber_Manifesto]. Please read through it since it contains much more information than I've included here.

And there are a couple of issues which have already been addressed.
* Since Jabber is a protocol, it cannot be copyrighted, and therefore is naturally open and free (both types). There are many, many tools and codebases out there in a wide variety of programming languages that are in the GPL. In fact I'd say about half of all implimentation code is GPL compatible. * The administrator of the Jabber server has complete control over how Jabber works for their users. It works just as well on a local Intranet as it does the greater Internet. Jabber can be kept to a game context, forbidding outside messages from getting into the system.

If Jabber was accepted as FreeCiv's chat protocol, I would gladly do all of the developer and user documentation for the chat system, as well as make sure it was always kept up to date.

Thank you for your time, feel free to tell me what you think. I will gladly answer, even if it means accepting Jabber is not the perfect fit for FreeCiv.

Adam Theo wrote:
I forgot to mention, I've been doing this whole "Take Jabber to other
Projects" thing for a while, mainly with another official GNU Project,
DotGNU [http://www.dotgnu.org], which is aiming to build a complete
distributed computing and web services platform for the GNU Project. As
of a couple of weeks ago, they accepted Jabber as a major transport
protocol for middleware and data routing, equal to traditional HTTP. I
plan on doing this sort of thing for many other projects, one by one :-)

Adam Theo wrote:
 > Hi all.
 >
 > As soon as I realize I'm playing alot of FreeCiv, and then sign up to
 > the developers list to see what I can do to help out in my spare time,
 > my spare time disappears... I swear, there's some natural law that could
 > be explained in a mathematical equation about this.
 >
 > Anyways, I figure I can at least try to bring in one of my other hobbies
 > to this project. Could anyone tell me about the chat functionality
 > between players in FreeCiv? I assume it is a plaintext-based protocol
 > that was home-grown to serve this need? I was told there are no docs on
 > it, but was hoping an expert on the matter could tell me about it.
 >
 > The reason being my other hobby is Jabber [www.jabber.org], an open and
 > free (as in freedom) XML protocol for instant communications. It began
 > as an open Instant Messaging platform that could easily be converted to
 > other protocols (such as AIM, ICQ, HTTP, SMTP, etc...), but is now being
 > used in many places as a middleware protocol to exchange data between
 > different legacy systems (precisely because it's easy to convert to
 > legacy protocols).
 >
 > I believe Jabber would be an excellent solution for FreeCiv's chat
 > functionality *at least*. It is simple and easy to impliment, there are
 > many tools in many languages and under many licenses already out there,
 > and the developer community is large and eager to help. I would also
 > like to see Jabber used in other areas of FreeCiv, such as possibly
 > adding a "presence" mechanism (like Instant Messaging presence) and a
 > user/server directory for search & discovery features. I would be more
 > than happy to explain in detail what Jabber can do and how it could be
 > used, as well as do all of the documentation for FreeCiv's new
 > Jabber-based chat system (I'm an odd Open Source/Free Software guy, I
 > love doing documentation :-). Just let me know what your concerns and
 > questions are, and I'll answer them.



--
    /\  Adam Theo, Age 22, Tallahassee FL USA
   //\\   Email & Jabber: theo@xxxxxxxxxxxxx
  //  \\  (Boycotting AOL, therefore no AIM or ICQ)
=//====\\=  Theoretic Solutions: http://www.theoretic.com
//  ||  \\     "Bringing Ideas Together"
    ||      Jabber Protocol: http://www.jabber.org
    ||         "The Coolest IM on the Planet"
    ||  "A Free-Market Socialist Patriotic American
    ||      Buddhist Political Philosopher."



[Prev in Thread] Current Thread [Next in Thread]