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.

Toolchain and Core

ProjectWhat it isWhy study it
GNATThe GCC Ada compiler front endSee how the language's own rules are implemented
AlireThe Ada package manager (written in Ada)A real CLI application: command parsing, config, dependency graphs
GPRbuildMulti-language build engineDependency-driven builds and the project-file model
ada_language_serverThe LSP server powering Ada in VS Code and other editorsCompiler-adjacent engineering: parsing, queries, incremental analysis
SPARK toolsetProof tools for the verified Ada subsetWhere the contracts from the Contracts lesson become theorems

Libraries

ProjectWhat it isWhy study it
AWS (Ada Web Server)HTTP server framework and SOAP/WebSockets stackAPI design at scale, tasking under load
GNATCOLLGNAT Component Collection: files, processes, scripting, DBThe "standard-library-plus" — idiomatic package structure
GtkAdaGTK bindings for GUI applicationsLarge-scale C interop with tagged types and callbacks
Ada Drivers LibraryBoard-support and peripheral drivers for embedded MCUsRepresentation clauses and real hardware access, portably written
Templates ParserTemplate engine used by AWSText processing and generic design in production

Complete Applications

ProjectWhat it isWhy study it
Ada LuaLua interpreter bindings and embedding in AdaScripting layer over a compiled core
AnetNetworking library (sockets, IPv4/IPv6)Protocol layers expressed with discriminants and controlled types
AdaSATA SAT solver in SPARKAlgorithmically interesting AND machine-proved
GNAT StudioAdaCore's IDE, itself written largely in AdaA 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.