We all know about the Windows operating system and macOS. But when it comes to Linux and other OS, a lot of people still doubt what kind of system it has to offer. PureOS is a general-purpose operating system based on the Linux kernel. Focused on being entirely free, PureOS is officially endorsed by the Free Software Foundation. It adheres to the Debian Social Contract and the GNU FSDG.
For PureOS, the goal is to rank amongst name-brand operating systems. While people are debating on Android vs. iOS, they’re sleeping on PureOS. They want to make sure of the balance between security and usability. They aim to give the best out-of-the-box experience matched with the best security, privacy, and software freedom protections possible. The aim is to make it easy to feel safe and secure with an operating system you can trust from the ground up and with the right tools.
This operating system comes bundled with some desktop apps preinstalled for users. It also has a software library that contains thousands of other applications you can install. Also, all apps are free software. For developers, PureOS attempts to be a nice base platform to improve and extend the reach of the free and open-source software community.
How to Install PureOS
If you want to install PureOS on your device, follow the instructions below:
- Start the live PureOS instance from the USB you have prepared.
- At the PureOS boot prompt, choose option 1 “Start live PureOS” and wait for the GNOME desktop to fully start.
- Once the GNOME desktop starts, finish the PureOS Initial Setup procedure.
- Launch the Calamares installer.
- Make sure that you connect to the power supply and the internet, and click “Next”.
- Select your time zone, set your system language and time and date of your region.
- Choose your keyboard layout:
- For the disk partitioning, assuming that your disk is blank, choose the automatic partitioning (Erase disk option), the installer will automatically partition your disk. Type the password you wish to use for the full disk encryption. Leave it out if you DO NOT want disk encryption:
- NOTE: Make sure to select the proper device to install too. See the options encircled in red. Ignore this if you only have one disk installed.
- Create a user.
- Review the install instructions and confirm the installation.
- Wait for a few minutes and restart after it completion.
History of PureOS Development
Roots in Debian Testing
PureOS is a Debian-based rolling release distribution. PureOS joins packages from the Debian “testing” main archive. They only use the Debian main archive as the only one containing Freedom respecting software, into a suite called landing. It’s similar to the build of Debian and some Linux distros. Picture PureOS landing as Debian’s unstable.
For easier maintenance, the design of the PureOS technical architecture with a very innovative approach. Purism continually funds infrastructure and technologies. An important example is Laniakea. To manage the several aspects of operating system building, They layered Lanikeia, an integrated suite of tools on top of the Debian Archive Kit (dak).
These managed aspects include:
- performing package QA
- building packages
- synchronizing them with Debian
- creating live images, etc.
The code uses D programming language and Python. Uses PostgreSQL as the database and replaces the Mongo DB used before. It uses ZeroMQ for message passing.
How PureOS Differs From Other OS
- Application of general patches to improve the user experience or security.
- Modification of desktop default settings.
- Addition of freedom-respecting patches. This includes removing offending add-ons from various packages and recommendations.
- Sudo permits it by default.
- Modification of the system’s default path.
- Adding many customizations to how the build of live images and how the installation process works. The Calamares installer framework and GNOME initial setup will guide it.
- Added new artwork.
- Setting GRUB to run in fastboot mode.
- Wayland-based GNOME desktop session by default. Compared to Fedora, PureOS is much faster. It’s one of the first to adopt this technology as the default for its desktop user session.
- Enabling AppArmor by default as a great security practice that doesn’t break everyday usage.
- PureOS has its own browser, PureBrowser. It is a fork of Firefox with additional extensions to improve its security and privacy. It also has additional changes that make it FSF-FSDG compliant.
And a whole lot more changes that will improve the usability of the operating system, making it freer (by the FSF’s definition of free software), or improved security. For example, they are exploring the usage of Torsoks. Torsoks might be a new default way to run network-oriented applications. Additional kernel patches will improve as the need arises.
PureOS Landing Testing Before Going Green
For them to move these packages from the initial “landing suite” to the green suite, they need to meet certain criteria. These criteria are set in a “migration policy”. This policy includes an urgency-dependent timer. This new package usually has to stay in “landing” for 4 to 10 days, and also needs to pass some basic quality checks. You might need to have packages installed and checked to migrate to “green first”.
PureOS Package Migrations
To date, PureOS has a very simple QA process for package migrations. For future infrastructure, they will extend openQA. These benefits mainly from the work done by Debian and the other tests run for Debian on Debian infrastructure.
On rare occasions, critical bugs find their way into Debian testing because most of them get caught before a package reaches testing. Being able to catch these defects before they get into Debian testing occurs for several reasons.
Other Modes of Testing
Every package has at least one human maintainer. Debian has a massive pool of developers and users that report bugs as well. But Debian also has:
- Dose checks like non-installable packages or missing conflicts.
- Dependency checks.
- Piuparts: testing of installation, upgrade or removal of packages.
- Archive rebuilds so users can find Fails To Build From Source (FTBS) packages.
- Custom rebuilds to test the breakage of toolchain versions.
- Lintian checks to make sure a package follows Debian’s technical policy and guidelines.
- Several continuous integration tools, some of which have autopkgtest.
- Security trackers.
- Has a lot more.
Why PureOS is tested by Debian
Being based on Debian is a good choice. But what people often ask is “Why is PureOS based on the testing suite of Debian in particular?” To answer this question, it is a middle ground for development, stability, and freshness of packages. It’s nice for everyday usage while still giving freedom for users to explore new things.
This day, there is also the need for a phone development platform. Staying on Debian “stable” would simply not be possible. Such fast-moving projects that rely on many-core packages are closer to more recent upstream releases.
The packages will then have migrated from the “landing” stage to the “green” stage. This means they are available to users through regular updates. But there is still a chance that an issue has slipped through the quality assurance. This is because there is no such thing as ultimate perfect stability, anywhere. That much is clear if you can remember the recent Windows updates issues (updates working, not working, breaking usage, etc.), Even in the Linux distros world, Ubuntu sometimes pulls off its ISO images due to installer bugs.
PureOS includes a transparent bug tracking system enabling users to report bugs and help resolve them. You can do this by simply visiting PureOS’ tracker. You can see their infrastructure and online here as well.
PureOS is a Community Project
Purism wants to encourage community development for PureOS because Purism acknowledges that PureOS is a community project that needs to be able to stand on its own. Aside from the current funding of the entire development and infrastructure, in the near future, Purism will create its own mailings lists for community members who want to help with the development of PureOS itself.
PureOS development’s motto is to create the possible everyday mainstream operating system while pushing for the best features, security, and privacy features. This means that any such feature that will enhance the user experience and not break them. They will discuss everyday workflow and can make its way into the PureOS defaults.
PureOS can include patches to make it run better on Purism’s Librem devices but of course, you can’t lock it down. Thus, you can always utilize any hardware that can support an entirely Freedom-oriented operating system. As you know, PureOS is based on Debian but it has its own set of defaults. While it will most likely always be different and carry patches that are sometimes more or less specific to it, the goal is to not maintain a huge unnecessary number of changes relative to Debian.
This is the reason why PureOS encourages developers to try to implement their reasonable changes directly into Debian. This has already happened in different situations; some PureOS-related patches are now in Debian and soit dropped those patches for itself, making the life of the maintainers easier.
Purism’s Librem devices also have a lot to offer than you may think. They have many peripherals, as well as a good Purism Librem battery.
PureOS Future Plans and Community Involvement
Along with the current development of Librem 5, PureOS is also looking into Librem 5-specific image builds so that besides the ARM64 architecture, research about the usage of OSTree, Faltpak and a couple of other new technologies to use by default in PureOS on the desktop and/or phone are ongoing.
There are several features in the FLOSS world PureOS can implement. But this always needs time and manpower. You may suggest any improvements by reporting it. PureOS will then assign tasks to themselves while coordinating with the current core team.
PureOS plans to expand the core team outside of Purism and, as everything moves forward, hopes that a majority of PureOS developers will be individuals from the community. This is also a great upstream for developers and maintainers since it is easier to include patches, giving it more room to make changes and try out new things.
PureOS and Falthub
Aside from this, with the emerging importance of Flatpaks, PureOS is planning to host its own Falthub instance dedicated to Freedom, so that upstream developers can just package their app and present it to the flathub especially if they don’t want to worry themselves with system-wide dependencies. Faltpaks have disadvantages as well, especially regarding the case of potentially slow upstream security patches, but don’t worry, this is not an issue specific to the FLOSS world.
PureOS and app development
Purism and PureOS also acknowledge that applications are a major factor in the adoption of an operating system. While the look and feel are very important, the most important thing for the OS is to stay out of the way and enable the apps to do the necessary work.
- The GNU/Linux desktop has caught up with Windows and macOS and ie even more forward in some respects, but what often turns users off is the lack of apps that they are familiar with or can easily transition to or problems with some existing apps.
- In general, the GNU/Linux world contains very powerful tools. Although some areas are lacking user interface refinements, need some additional features, and more often than not there is a lack of public funding to sustain the development of those pieces of software.
- PureOS hopes to develop an ethical app store that will provide users with an option to donate. You can “pay what you want”, or subscribe and support as a patron the applications you use. In this way, this operating system can play a part in a more sustainable Free Software society and economic system. After all, the aim of this OS is for the public good and it wants to ensure that it will have a sustainable future. Globally, this kind of approach should encourage the development of ethical software applications to replace the walled gardens we see today on other proprietary app platforms.
Aside from that, GNOME is PureOS’s default. It is no stranger uncertain to adapt and utilize other default configurations and collections of software. For instance, the experimental builds of a PureOS Plasma spinoff will enable users to have more options for default installations. With this, there are no walls in the FLOSS world. You can now install Plasma along with GNOME today on PureOS.