Generated by GPT-5-mini| Gajim | |
|---|---|
![]() Wurstsalat3000 · CC BY-SA 4.0 · source | |
| Name | Gajim |
| Developer | Gajim developers |
| Released | 2005 |
| Programming language | Python |
| Operating system | Linux, Windows, macOS |
| License | GNU GPL |
Gajim is a free and open-source instant messaging client for the Extensible Messaging and Presence Protocol. It integrates with multiple desktop environments and provides a graphical user interface that supports accounts, contact management, multi-user chat, file transfer, and encryption. The project emphasizes extensibility, interoperability, and adherence to standards set by several Internet Engineering Task Force and industry groups.
Gajim originated in 2005 as a desktop client developed by independent contributors and later coordinated by an organized team of maintainers and contributors associated with volunteer-driven projects and foundations. Throughout its history it has intersected with events and initiatives such as the rise of XMPP deployments, the publication of RFC 6120, the growth of privacy-focused movements influenced by incidents involving Edward Snowden and organizations like Electronic Frontier Foundation. The client evolved alongside comparable projects including Pidgin (software), Psi (software), Dino (software), Conversations (app), and Empathy (software), while integrating protocol extensions defined by the XMPP Standards Foundation, formerly known as the Jabber Software Foundation. Development milestones paralleled platform shifts exemplified by releases of GNOME 2, KDE SC, Windows XP, and macOS versions, influencing packaging strategies and distribution on repositories maintained by Debian, Fedora, Arch Linux, and Homebrew.
Gajim provides core features expected of contemporary desktop clients, including account management compatible with servers such as Prosody (XMPP server), ejabberd, Openfire, and Tigase. It supports roster handling, presence subscriptions, multi-user chat rooms interoperable with services like Multi-User Chat, contact search with directory integration comparable to LDAP, and file transfer mechanisms using protocols referenced in XEP-0096 and XEP-0234. The client offers a conversation-oriented interface that can be themed for desktop environments like GNOME, KDE, and XFCE and integrates with notification systems including D-Bus and systemd. Features extend to account encryption compatibility with standards used by software such as GnuPG, and it implements message archiving patterns interoperable with XEP-0313 and server-side storage on platforms like Prosody (XMPP server) and ejabberd.
Gajim implements the core XMPP features defined in foundational documents such as RFC 6120 and RFC 6121, and supports numerous XMPP Extension Protocols (XEPs) ratified by the XMPP Standards Foundation. Supported XEPs include presence and roster management, XEP-0045 for Multi-User Chat, XEP-0115 for entity capabilities, XEP-0184 for message receipts, XEP-0065 for SOCKS5 Bytestreams, and XEP-0384 for OMEMO encryption interoperability. The client’s architecture uses networking libraries and language ecosystems common to Python (programming language), and integrates with packaging and distribution systems used by projects such as Debian, Ubuntu, Fedora Project, and Homebrew (software). Interoperability testing has been performed against servers including Prosody (XMPP server), ejabberd, and Openfire.
Gajim supports end-to-end encryption mechanisms standardized within the XMPP community, enabling interoperability with implementations following XEP-0384 (OMEMO) and XEP-0280 (Message Carbons) patterns. Transport Layer Security is provided through integrations with OpenSSL libraries and system TLS stacks used by distributions like Debian and Fedora. The project has responded to security advisories following disclosure practices similar to those advocated by CERT Coordination Center and Open Web Application Security Project community guidance. Privacy features include server-side message archiving options compatible with XEP-0313 and features to control presence and vCard-based metadata in line with recommendations from privacy advocacy groups such as Electronic Frontier Foundation.
A plugin architecture allows functionality to be extended by third-party developers and community contributors, comparable to extension systems in Pidgin (software) and Mozilla Firefox. Common plugins implement features like OMEMO support, GPG-based encryption for legacy interoperability, message filters, logging integrations compatible with systemd-journald or plain-text archives, and integration with contact management tools such as Nextcloud and directory services like OpenLDAP. The plugin ecosystem is hosted and coordinated via platforms and tools favored by open-source communities, including GitLab, GitHub, and package managers used by Debian and PyPI.
Development is driven by a distributed community of contributors using version control, continuous integration, and issue tracking hosted on platforms such as GitLab and historically on SourceForge. The project engages with broader communities including the XMPP Standards Foundation, Linux distribution maintainers from Debian, Fedora Project, and Arch Linux, and interoperates with client projects like Conversations (app), Dino (software), and Psi (software). Contributors follow licensing practices exemplified by the GNU General Public License and coordinate translations and outreach similar to processes used by Gettext localization projects. Community support channels have included mailing lists, chat rooms on XMPP networks, and social coding platforms.
Gajim is packaged for multiple operating systems and distributions, with installation options provided via native package repositories such as Debian, Ubuntu, Fedora Project, and Arch Linux, as well as platform-specific installers for Microsoft Windows and macOS. It is available through language and ecosystem package managers like PyPI and can be built from source using toolchains available on GNU Compiler Collection-based build environments. Desktop integration covers environments including GNOME, KDE, and XFCE, and distributions frequently provide translations and accessibility improvements following guidelines influenced by projects such as GNOME Project and KDE e.V..
Category:Instant messaging clients