Back to Mongo

MongoDB Third Party Dependencies

README.third_party.md

3.6.17-windows-splunk-v316.6 KB
Original Source

MongoDB Third Party Dependencies

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.

Server Vendored Libraries

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.

NameLicenseVendored VersionEmits persisted dataDistributed in Release Binaries
Abseil Common Libraries (C++)Apache-2.020250512.1
Asio C++ LibraryBSL-1.01.34.2
benchmarkApache-2.01.5.2
Boost C++ LibrariesBSL-1.01.88.0
c-aresMIT1.27.0
cpptraceMIT1.0.3
CRoaringApache-2.0 OR MIT3.0.1
Cyrus SASLBSD-Attribution-HPND-disclaimer2.1.28
fmtMIT11.2.0
follyApache-2.02023.12.25.00
fuzztestBSD-3-Clause, Apache-2.0, HPND2025-07-28
googletestBSD-3-Clause1.17.0
gperftoolsBSD-3-Clause2.9.1
gRPC (C++)Apache-2.01.74.1
ICU4C - International Components for Unicode C/C++Unicode-3.057.1
immerBSL-1.00.9.1
Intel® Decimal Floating-Point Math LibraryBSD-3-Clause2.0.1
JSON Schema StoreApache-2.06847cfc3a17a04a7664474212db50c627e1e3408
JSON-Schema-Test-SuiteMIT728066f9c5c258ba3b1804a22a5b998f2ec77ec0
libdwarfLGPL-2.1-or-later, BSD-3-Clause, Public Domain2.1.0
libmongocryptApache-2.01.15.0
LibTomCryptUnlicense1.18.2
libunwindMIT1.8.1
linenoiseBSD-2-Clause6cdc775807e57b2c3fd64bd207814f8ee1fe35f3
MongoDB C DriverApache-2.01.28.1
Mozilla Firefox ESRMPL-2.0140.7.0esr
MurmurHash3Public Domaina6bd3ce7be8ad147ea820a7cf6229a975c0c96bb
nlohmann/jsonMIT3.11.3
nodeISC22.1.0
opentelemetry-cppApache-2.01.24.0
opentelemetry-protoApache-2.01.3.2
PCRE2 - Perl-Compatible Regular ExpressionsBSD-3-Clause WITH PCRE2-exception10.40
Prometheus Client Library for Modern C++MIT1.2.2
ProtobufBSD-3-Clause6.31.1
pypi/ocspbuilderMIT0.10.2
pypi/ocspresponderApache-2.00.5.0
re2BSD-3-Clause2025-08-05
S2 Geometry LibraryApache-2.0a25c502bda9d7e0274b9e2b7825fbddf13cc0306
SafeIntMIT3.0.28a
siphashCC0-1.0, MIT, Apache 2.0 with LLVM exceptioneee7d0d84dc7731df2359b243aa5e75d85f6eaef
snappyBSD-3-Clause1.1.10
Snowball Stemming Algorithms (libstemmer)BSD-3-Clause1.0.0
tcmallocApache-2.0f3b20f9a07e175c5d897df7b49d9830d4efa6110
timelibMIT2022.13
Unicode Character DatabaseUnicode-DFS-20168.0.0
valgrind.hBSD-4-Clause093bef43d69236287ccc748591c9560a71181b0a
WiredTigerGPL-2.0-only OR GPL-3.0-only12.0.0
yaml-cppMIT0.6.3
zlibZlib1.3
Zstandard (zstd)BSD-3-Clause OR GPL-2.0-only1.5.5

Dynamically Linked Libraries

Sometimes MongoDB needs to load libraries provided and managed by the runtime environment. These libraries are not vendored into the 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. On Windows and Mac OS, other libraries and components provided by the Operating System may be loaded.

For Windows Enterprise, we may ship precompiled DLLs containing some of these libraries. Releases prepared in this fashion will include a copy of these libraries' license in a file named THIRD-PARTY-NOTICES.windows.

NameEnterprise OnlyHas Windows DLLs
Cyrus SASLYesYes
libldapYesNo
net-snmpYesYes
OpenSSLNoYes<sup>[<a href="#note_ssl" id="ref_ssl">3</a>]</sup>
libcurlNoNo

Notes:

  1. <a id="note_vg" href="#ref_vg">^</a> 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.

  2. <a id="note_wt" href="#ref_wt">^</a> 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.

  3. <a id="note_ssl" href="#ref_ssl">^</a> OpenSSL is only shipped as a dependency of the MongoDB tools written in Go. The MongoDB shell and server binaries use Windows' cryptography APIs.