Fractal is an instant messaging app powered by a decentralized communication network. Unlike most other messaging systems which are run centrally by Silicon Valley tech giants, Matrix is an open network allowing for many smaller, user-run instances and independent client applications such as Fractal, which focuses on providing a great user experience for free desktop systems. This has many advantages in terms of security, user privacy, and data sovereignty. Julian Sparber talks about the project, its goals, and why the future of digital communication is open.
Where does your passion originate and how did you come up with the idea for your project?
I have been fascinated by free software since I was a teenager. In high school, I started to use free software and tried to adopt it as much as possible. I also started releasing my own code under the copyleft licenses and promote the use of free/libre open source software (FLOSS) at my school. I liked sharing my code and collaborating on projects with others.
I eventually found my way to the GNOME community where I’ve been an active contributor for about five years now – we’re a world-wide group of developers and designers, developing a fully independent free software desktop, including all the apps and technologies required. GNOME is the largest technology stack independent of big tech companies, and completely developed in the open. GNOME’s philosophy is that we produce software that is not only free and open source, but also has world-class design, making it accessible to all. Fractal is part of the GNOME community, in that it’s built by GNOME contributors, using our technology stack and design language, trying to provide a great native client for Matrix.
How did you come across NGI?
In November 2019 I attended LAS, a conference that tries to grow the Linux application ecosystem. At the conference I listened to a talk about NGI supporting innovators working on open source software. I thought it was an amazing opportunity at the time, but I was still doing my Masters in Computer Science at the University of Bologna. After finishing university last year I thought about giving it a try, so I applied.
What is the origin of the project and what was the status of Fractal when you applied for NGI support?
Fractal was started by Daniel García Moreno, a fellow GNOME developer a few years ago with the objective of building a Matrix client for the GNOME platform. Soon after he got a designer (Tobias Bernard) involved, who helped get the user interface in shape, which really got the project off the ground and more people interested.
Tobias is a close friend of mine who got me involved in the project. I started by making some minor improvements, but over the next few months I got more and more involved and eventually became a core contributor to the project. Fractal pretty quickly got more people involved and also we had multiple Google Summer of Code and Outreachy (an awesome internship project for people in underrepresented groups in tech) interns working on Fractal.
Over the past few years we developed Fractal into one of the most fully-featured Matrix desktop clients. It can be used on all GNU/Linux systems, including mobile devices (e.g. Librem 5 or PinePhone) thanks to a fully adaptive user interface. The app can be installed via Flathub.
Despite the relative maturity of the app overall, there are a number of longer-term projects we’ve wanted to get done for some time but haven’t been able to pursue because it’s largely a volunteer effort. The most important of these is a new backend architecture with support for end-to-end encryption, which is a major blocker for adding features to the app.
How does Fractal fit in your open source community?
Fractal is the only native Matrix client using GNOME technology, so many GNOME users and especially fellow developers use it daily to talk on GNOME IRC/Matrix channels (one of the primary places where development happens). Seeing as other communities (e.g. Mozilla and KDE) have also recently moved to Matrix, the work I’ll be doing as part of the NGI project will be another step towards making contributing to FLOSS more accessible.
How did NGI support help to bring your project forward?
We applied for NGI support in August 2020. Our initial funding was €20,000. The grant meant we can get end-to-end encryption implemented for Fractal. Recently we got an extension of the initial funding to allow us to more significantly revamp Fractal’s architecture. This initiative, called Fractal-next, aims to significantly improve the maintainability and performance of Fractal.
For more information on Julian read his blog: https://blogs.gnome.org/jsparber
For more information on Fractal, see: https://gitlab.gnome.org/GNOME/fractal/-/blob/master/README.md