The project started with a group of students in first year of MSc in 2018, studying theoretical computer science at ENS de Lyon, France. This formation includes a project course whose theme is left to the students, which was the starting point for Symbolibre and involved about thirty people: see the original team.
This school year is now over and a few of us are continuing contributions to the code and background discussions to bring the project to a more advanced state.
The free software philosophy
We were deeply inspired by LibreCalc, and felt very sorry when it ended. We think that free software can build a future for graphing calculators just as well as it does for other common platforms, and we intend to prove it!
We have a solid experience of system and userspace programming, but electronics remain a misty land to us. We thus renounced the idea of using open hardware, at least first, and turned to the excellent Raspberry Pi Zero with its prime accessibility. With this base, we’re building a fully-free software stack, featuring GNU/Linux, Wayland, Qt and Giac.
Modern computer systems
Today’s graphing calculators are not far from full-featured computers: even a simple-looking fx-9860G II is able to start two parallel processes. So why persist in building machines with 256 kiB RAM and 15 MHz CPU frequency when the cost of hardware is no more a limiting factor? Humble specifications require specialized, hand-written operating systems, which takes a lot of time to develop.
When Python was introduced in high-school programs, our favorite manufacturers TI and Casio spent several months integrating the language to their machines. The first had to use an external Python module (thus banned at exams) to compensate for the low specs of the TI-83 Premium CE. The second, as many others, ported MicroPython but only supports a couple modules. The Symbolibre calculator has the mainline Python interpreter with all its modules, and we can add external ones such as
numpy just by compiling a new package.
By using GNU/Linux as an operating system, we enjoy a reactive development model with many software evolutions and many programs at our disposal.
Transparency and the Do-It-Yourself aspect
Symbolibre is a project that wants to put its users first: the calculator must be lasting and customizable, a tool at the user’s service. This starts with hardware: we will publish the hardware composition and assembly tutorials, so that anyone can freely build their own Symbolibre calculator.