Why LibreFrame ?
Current GUI developments are not productive. Too many systems, too many terminals, too many “changing languages”, too many disparate screen sizes, too many keyboards, mice or fingers as inputs devices.
There is too much of everything.
You need to create web SAAS with a development environment, create Android app with another and create iPhone app with a third. And be modern. Don’t forget to migrate your applications written in Java to Kotlin or from Objective-C to Swift.
Today, to build an application, a single person has to master an incredible house of cards full of languages, concepts, protocols, procedures, best practices, dialects, templates and tricks. This mastery is difficult to acquire, and will have to be renewed on a regular basis, even if the novelty is not justified by productivity gains.
One day, we sat down by the side of the road, asked ourself the right questions, and chose Ada, this language with such a sweet name.
Could we do the same for a framework?
A framework designed to be understood by a single person in a minimum of time, so one can quickly create self-contained, simple and productive applications.
The quest for simplicity consists in selecting the real needs, and limiting oneself to sufficient functionalities. This limitation is not pejorative, but an act of faith, a manifesto of lightness.
One language for all, all for one framework
Datas schemas should be in the code. Screens should be in the code. Everything should be in the code.
A code using one language. A language for one framework.
Redifining web development
No JS/HTML/CSS hell.
Defining block and sub-blocks of widgets.
Fitting themselves the responsive way.
From the 43“ 4K workstation to the smallest 5” smartphone.
What is LibreFrame ?
LibreFrame is a general purpose, KISS oriented, modular Ada framework ready for all types of development.
LibreFrame handles all practical aspects of software development, making life easier for developers. It supports post-mortem traces, multi-level logs, configuration files, file management, directories and searches. The console interface handles text I/O, integrates cursor management, colors and various timing effects.
The Web interface has users management, integrates high-level CRUD functions as well as menus and common widgets, including responsive screens, to offer a consistent interface on all devices.
SQL handling includes key-value store for application level parameters, high-level CRUD functions, and managing database schema updates, making deployment of new versions a breeze.
The system package manages environment variables, system paths, return codes, CTRL-C handler, Debian and derived systems packages, memory observation, execution of external programs with retrieval of output codes and text response.
The remote access package, through SSH with key and password management, authorizes remote execution, copying, synchronized copying, deletion and tree deletion. It also manages exceptions, IP and accessibility tests, mounting and dismounting as well as e-mail, SMS sending and communication with APIs.
Date management, CRC support, password generation and control, high level PDF generation and extensive text file management are also provided.
For UTF-8 handling, LibreFrame uses UXStrings package from Pascal Pignard. Its speed and ease of use is a foundation for LibreFrame KISS spirit and enable us to process big-data with files up to hundreds of GB.
The LibreFrame reference manual is around three hundred pages long. It comes with an other hundred page user manual for the development environment, including Alire, with a few exclusive details to help you understand it.
LibreFrame is a work in progress

This site is under heavily construction and follows the development of the LibreFrame framework.
For information on the history of LibreFrame, please see the article on the presentation of LibreFrame at AEiC 2025.
A detour to the site of the v22 framework, LibreFrame’s predecessor, is also worthwhile.
Using v22, the LibreFrame's predecessor
With the v22 framework, Sowebio has developed a vending machine management application, which consists of three Linux services:
– A telemetry server with hundreds devices in a VPN over LTE network;
– A web server for user and administrators;
– A background service sending SMS or email and making financial and inventory consolidation.
This application features over eight CRUD and more than fifty screens, lists and reports.
Without LibreFrame dependencies:
– The application alone is coded in just over seven thousand lines in forty two files;
– With LibreFrame framework, the total is just over fifteen thousand lines in eighty nine files.
The web application doesn’t need to be installed on workstations, tablets or smartphones, but can also be integrated into smartphone applications to make things easier for users.
Results using v22
The development of this seven-thousand-lines project validates our design choices well beyond our expectations.
Fewer lines of code means fewer bugs, less time coding and more time sunbathing.
The v22 GUI package, which is a high-level superset of Gnoga, requires no HTML/JS/CSS manipulation, and the interface elements are self-placing with responsive management.
In this environment, productivity is outstanding, ensuring a remarkable competitive edge over the competition.
By freeing ourselves from the essentials of Android and iPhone specific development, we can cut our sales proposals by a factor of three.
That’s exactly why we won the vending machine contract.

Simplicity is the ultimate sophistication.
It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away.
Make everything as simple as possible, but not simpler.
Since the origin of some of these quotations is difficult to ascertain, they are not attributed.