Generated by GPT-5-mini| KDE Frameworks | |
|---|---|
| Name | KDE Frameworks |
| Developer | KDE Community |
| Programming language | C++, Qt |
| Operating system | Linux, FreeBSD, macOS, Microsoft Windows |
| License | GNU LGPL, BSD, MIT, X11 |
KDE Frameworks is a collection of modular libraries designed to provide common functionality for software developed with Qt and other Qt Project-based projects. It serves as a foundation for the KDE Plasma desktop and a wide range of applications from Krita and KDevelop to third-party GNOME and cross-platform projects. The project is maintained by the KDE e.V. community and coordinated alongside efforts such as KDE Plasma, KDE Applications, and upstream Qt Company releases.
KDE Frameworks aggregates over 70 add-on libraries that extend Qt with features for Wayland, X.Org, multimedia, file handling, configuration, and platform integration. Major consumers include KDE Plasma, Dolphin, Konsole, and creative tools like Krita and Digikam. Development is overseen by contributors affiliated with organizations such as Blue Systems, SUSE, Red Hat, and independent developers from diverse projects including FreeBSD Foundation and academic institutions. The bundle aims to enable reuse across environments like KDE Neon, Ubuntu, Fedora, openSUSE, and Arch Linux.
The modular architecture splits functionality into libraries such as KCoreAddons, KIO, KConfig, KWindowSystem, KWallet, and Solid, each addressing system integration, storage, networking, input, and hardware abstraction. Components interact with Qt Quick, QML, and Qt Widgets to provide UI primitives used by KDevelop and Kate. KIO implements network-transparent file access supporting protocols like HTTP, FTP, SFTP, and SMB. KConfig handles portable configuration formats and integrates with XDG Base Directory Specification-compliant setups, while Solid abstracts hardware via backends including udev on Linux and IOKit on macOS. The frameworks employ CI pipelines using GitLab, unit testing with Google Test, and static analysis tools such as Clang-Tidy and Valgrind.
Development follows a time-based release schedule coordinated with Qt Project and KDE release cycles, producing monthly or biweekly binary builds for distributions and LTS snapshots for downstream packaging like Debian and Ubuntu LTS. Sources are hosted on KDE Invent and mirrored via GitLab instances; contributions undergo review on Phabricator or GitLab Merge Requests with maintainers from teams such as the KDE QA and KDE Release Team. Continuous integration targets include builders for FreeBSD, NetBSD, Windows, and macOS platforms. The project aligns API/ABI stability practices with downstream packagers including Open Build Service maintainers at openSUSE and maintainers at Fedora Project.
Applications integrate Frameworks libraries to access capabilities like thumbnailing, input handling, network access, and platform services, enabling programs like Amarok, Okular, and Gwenview to share code. Third-party software outside KDE, including VLC-adjacent plugins and cross-desktop utilities, leverage Frameworks modules for Wayland support and file access. Language bindings exist for Python through PyKDE, and developers combine Frameworks with CMake toolchains, KDE Frameworks Installer, and packaging metadata for integration into Flatpak and Snapcraft bundles suitable for GNOME Software and Discover.
Frameworks modules use permissive FOSS licenses including LGPL, BSD, MIT, and X11 to maximize reuse by projects from GNU Project-based applications to proprietary vendors. Licensing choices facilitate linking from Qt-based commercial software and compatibility with distribution policies at Debian Project and Red Hat Enterprise Linux. Modules with dual-licensing or specific exceptions document compatibility with standards maintained by organizations like Free Software Foundation and Open Source Initiative.
The collection evolved from early KDE platform libraries consolidated during transitions between major KDE releases and the migration from the original KDE 3 libraries to KDE Platform 4 and later to a modularized Frameworks 5. Notable milestones include the porting efforts during the Qt 4 to Qt 5 transition, integration with Wayland compositor stacks, and ongoing modernization for Qt 6 compatibility. Major contributors and influencers include developers and organizations such as Matthias Ettrich, KDE e.V., Nico Golde, and corporate stakeholders like KDE e.V. sponsors. The architecture continues to adapt to trends in desktop virtualization, containerized packaging used by Flatpak and AppImage, and cross-platform strategies pursued by projects like KDE Gear and Neon distributions.