GLib provides the core application building blocks for libraries and applications written in C. It provides the core object system used in
GNOME, the main loop implementation, and a large set of utility functions for strings and common data structures.

GtkSourceView is a portable C library that extends the standard GTK+ framework for multiline text editing with support for configurable syntax
highlighting, unlimited undo/redo, search and replace, a completion framework, printing and other features typical of a source code editor.
(upstream)

The libdazzle library is a companion library to GObject and Gtk+. It provides various features that we wish were in the underlying library but
cannot for various reasons. In most cases, they are wildly out of scope for those libraries. In other cases, our design isn't quite generic
enough to work for everyone.

WebKitGTK+ is the GNOME platform port of the WebKit rendering engine. Offering WebKit’s full functionality through a set of GObject-based
APIs, it is suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers, like
Epiphany and Midori.

Under the Hood

ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications. Using the ATK interfaces,
accessibility tools have full access to view and control running applications.

AT-SPI2 is a D-Bus based accessibility framework. It defines a D-Bus protocol for providing and accessing application accessibility
information. The project includes a library for bridging the D-Bus protocol to the ATK API, allowing Gtk based applications to be made
accessible.

COGL is a low level OpenGL abstraction library developed for (and part of) Clutter. It is used primarily by Clutter to provide a common
rendering API that works transparently across OpenGL >=1.4, OpenGL ES 1.1 and OpenGL ES 2.0.

libsecret is a library for storing and retrieving passwords and other secrets. It communicates with the "Secret Service" using DBus.
gnome-keyring and ksecretservice are both implementations of a Secret Service.

The tracker-indexer is responsible for indexing all content it is given. The indexer is completely modular, this means that there are modules
or 'backends' which are used for indexing specific content types.

Web Services & HTTP

A centralized service that allows a set of online accounts to be configured for use with core GNOME applications. In UX terms, GOA provides a
static list of online accounts that can be setup by users (through the Online Accounts panel in System Settings). These accounts can then be
used by core GNOME applications.

Telepathy is a D-Bus framework for unifying real time communication, including instant messaging, voice calls and video calls. It abstracts
differences between protocols to provide a unified interface for applications.

Twitter-GLib is a GObject-based C wrapper library around the (almost-) RESTful web API provided by Twitter. Twitter-GLib provides an
object-oriented API around the webservice methods and data structures, and allows writing clients for Twitter and all the web services offering
a Twitter-compatible API, like Identi.ca.

Avahi is a system which facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite. This enables you to plug your
laptop or computer into a network and instantly be able to view other people who you can chat with, find printers to print to or find files
being shared. Compatible technology is found in Apple MacOS X (branded Bonjour and sometimes Zeroconf).

Jsonrpc-GLib is a library to communicate with JSON-RPC based peers in either a synchronous or asynchronous fashion. It also allows
communicating using the GVariant serialization format instead of JSON when both peers support it. You might want that when communicating on a
single host to avoid parser overhead and memory-allocator fragmentation

libnotify is a library that sends desktop notifications to a notification daemon, as defined in the Desktop Notifications spec. These
notifications can be used to inform the user about an event or display some form of information without getting in the user's way.

Ubuntu

A small little library that was created by pulling out some comon code out of indicator-applet. It passes a menu structure across DBus so that
a program can create a menu simply without worrying about how it is displayed on the other side of the bus.

A small little library that was created by pulling out some comon code out of indicator-applet. It passes a menu structure across DBus so that
a program can create a menu simply without worrying about how it is displayed on the other side of the bus.

Zeitgeist is a service which logs the users's activities and events (files opened, websites visites, conversations held with other people,
etc.) and makes relevant information available to other applications. It is able to establish relationships between items based on similarity
and usage patterns.

A library providing high-level API for X Keyboard Extension known as XKB. This library is indended to support XFree86 and other commercial X
servers. It is useful for creating XKB-related software (layout indicators etc).

Other

Bump is a library designed to make asynchronous programming easy by providing high-level data structures for concurrency management, including
multi-threading and main loop callbacks, in GObject/GIO based projects, especially those written in Vala.

LibESMTP is a library to manage posting (or submission of) electronic mail using SMTP to a preconfigured Mail Transport Agent (MTA) such as
Exim. It may be used as part of a Mail User Agent (MUA) or another program that must be able to post electronic mail but where mail
functionality is not the program's primary purpose.

CTPL is a template library written in C. It allows fast and easy parsing of templates from many sources (including in-memory data and local and
remote streaming, thanks to GIO) and fine control over template parsing environment.

A free, open source, multi-platform library for OpenGL application development that provides a powerful API for handling operating system
specific tasks such as opening an OpenGL window, reading keyboard, mouse, joystick and time input, creating threads, and more.

A library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing,
signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine.

A Fast Fourier Transform based up on the principle, "Keep It Simple, Stupid." Kiss FFT is a very small, reasonably efficient, mixed radix FFT
library that can use either fixed or floating point data types.

The C library provides fast access to documents in Couchbase Server 2.0. With JSON documents and Couchbase server 2.0 you have new ways to
index and query data stored in the cluster through views. This client library, libcouchbase, also simplifies requests to Views through its
handling of HTTP transport.

Abstract asynchronous event notification library. The libevent API provides a mechanism to execute a callback function when a specific event
occurs on a file descriptor or after a timeout has been reached. libevent is meant to replace the asynchronous event loop found in event driven
network servers.

Libmemcached is a C and C++ client library to the memcached server. It has been designed to be light on memory usage, thread safe, and provide
full access to server side methods. The libmemcachedutil library contains utility functions used by libmemcached.

Qpid Proton is a high-performance, lightweight messaging library. It can be used in the widest range of messaging applications, including
brokers, client libraries, routers, bridges, proxies, and more. Proton makes it trivial to integrate with the AMQP 1.0 ecosystem from any
platform, environment, or language.

libserialport is a minimal library written in C that is intended to take care of the OS-specific details when writing software that uses serial
ports. By writing your serial code to use libserialport, you enable it to work transparently on any platform supported by the library.

Snowball stemming algorithms for use in Information Retrieval Snowball provides access to efficient algorithms for calculating a "stemmed" form
of a word. This is a form with most of the common morphological endings removed; hopefully representing a common linguistic base form. This is
most useful in building search engines and information retrieval software; for example, a search with stemming enabled should be able to find a
document containing "cycling" given the query "cycles".

Oniguruma is a regular expressions library. The characteristics of this library is that different character encoding for every regular
expression object can be specified. (supported APIs: GNU regex, POSIX and Oniguruma native)

PortAudio is a portable audio I/O library designed for cross-platform support of audio. It uses a callback mechanism to request audio
processing. Audio can be generated in various formats, including 32 bit floating point, and will be converted to the native format internally.

The library purpose is to provide common functions for password quality checking and also scoring them based on their apparent randomness. The
library also provides a function for generating random passwords with good pronounceability. The library supports reading and parsing of a
configuration file.

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and
graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning
catalog and many Humble Bundle games.

Fast compression and decompression library. It does not aim for maximum compression, or compatibility with any other compression library;
instead, it aims for very high speeds and reasonable compression.