The Farstream (formerly Farsight) project is an effort to create a framework
to deal with all known audio/video conferencing protocols. On one side it
offers a generic API that makes it possible to write plugins for different
streaming protocols, on the other side it offers an API for clients to use
those plugins.
Finch is a multi-protocol instant messaging client. It is compatible with AIM
(Oscar and TOC protocols), ICQ, MSN Messenger, Yahoo, IRC, Jabber, Gadu-Gadu,
and Zephyr networks.
Finch users can log in to multiple accounts on multiple IM networks
simultaneously. This means that you can be chatting with friends on AOL
Instant Messenger, talking to a friend on Yahoo Messenger, and sitting in an
IRC channel all at the same time.
Finch supports many features of the various networks, such as file transfer
(coming soon), away messages, typing notification, and MSN window closing
notification. It also goes beyond that and provides many unique features. A
few popular features are Buddy Pounces, which give the ability to notify you,
send a message, play a sound, or run a program when a specific buddy goes away,
signs online, or returns from idle; and plugins, consisting of text
replacement, a buddy ticker, extended message notification, iconify on away,
and more.
(Adapted from the About Finch page.)
Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library
Unlike package network-protocol-xmpp, which uses libxml-sax, this library
uses HaXml and supports MUC. However, MUC support of the moment is worse
than that in package XMPP.
This library make extensive use of STM and threads to simplify writing
message-handling code.
jabberd14 is the original server implementation of the Jabber protocol,
now known as XMPP. It is open source, and it is free. This implementation
has been formerly known as just jabberd as well.
Please note: net-im/jabberd (also known as jabberd 2.x) is not a newer
version of jabberd14 but a completely different project.
Prosody is a flexible communications server for Jabber/XMPP written in Lua. It
aims to be easy to use, and light on resources. For developers it aims to be
easy to extend and give a flexible system on which to rapidly develop added
functionality, or prototype new protocols.
The Telepathy project aims to provide a unified framework for all forms
of real time conversations, including instant messaging, IRC, voice
calls and video calls. It uses the DBus messaging system to provide a
simple interface for client applications, allowing them to quickly
benefit from Telepathy's functionality.
DJabberd is a high-performance, scalable, extensible Jabber/XMPP server
framework. While it comes with an example server, it's really a set of
classes for you to build your own Jabber server without understanding
Jabber. Instead of working with XML and protocol-specific details, you
subclass parts and work with sane objects and data structures and let
DJabberd do all the ugly work.
Protocol::XMPP provides an API for the Extensible Message Passing Protocol.
This is commonly used for integration with Jabber servers and Google Talk,
although XMPP itself supports a number of extended features for a distributed
multi-server, multi-client message exchange system.
Pidgin is a multi-protocol instant messaging client. It is compatible with AIM
(Oscar and TOC protocols), ICQ, MSN Messenger, Yahoo, IRC, Jabber, Gadu-Gadu,
and Zephyr networks.
Pidgin users can log in to multiple accounts on multiple IM networks
simultaneously. This means that you can be chatting with friends on AOL
Instant Messenger, talking to a friend on Yahoo Messenger, and sitting in an
IRC channel all at the same time.
Pidgin supports many features of the various networks, such as file transfer
(coming soon), away messages, typing notification, and MSN window closing
notification. It also goes beyond that and provides many unique features. A
few popular features are Buddy Pounces, which give the ability to notify you,
send a message, play a sound, or run a program when a specific buddy goes away,
signs online, or returns from idle; and plugins, consisting of text
replacement, a buddy ticker, extended message notification, iconify on away,
and more.
(Adapted from the About Pidgin page.)
jabber.py is a Python module for the jabber instant messaging protocol.
jabber.py deals with the xml parsing and socket code, leaving the programmer
to concentrate on developing quality jabber based applications with Python.
The eventual aim is to produce a fully featured easy to use library for
creating both jabber clients and servers.