chart: Charts implementation for the Calc application.
Common User Interface: Contains dialogs used by more than one application (e.g. paragraph properties).
embeddedobj: Code for embedding objects into LibreOffice
embedserv: Code to embed LibreOffice objects in other apps via OLE2
Native File Picker: Native file pickers for macOS and Windows (file open dialog).
sfx2: Framework to dispatch actions to the document shells (handles document load and save, invokes import and export filters). SFX is the "old" framework used by Writer/Calc/Draw. "New" applications are based on the "new" UNO based "framework".
SvIDL Compiler: SvIDL Compiler that generates C++ slot headers from SDI files in modules' sdi/ subdirectory.
svtools: Common dialogs, file and print dialogs, wizards, vcl filters, helper code
toolkit: Abstract windowing toolkit. Provides a UNO API to VCL and UNO controls
UNO Framework: Responsible for building toolbars, menus, status bars, and the chrome around the document using widgets from VCL, and XML descriptions from /uiconfig/ files
Canvas rendering: Graphical output layer, for rendering application content. It exposes the UNO rendering::XCanvas interfaces. The canvas framework is the successor of the system GUI and graphics backend VCL.
svtools graphics: drawing model / graphics helper code (on top of vcl), especially used by Draw/Impress. This should move to Canvas.
Component model
Universal Network Objects: The goal of UNO (Universal Network Objects) is to provide an environment for network objects across programming language and platform boundaries. UNO objects run and communicate everywhere.
javamaker: Javamaker generates class files for the Java VM - UNO language binding
pyuno: UNO bindings for the Python programming language
remotebridges: UNO services dealing with interprocess bridges.
Simple IO Wrapper UNO Components: Contains basic UNO Input/Output services for streaming (Pipe, DataStreams, MarkableStreams) and interprocess connections (sockets and pipes).
stoc: Registries, Reflection, Introspection Implementation for UNO
store: Legacy .rdb Format, needed for backwards compatibility
UNO Controls: Separate process and thread for progress bars, etc.
UNO IDL Compiler: This compiler generates binary RDB fragments that can be assembled into a RDB (UNO type library) with the `regmerge` tool.
UNO Registry: The registry holds the system's UNO type information in a database (modules, services, interfaces...). Also : Tools for dealing with the legacy binary types database format, still in use by extensions and the core code. The actual binary file format is implemented by the `store` code.
UNO Remote Protocol (URP): UNO provides a binary protocol called the UNO Remote Protocol (URP) that provides a bridge between UNO environments.
New Linear Programming Solver: This extension integrates into LibreOffice Calc and offers new Solver engines to use for optimizing nonlinear programming models.
connectivity: Base connectivity with database driver implementations
dbaccess: Database access layer: contains code for accessing databases and data sources configuration
sot: Access files from compound storage (ex: OLE Storages)
Universal Content Broker: Allows the application layer components to transparently access content with different structures. UCP implementations provide content for HTTP, FTP, WebDAV, and access to the local file system.
xmlreader: Implements a simple, fast pull XML parser (It supports a subset of XML features, but is fast and small)
xmlscript: Used to (de)serialize basic dialogs to XML for storage inside documents.
xmlsecurity: Provides dialogs, and infrastructure wrapping `libxmlsec` and `gpgme` that implements document signing.
Localization, linguistics
Internationalisation Pool Framework: Ensures that the suite is adaptable to the requirements of different native languages, their local settings and customs, etc. Use with UNO API.
Language Tags: Code for language tags, LanguageTag wrapper for liblangtag and converter between BCP47 language tags, Locale(Language,Country,Variant) and MS-LangIDs.
LibreOfficeKit: Use for accessing LibreOffice functionality through C/C++, without any need to use UNO.
Office Development Kit: description: The SDK provides languages bindings (Basic, Java, Python, C++...) to develop solutions that integrate with LibreOffice. It is provided with a reference API documentation.
scaddins: Extra Functions for LibreOffice Calc (UNO components)
scripting framework: The Scripting Framework allows OpenOffice / LibreOffice users to write and run macros in multiple languages including OpenOffice.org Basic, Python, Java, BeanShell and JavaScript. These macros can then be assigned to menus, toolbars, keyboard shortcuts, events and embedded objects.