# GEGL

> image processing programming library

**Wikidata**: [Q1194120](https://www.wikidata.org/wiki/Q1194120)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/GEGL)  
**Source**: https://4ort.xyz/entity/gegl

## Summary
GEGL (Generic Graphics Library) is a free and open-source image processing programming library designed for non-destructive editing and advanced image manipulation. It serves as the core engine for projects like GIMP, providing a flexible framework for applying effects and adjustments to images. First released in 2000, it supports Unix-like operating systems and is dual-licensed under the GNU GPL and LGPL.

## Key Facts
- **Inception**: Developed starting in 2000, with the first public version (0.1.0) released on July 1, 2009.
- **Licenses**: Dual-licensed under the GNU General Public License (GPL) 3.0 and GNU Lesser General Public License (LGPL) 3.0.
- **Latest Version**: As of 2016, the latest documented version is 0.3.8, released on June 14, 2016.
- **Programming Language**: Primarily written in C.
- **Key Adoption**: Used as the underlying engine for the GNU Image Manipulation Program (GIMP) since 2012.
- **Operating Systems**: Designed for Unix-like systems, with packages available for Linux distributions (e.g., Debian, Fedora, Ubuntu) and BSD variants.

## FAQs
### Q: What is GEGL used for?
A: GEGL is used for advanced image processing tasks, including non-destructive editing, applying filters, and manipulating images. It is a foundational library for software like GIMP.

### Q: Is GEGL free to use?
A: Yes, GEGL is free software, licensed under the GNU GPL and LGPL, allowing users to run, modify, and distribute the software.

### Q: How does GEGL relate to GIMP?
A: GEGL has been integrated into GIMP since 2012, replacing its older image processing engine and enabling more sophisticated, non-destructive workflows.

## Why It Matters
GEGL is significant for its role in advancing open-source image processing. By providing a modular, non-destructive framework, it enables complex operations like layer adjustments and effects without altering original image data. Its adoption by GIMP marked a major shift toward more professional-grade editing capabilities in free software. GEGL’s flexible architecture also supports extensibility, allowing developers to create custom plugins and algorithms. This makes it a critical tool for both end-users and developers in the graphics and photography communities.

## Notable For
- **Non-Destructive Editing**: Enables users to apply and modify image effects without overwriting original data.
- **Modular Architecture**: Uses a graph-based processing model for flexible, customizable workflows.
- **Cross-Platform Compatibility**: Supports Unix-like systems, including Linux and BSD variants, with active package maintenance.
- **Community-Driven Development**: Maintained by the GNOME community and contributors, ensuring ongoing updates and improvements.

## Body
### Development History
- **Inception**: Project began in 2000, with early versions released in the late 2000s.
- **Key Releases**:
  - **0.2.0 (2012)**: Introduced major API improvements and GIMP integration.
  - **0.3.0 (2015)**: Added support for OpenMP-based multithreading for performance enhancements.
  - **0.3.8 (2016)**: Focused on stability and bug fixes for production use.

### Technical Features
- **Architecture**: Uses a directed acyclic graph (DAG) to represent image operations, allowing for non-destructive editing.
- **Programming Language**: Written in C, with bindings available for other languages like Python.
- **Extensibility**: Supports custom operations via plugins, enabling community-driven feature expansion.

### Licensing
- **Dual Licensing**: Code is licensed under both the GNU GPL 3.0 and LGPL 3.0, accommodating integration into both free and proprietary projects.

### Adoption and Integration
- **GIMP Integration**: Became the default engine in GIMP 2.8 (2012), replacing the legacy C++ codebase.
- **Ecosystem**: Used in projects like Darktable and RawTherapee for advanced image processing pipelines.

### Community and Development
- **Governance**: Maintained by the GNOME Foundation, with contributions from open-source developers worldwide.
- **Tooling**: Hosted on GitLab, using the Meson build system for cross-platform compilation.

## References

1. [Source](https://blogs.gnome.org/engagement/2018/01/22/gegl/)
2. [Source](https://git.gnome.org/browse/gegl/tree/COPYING)
3. [Source](https://git.gnome.org/browse/gegl/tree/COPYING.LESSER)
4. [The gegl Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/gegl/analyses/latest/languages_summary)
5. [Source](https://mail.gnome.org/archives/gegl-developer-list/2012-April/msg00004.html)
6. [Source](https://mail.gnome.org/archives/gegl-developer-list/2015-June/msg00000.html)
7. [Source](https://mail.gnome.org/archives/gegl-developer-list/2015-November/msg00000.html)
8. [GEGL 0.3.8 and babl 0.1.18 Released. 2016](https://www.gimp.org/news/2016/06/14/gegl-0-3-8-babl-0-1-18-released/)
9. [GEGL 0.3.6 Released. 2016](https://www.gimp.org/news/2016/03/15/gegl-0-3-6-released/)
10. [Index of /pub/gegl/0.3](https://download.gimp.org/pub/gegl/0.3/)
11. [Source](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_3_28)
12. [Source](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_3_30)
13. [gegl - GEGL (Generic Graphics Library) is a graph based image processing framework.](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_4_0)
14. [gegl - GEGL (Generic Graphics Library) is a graph based image processing framework.](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_3_34)
15. [Source](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_4_2)
16. [GEGL_0_4_8 · Tags · GNOME / gegl](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_4_8)
17. [Source](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_4_10)
18. [Source](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_4_12)
19. [Source](https://gitlab.gnome.org/GNOME/gegl/tags/GEGL_0_4_14)
20. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_16)
21. [2019](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_18)
22. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_20)
23. [Source](https://gitlab.gnome.org/GNOME/gegl/-/blob/master/docs/NEWS.txt)
24. [Release v0.4.28](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_28)
25. [Release v0.4.30](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_30)
26. [Release 0.4.32](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_32)
27. [Release 0.4.34](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_34)
28. [Release 0.4.36](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_36)
29. [Release 0.4.38](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_38)
30. [Source](https://gitlab.gnome.org/GNOME/gegl/-/commit/b3222c10c5ce8760bcd2a603dad2b3deb50fde6c)
31. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_42)
32. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_44)
33. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_46)
34. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_48)
35. [GEGL_0_4_50 · Tags · GNOME / gegl · GitLab. 2024](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_50)
36. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_52)
37. [GIMP - GIMP 3.0 Released. 2025](https://www.gimp.org/news/2025/03/16/gimp-3-0-released/)
38. [Source](https://www.gimp.org/news/2025/05/18/gimp-3-0-4-released/#gegl-and-babl)
39. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_66)
40. [Source](https://gitlab.gnome.org/GNOME/gegl/-/tags/GEGL_0_4_70)
41. Freebase Data Dumps. 2013
42. [Source](https://openports.se/commit_files.php?messageId=75e7640e6f4e7602@openbsd.org)