MongoDB depends on third party libraries to implement some functionality. This document describes which libraries are depended upon, and how. It is maintained by and for humans, and so while it is a best effort attempt to describe the server's dependencies, it is subject to change as libraries are added or removed.
This is the list of third party libraries vendored into the server codebase, and the upstream source where updates may be obtained. These sources are periodically consulted, and the existence of new versions is reflected in this list. A ticket is filed in Jira if a determination is made to upgrade a vendored library.
Whenever a vendored library is included in released binary artifacts, is
not authored by MongoDB, and has a license which requires reproduction,
a notice will be included in
THIRD-PARTY-NOTICES.
| Name | License | Vendored Version | Emits persisted data | Distributed in Release Binaries |
|---|---|---|---|---|
| Abseil Common Libraries (C++) | Apache-2.0 | 20250512.1 | ✗ | |
| Asio C++ Library | BSL-1.0 | 1.34.2 | ✗ | |
| AWS SDK for C++ | Apache-2.0 | 1.11.471 | ✗ | |
| benchmark | Apache-2.0 | 1.5.2 | ||
| Boost C++ Libraries | BSL-1.0 | 1.88.0 | ✗ | |
| bzip2 | bzip2-1.0.6 | 1.0.8 | ✗ | |
| c-ares | MIT | 1.27.0 | ✗ | |
| cpptrace | MIT | 1.0.3 | ||
| CRoaring | Apache-2.0 OR MIT | 3.0.1 | ✗ | |
| Cyrus SASL | BSD-Attribution-HPND-disclaimer | 2.1.28 | ||
| fmt | MIT | 11.2.0 | ✗ | |
| folly | Apache-2.0 | 2025.04.21.00 | ✗ | |
| fuzztest | BSD-3-Clause, Apache-2.0, HPND | 2025-07-28 | ||
| googletest | BSD-3-Clause | 1.17.0 | ||
| gperftools | BSD-3-Clause | 2.9.1 | ✗ | |
| gRPC (C++) | Apache-2.0 | 1.74.1 | ✗ | |
| ICU4C - International Components for Unicode C/C++ | Unicode-3.0 | 57.1 | ✗ | ✗ |
| immer | BSL-1.0 | 0.9.1 | ✗ | |
| Intel® Decimal Floating-Point Math Library | BSD-3-Clause | 2.0.1 | ✗ | |
| JSON Schema Store | Apache-2.0 | 6847cfc3a17a04a7664474212db50c627e1e3408 | ||
| json-c | MIT | 0.17 | ✗ | |
| JSON-Schema-Test-Suite | MIT | 728066f9c5c258ba3b1804a22a5b998f2ec77ec0 | ||
| libarchive | A mix of BSD-2-Clause and others | 3.8.4 | ✗ | ✗ |
| libdwarf | LGPL-2.1-or-later, BSD-3-Clause, Public Domain | 2.1.0 | ||
| libkmip | Apache-2.0 OR BSD-3-Clause | 66119416e2c89ab182343900418cecafe02b6e8d | ✗ | |
| LibTomCrypt | Unlicense | 1.18.2 | ✗ | ✗ |
| libunwind | MIT | 1.8.1 | ✗ | |
| linenoise | BSD-2-Clause | 6cdc775807e57b2c3fd64bd207814f8ee1fe35f3 | ✗ | |
| Mozilla Firefox ESR | MPL-2.0 | 140.11.0esr | ✗ | |
| MurmurHash3 | Public Domain | a6bd3ce7be8ad147ea820a7cf6229a975c0c96bb | ✗ | |
| nlohmann/json | MIT | 3.11.3 | ✗ | |
| node | ISC | 22.1.0 | ||
| opentelemetry-cpp | Apache-2.0 | 1.24.0 | ✗ | |
| opentelemetry-proto | Apache-2.0 | 1.3.2 | ✗ | |
| PCRE2 - Perl-Compatible Regular Expressions | BSD-3-Clause WITH PCRE2-exception | 10.40 | ✗ | |
| Prometheus Client Library for Modern C++ | MIT | 1.2.2 | ||
| Protobuf | BSD-3-Clause | 6.31.1 | ✗ | |
| pypi/ocspbuilder | MIT | 0.10.2 | ||
| pypi/ocspresponder | Apache-2.0 | 0.5.0 | ||
| re2 | BSD-3-Clause | 2025-08-05 | ✗ | |
| rnp | BSD-2-Clause, Apache-2.0, MIT | 0.18.1 | ✗ | |
| S2 Geometry Library | Apache-2.0 | a25c502bda9d7e0274b9e2b7825fbddf13cc0306 | ✗ | ✗ |
| s2n-tls TLS library | Apache-2.0 | 1.7.3 | ✗ | |
| SafeInt | MIT | 3.0.28a | ✗ | |
| siphash | CC0-1.0, MIT, Apache 2.0 with LLVM exception | 32d067603b93b47828700880649198e0bfbbcffa | ✗ | |
| snappy | BSD-3-Clause | 1.1.10 | ✗ | ✗ |
| Snowball Stemming Algorithms (libstemmer) | BSD-3-Clause | 1.0.0 | ✗ | ✗ |
| tcmalloc | Apache-2.0 | f3b20f9a07e175c5d897df7b49d9830d4efa6110 | ✗ | |
| timelib | MIT | 2022.13 | ✗ | |
| Unicode Character Database | Unicode-DFS-2016 | 8.0.0 | ✗ | ✗ |
| valgrind.h | BSD-4-Clause | 093bef43d69236287ccc748591c9560a71181b0a | ✗ | |
| yaml-cpp | MIT | 0.6.3 | ✗ | |
| zlib | Zlib | 1.3.2 | ✗ | ✗ |
| Zstandard (zstd) | BSD-3-Clause OR GPL-2.0-only | 1.5.5 | ✗ | ✗ |
The following libraries are transitively included by WiredTiger, and are used by that component for testing. They don't appear in released binary artifacts.
| Name |
|---|
| pkg:pypi/concurrencytest@0.1.2 |
| pkg:pypi/discover@0.4.0 |
| pkg:pypi/extras@0.0.3 |
| pkg:pypi/iso8601@2.1.0 |
| pkg:pypi/python-subunit@1.4.4 |
| pkg:pypi/testscenarios@0.4 |
| pkg:pypi/testtools@2.7.1 |
Percona Server for MongoDB needs to load libraries provided and managed by the runtime environment. These libraries are not vendored into the Percona Server for MongoDB source directory, and are not compiled into release artifacts. Because they are provided by the runtime environment, the precise versions of these libraries cannot be known in advance. Further, these libraries may themselves load other libraries. The full set of transitively linked libraries will depend on the runtime environment, and cannot be outlined here.
Percona Server for MongoDB directly links the following dynamic libraries:
| Name | Typical Linked Library Filename(s) |
|---|---|
| GNU C Library | libc.so.6, libm.so.6, libresolv.so.2, etc. |
| GCC support library | libgcc_s.so.1 |
| libcurl | libcurl.so.4 |
| Cyrus SASL | libsasl2.so.2 |
| Kerberos 5 GSS-API | libgssapi_krb5.so.2 |
| OpenLDAP | liblber.so.2, libldap.so.2 |
| OpenSSL | libcrypto.so.3, libssl.so.3 |
Note. Version numbers in library filenames (e.g. 6 in libc.so.6) are just
examples and can differ from platform to platform.
-
^ The majority of Valgrind is licensed under the GPL, with the exception of a single header file which is licensed under a BSD license. This BSD licensed header is the only file from Valgrind which is vendored and consumed by MongoDB.
-
^ WiredTiger is maintained by MongoDB in a separate repository. As a part of our development process, we periodically ingest the latest snapshot of that repository.