{"adoption": {"forks": 1401, "observed_at": "2026-08-28T04:07:41.112991+00:00", "stars": 3059}, "canonical_url": "https://ross.abutalabs.com/products/openfire", "card": {"archived": false, "artifact_type": "service", "description": "An XMPP server licensed under the Open Source Apache License.", "domain": ["messaging-platforms", "self-hosted", "developer-tools"], "enriched": true, "function": ["http-server", "websocket", "auth", "authorization", "plugin-system", "middleware"], "health_score": 100, "homepage": "https://igniterealtime.org/projects/openfire/", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["igniterealtime/Openfire"], "name": "igniterealtime/Openfire", "platform": ["cross-platform", "jvm", "windows", "self-hosted"], "pushed_at": "2026-08-25T20:19:29+00:00", "repo": "igniterealtime/Openfire", "stars": 3059, "tags": ["xmpp", "jabber", "instant-messaging", "chat-server", "real-time-communication", "muc", "pubsub", "ldap-integration", "java", "real-time", "linux", "macos", "docker"], "topics": ["openfire", "xmpp", "xmpp-server", "java", "collaboration", "jabber", "hacktoberfest"], "urls": [], "use_cases": ["self-host an XMPP chat server for my organization", "run a private instant messaging server", "set up group chat rooms with MUC support", "integrate chat authentication with LDAP or a custom database", "build a federated messaging server using an open protocol", "host a real-time collaboration backend for a chat app"], "what_it_is": "Openfire is an open-source (Apache-2.0) real-time collaboration server implementing the XMPP (Jabber) protocol, written in Java. It provides instant messaging, group chat (MUC), pubsub, file transfer, and an extensible plugin architecture with an admin web console.", "when_to_avoid": ["you need modern chat features like video calls or end-to-end encryption by default", "you prefer lightweight or container-native microservice chat solutions", "your users need non-XMPP protocols like Matrix or Slack-compatible APIs", "you want a hosted managed service rather than running your own server"], "when_to_choose": ["you need a mature, battle-tested XMPP server with easy web-based administration", "you want self-hosted federated instant messaging with LDAP/custom database integration", "you need clustering, load balancing, and TLS support out of the box", "you want to extend server behavior via a plugin system"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openfire", "repo": "igniterealtime/Openfire", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.112991+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:28:27.013669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1013687f6ae5a24c2fb0f30d82de4bc811f3f8b6866ca9b6f6751b3cd689f3c3", "fetched_at": "2026-08-28T04:07:41.112991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igniterealtime/Openfire"}, {"content_hash": "c42eb675c7c614a8cecf28d7edcf751c729593d774998ab4abf78d20324a825d", "fetched_at": "2026-08-29T09:43:47.362941+00:00", "kind": "homepage", "missing": false, "url": "https://igniterealtime.org/projects/openfire/"}, {"content_hash": "a676c28a723797071b20dcc0f9359249037393a010d79d509ce6016a9d02204d", "fetched_at": "2026-08-29T09:43:47.372780+00:00", "kind": "site_page", "missing": false, "url": "https://igniterealtime.org/projects/openfire/documentation.jsp"}, {"content_hash": "f3784594c0d4469b702421b49143a46f5f4a35413afa8fb41e015803eafc8d42", "fetched_at": "2026-08-29T09:43:47.374718+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/documentation/javadoc"}, {"content_hash": "ef62960bc9d06adc759bca7c5fa1be45c0bc0b3f51e284afb4bc2282f8577670", "fetched_at": "2026-08-29T09:43:47.376739+00:00", "kind": "site_page", "missing": false, "url": "https://download.igniterealtime.org/openfire/docs/latest/changelog.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4531, "days_push": 8, "days_rel": 16, "gap_med": 44, "n_releases_24m": 14}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}