The free desktop is already a capable drop-in substitute for Windows and macOS today. However, there remain important areas of the platform that are undermaintained or need significant work, particularly around sandboxing and accessibility.
The most viable direction for a phone operating system independent of the Apple/Google duopoly is expanding the existing free desktop ecosystem to phones. This requires device hardware enablement, but also additional development work on the platform and apps to adapt to the form-factor.
For free software to succeed, it needs to provide real-time collaboration. Local-first makes this possible without handing data over to cloud providers or the need to self-host services. We are working towards making it possible for any app to easily add local-first collaboration.
The package-based model of managing and updating Linux systems has disadvantages in terms of reliability and security. Image-based systems like GNOME OS address these issues, which is why we're working on getting them ready for a wider audience.
The majority of carbon emissions over a device's lifetime happen during its production. Our goal is to keep devices working and reliable for as long as possible. Device repairability should also include software repairability. People should not face restrictions such as locked bootloaders, part pairing or lack of documentation.
It's not enough for the operating system to respects your rights. The apps need to do it too. We try to empower app developers to make world-class free software apps with better system APIs, better developer tools, and better visibility and distribution on Flathub.
We build software as emancipatory technology. Our approach takes inspiration from a wide range of prior art, from the original software freedom definition, to the GNOME project's focus on inclusivity and maintainability, the local-first research from Ink & Switch, and the holistic lifecylce view from Permacomputing, among others.
Computing is too important to be left to corporations or governments. It must be developed as a commons, open to individual and collective participation and oversight.
It's not enough to build software that gives people rights - it also has to actually solve their problems in a way that will work for them, regardless of technical expertise, physical abilities, device form factor, language, etc.
Design is not just about ergonomics or aesthetics, but also underlying implementation, and what to build in the first place. Technology should be developed in service of the user experience, not the other way around.
Internet access is increasingly scarce and dangerous, so software needs to work fully offline, with network being a nice to have rather than a requirement.
Software should only use the network if really necessary, and make connections visible in order to allow people to navigate risks.
Web technologies are brittle, overly complex, fundamentally assume a client-server model, and almost entirely captured by Big Tech. For anything other than static websites it's much better to use an independent toolkit like GTK to build native apps and distribute them via Flatpak.
The majority of carbon emissions over a device's lifetime happen during its production, so it's important to keep hardware running as long as possible.
The potential for supply chain disruption and systemic collapse means that old devices may eventually be all we have. To make sure we'll be able to re-use them practices like OEM bootloader locking and parts pairing need to end.
People’s attention is precious. Software should feel calm and distraction-free, allowing for deep focus on the task at hand rather than calling attention to itself.
The climate crisis can no longer be contained or predicted. Over the next decades we will see natural ecosystems, industrial supply chains, and entire societies collapse.
It's unclear what, if any, role computers will play in the long term but medium term we will need them because they are deeply enmeshed in critical parts of existing infrastructure.
Given the increasing threats posted by surveillance and profiling, we need to significantly raise the bar for threat modeling in end-user software development, and design everything in much more adversarial ways.