Skip to content

Latest commit

 

History

History
72 lines (43 loc) · 3.66 KB

List-of-OSS-Components.md

File metadata and controls

72 lines (43 loc) · 3.66 KB

Open Source components

These are the Open Source components used by Microsoft 1DS / C++ Client Telemetry SDK.

ZLIB DATA COMPRESSION LIBRARY.

SDK maintains its own snapshot of the mainline ZLib with some Intel architecture performance optimizations here. It is the responsibility of product teams to ensure that a snapshot of zlib they use meets their product security and licensing requirements.

SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.

SDK maintains its own snapshot of the mainline SQLite, which is used for Windows builds here. Other platforms use platform-provided SQLite. It is the responsibility of product teams to ensure that a snapshot of zlib they use meets their product security and licensing requirements.

The SDK provides an option to use a secure version of the traditional memset function, which includes safety checks to prevent buffer overflows.

JSON for Modern C++.

SDK maintains its own snapshot of the mainline nlohmann/json header-only library here.

libcurl - the multiprotocol file transfer library.

SDK uses libcurl provided as part of OS package on Linux, Mac, iOS; and as part of OS build tree on Android.

Google's C++ test framework. Used only for tests and not included in products.

Google's C++ benchmarking framework. Used only for tests and not included in products.

Reachability is a drop-in replacement for Apple's Reachability class. It is ARC-compatible, and it uses the new GCD methods to notify of network interface changes. SDK maintains its own snapshot of the mainline tonymillion/Reachability here. This code is not used nor included in the build of non-Apple OS. Please note if customer product is adding dependency to this component, they should ensure it meets their product security and licensing requirements.

SHA-1 by Steve Reid

Classic implementation of SHA-1 (Public Domain). SDK maintains its own snapshot of it here. Note that this component is not included or compiled into any of the shipable bits of SDK. It is included for internal developer debug builds only. For example, SHA-1 may be used to calculate destination ETW Provider GUID based on ETW Provider name on Windows OS in developer trace tooling / instrumentation. Please note if customer product is adding dependency to this component, they should ensure it meets their product security and licensing requirements.

Other components and systems

Other Open Source components that may be indirectly included by Open Source build tooling, instrumentation and other SDKs (e.g. Apple SDK or Android SDK) used for a corresponding platform:

  • CMake
  • Gradle
  • Android NDK
  • OpenSSL

SDK does not compile these components from source. It uses the mainstream prebuilt packages as provided by corresponding development platform SDKs.

Please refer to original development platform SDKs for the original source code packages:

Please reach out to 1ds.sdk.cpp DL if you identified OSS component used by SDK that has not been listed. It will be added to this list.