Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

SGBLE and SGBLExx Rust Dependency Licenses

SGBLE and SGBLExx, components of the SenseGlove SDK, are built using the Rust programming language. These libraries rely on a variety of open-source Rust crates. To ensure commercial developers can use our SDK without licensing concerns, we strictly rely on crates with permissive licenses at runtime.

Some dependencies, like r-efi, are dual-licensed and allow permissive use. The only copyleft tool used is cbindgen, which is solely a build-time dependency. It is employed to automatically generate C FFI bindings for SGBLE, which is implemented in pure Rust. Since cbindgen is not required at runtime and acts more like a transpiler (source-to-source compiler), it does not introduce any licensing risks for commercial applications.

Below is a comprehensive list of all third-party crates and their corresponding licenses used in SGBLE and SGBLExx:

(MIT OR Apache-2.0) AND OFL-1.1 AND Ubuntu-font-1.0 (1): epaint_default_fonts
(MIT OR Apache-2.0) AND Unicode-3.0 (1): unicode-ident
0BSD OR Apache-2.0 OR MIT (1): adler2
Apache-2.0 (15): ab_glyph, ab_glyph_rasterizer, accesskit_winit, codespan-reporting, dpi, gethostname, gl_generator, glutin, glutin_egl_sys, glutin_glx_sys, glutin_wgl_sys, khronos_api, owned_ttf_parser, spirv, winit
Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT (7): linux-raw-sys, linux-raw-sys, rustix, rustix, wasi, wasi, wit-bindgen-rt
Apache-2.0 OR BSD-2-Clause OR MIT (4): zerocopy, zerocopy, zerocopy-derive, zerocopy-derive
Apache-2.0 OR BSD-3-Clause OR MIT (3): btleplug, num_enum, num_enum_derive
Apache-2.0 OR BSL-1.0 (1): ryu
Apache-2.0 OR LGPL-2.1-or-later OR MIT (1): r-efi
Apache-2.0 OR MIT (286): accesskit, accesskit_atspi_common, accesskit_consumer, accesskit_macos, accesskit_unix, accesskit_windows, addr2line, ahash, android-activity, android_log-sys, android_logger, android_system_properties, anstream, anstyle, anstyle-parse, anstyle-query, anstyle-wincon, arboard, arrayvec, as-raw-xcb-connection, ash, async-broadcast, async-channel, async-executor, async-fs, async-io, async-lock, async-process, async-recursion, async-signal, async-task, async-trait, atomic-waker, atspi, atspi-common, atspi-connection, atspi-proxies, autocfg, backtrace, bit-set, bit-vec, bitflags, bitflags, block-buffer, blocking, bluez-async, bluez-generated, bumpalo, cc, cesu8, cfg-if, cgl, clap, clap_builder, clap_lex, colorchoice, concurrent-queue, core-foundation, core-foundation, core-foundation-sys, core-graphics, core-graphics-types, cpufeatures, crc32fast, crossbeam-utils, crypto-common, ctor, ctor-proc-macro, dbus, dbus-tokio, digest, displaydoc, document-features, downcast-rs, dtor, dtor-proc-macro, ecolor, eframe, egui, egui-wgpu, egui-winit, egui_glow, either, emath, enumflags2, enumflags2_derive, env_filter, env_logger, epaint, equivalent, errno, event-listener, event-listener-strategy, fastrand, fdeflate, flate2, foreign-types, foreign-types-macros, foreign-types-shared, form_urlencoded, futures, futures-channel, futures-core, futures-executor, futures-io, futures-lite, futures-macro, futures-sink, futures-task, futures-util, getrandom, getrandom, gimli, gpu-alloc, gpu-alloc-types, gpu-descriptor, gpu-descriptor-types, hashbrown, heck, heck, hermit-abi, hermit-abi, hex, home, humantime, idna, idna_adapter, image, immutable-chunkmap, indexmap, is_terminal_polyfill, itertools, itoa, jni, jni, jni-sys, jobserver, jpeg-decoder, js-sys, khronos-egl, lazy_static, libc, libdbus-sys, litrs, lock_api, log, memmap2, metal, naga, ndk, ndk-context, ndk-sys, ndk-sys, nohash-hasher, num-traits, object, once_cell, ordered-stream, parking, parking_lot, parking_lot_core, paste, percent-encoding, pin-project, pin-project-internal, pin-project-lite, pin-utils, piper, pkg-config, png, polling, ppv-lite86, pretty_env_logger, proc-macro-crate, proc-macro2, profiling, quote, rand, rand, rand_chacha, rand_chacha, rand_core, rand_core, regex, regex-automata, regex-syntax, renderdoc-sys, rustc-demangle, rustc-hash, rustversion, scoped-tls, scopeguard, serde, serde_derive, serde_json, serde_repr, serde_spanned, sha1, shlex, signal-hook-registry, smallvec, smol_str, socket2, stable_deref_trait, static_assertions, syn, tempfile, thiserror, thiserror, thiserror-impl, thiserror-impl, thread_local, toml, toml_datetime, toml_edit, ttf-parser, type-map, typenum, unicode-segmentation, unicode-width, unicode-xid, url, utf16_iter, utf8_iter, utf8parse, uuid, version_check, wasm-bindgen, wasm-bindgen-backend, wasm-bindgen-futures, wasm-bindgen-macro, wasm-bindgen-macro-support, wasm-bindgen-shared, web-sys, web-time, webbrowser, weezl, wgpu, wgpu-core, wgpu-hal, wgpu-types, winapi, winapi-i686-pc-windows-gnu, winapi-x86_64-pc-windows-gnu, windows, windows, windows-core, windows-core, windows-implement, windows-implement, windows-interface, windows-interface, windows-result, windows-result, windows-strings, windows-sys, windows-sys, windows-sys, windows-targets, windows-targets, windows-targets, windows_aarch64_gnullvm, windows_aarch64_gnullvm, windows_aarch64_gnullvm, windows_aarch64_msvc, windows_aarch64_msvc, windows_aarch64_msvc, windows_i686_gnu, windows_i686_gnu, windows_i686_gnu, windows_i686_gnullvm, windows_i686_msvc, windows_i686_msvc, windows_i686_msvc, windows_x86_64_gnu, windows_x86_64_gnu, windows_x86_64_gnu, windows_x86_64_gnullvm, windows_x86_64_gnullvm, windows_x86_64_gnullvm, windows_x86_64_msvc, windows_x86_64_msvc, windows_x86_64_msvc, write16, x11rb, x11rb-protocol
Apache-2.0 OR MIT OR Zlib (12): bytemuck, bytemuck_derive, cursor-icon, glow, miniz_oxide, objc2-app-kit, objc2-core-bluetooth, objc2-core-foundation, objc2-core-graphics, objc2-io-surface, raw-window-handle, xkeysym
BSD-2-Clause (1): arrayref
BSD-3-Clause (3): jni-utils, tiny-skia, tiny-skia-path
BSL-1.0 (2): clipboard-win, error-code
CC0-1.0 (1): hexf-parse
ISC (1): libloading
MIT (91): android-properties, block, block2, block2, bytes, calloop, calloop-wayland-source, cfg_aliases, combine, dashmap, dispatch, dlib, endi, generic-array, glutin-winit, is-terminal, libredox, malloc_buf, memoffset, mio, nix, objc, objc-sys, objc2, objc2, objc2-app-kit, objc2-cloud-kit, objc2-contacts, objc2-core-data, objc2-core-image, objc2-core-location, objc2-encode, objc2-foundation, objc2-foundation, objc2-link-presentation, objc2-metal, objc2-quartz-core, objc2-symbols, objc2-ui-kit, objc2-uniform-type-identifiers, objc2-user-notifications, orbclient, ordered-float, quick-xml, quick-xml, redox_syscall, redox_syscall, sctk-adwaita, serde-xml-rs, simd-adler32, slab, smithay-client-toolkit, smithay-clipboard, strict-num, strsim, strum, strum_macros, synstructure, tiff, tokio, tokio-macros, tokio-stream, tokio-util, tracing, tracing-attributes, tracing-core, uds_windows, wayland-backend, wayland-client, wayland-csd-frame, wayland-cursor, wayland-protocols, wayland-protocols-plasma, wayland-protocols-wlr, wayland-scanner, wayland-sys, winnow, x11-dl, xcursor, xdg-home, xkbcommon-dl, xml-rs, zbus, zbus-lockstep, zbus-lockstep-macros, zbus_macros, zbus_names, zbus_xml, zvariant, zvariant_derive, zvariant_utils
MIT OR Unlicense (7): aho-corasick, byteorder-lite, memchr, same-file, termcolor, walkdir, winapi-util
MPL-2.0 (1): cbindgen
N/A (2): sgble, sgblueman
Unicode-3.0 (19): icu_collections, icu_locid, icu_locid_transform, icu_locid_transform_data, icu_normalizer, icu_normalizer_data, icu_properties, icu_properties_data, icu_provider, icu_provider_macros, litemap, tinystr, writeable, yoke, yoke-derive, zerofrom, zerofrom-derive, zerovec, zerovec-derive
Zlib (2): foldhash, slotmap

For detailed terms of use, please refer to the license files in each project's upstream repository.