# igniterealtime/Smack

A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs

Repository: https://github.com/igniterealtime/Smack
Canonical: https://ross.abutalabs.com/products/smack
Homepage: https://igniterealtime.org/projects/smack/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: xmpp, xmpp-client-library, java, android, android-library, java-library, jabber
Last push: 2026-08-23T10:28:08+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 35, longevity 100
- inputs: {"age_days": 4594, "days_push": 10, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2413, forks 881 (observed 2026-08-28T04:06:44.539635+00:00)

## What it is
Smack is an open-source, modular XMPP client library written in pure Java for Java SE JVMs and Android. It lets applications embed XMPP functionality ranging from full instant messaging clients to simple notification and presence integrations, including M2M and IoT data exchange.

## Use cases
- build an XMPP instant messaging client in Java
- send chat messages from an Android app
- add real-time notifications to a Java application
- implement publish-subscribe messaging between devices
- enable machine-to-machine (M2M) communication over XMPP
- connect IoT devices to an XMPP server
- manage presence and rosters in a chat application

## When to choose
- you need XMPP support in a Java SE or Android application
- you want a mature, modular library with higher-level Manager APIs instead of raw protocol handling
- you need instant messaging, group chat, pub-sub, or presence features
- you want an Apache-2.0 licensed library suitable for commercial use

## When to avoid
- your project is not on a JVM (e.g., you need native iOS, Swift, or JavaScript)
- you use a different messaging protocol such as MQTT or Matrix
- you need a ready-made chat application rather than a library to build one

## Facets
- artifact type: library
- maturity: stable
- function: sdk, websocket, middleware
- domain: messaging-platforms, developer-tools, mobile-development, iot
- platform: jvm, cross-platform
- tags: xmpp, jabber, instant-messaging, chat, publish-subscribe, m2m, real-time-communication, android

## Member repositories
- igniterealtime/Smack (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:44.539635+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:33:14.477379+00:00, confidence not recorded.
  - readme: https://github.com/igniterealtime/Smack (fetched 2026-08-28T04:06:44.539635+00:00, sha 3f41c4c00b00)
  - homepage: https://igniterealtime.org/projects/smack/ (fetched 2026-08-29T10:13:55.493388+00:00, sha f9756e4a291e)
  - site_page: https://download.igniterealtime.org/smack/docs/latest/javadoc (fetched 2026-08-29T10:13:55.502889+00:00, sha 1d06071c5825)
- Data as of 2026-08-30T08:39:29.467469+00:00.
