Open Source Ada Projects
After the lessons, real codebases are the advanced textbook. The projects below are open source, active, and each teaches a different part of professional Ada — read their .ads specifications first, then the bodies.
| Project | What it is | Why study it |
| GNAT | The GCC Ada compiler front end | See how the language's own rules are implemented |
| Alire | The Ada package manager (written in Ada) | A real CLI application: command parsing, config, dependency graphs |
| GPRbuild | Multi-language build engine | Dependency-driven builds and the project-file model |
| ada_language_server | The LSP server powering Ada in VS Code and other editors | Compiler-adjacent engineering: parsing, queries, incremental analysis |
| SPARK toolset | Proof tools for the verified Ada subset | Where the contracts from the Contracts lesson become theorems |
Libraries
| Project | What it is | Why study it |
| AWS (Ada Web Server) | HTTP server framework and SOAP/WebSockets stack | API design at scale, tasking under load |
| GNATCOLL | GNAT Component Collection: files, processes, scripting, DB | The "standard-library-plus" — idiomatic package structure |
| GtkAda | GTK bindings for GUI applications | Large-scale C interop with tagged types and callbacks |
| Ada Drivers Library | Board-support and peripheral drivers for embedded MCUs | Representation clauses and real hardware access, portably written |
| Templates Parser | Template engine used by AWS | Text processing and generic design in production |
Complete Applications
| Project | What it is | Why study it |
| Ada Lua | Lua interpreter bindings and embedding in Ada | Scripting layer over a compiled core |
| Anet | Networking library (sockets, IPv4/IPv6) | Protocol layers expressed with discriminants and controlled types |
| AdaSAT | A SAT solver in SPARK | Algorithmically interesting AND machine-proved |
| GNAT Studio | AdaCore's IDE, itself written largely in Ada | A very large GUI Ada program — architecture in the wild |
Browsing tip. Most of these live under the
AdaCore GitHub organization, which also hosts the Alire crates index. Search a repo for
is private to find its encapsulation boundaries, and for
with Pre to see live contracts — two habits that make any Ada codebase readable fast.