DiffOS is a GNU/Linux distribution aspiring to the meet the Free System Distribution Guidelines (GNU FSDG), based on Debian GNU/Linux.

Manifest

DiffOS is the Debian Increment For Freedom Operating System.

  • Aspire to the goals of GNU FSDG and become a recognized Free GNU/Linux distribution.

  • Uses Debian GNU/Linux as upstream. We remove artifacts that are not complying with with the Debian Free Software Guidelines (DFSG), such as Debian non-free, contrib and non-free-firmware and we produce our own installer images without non-DFSG blobs.

  • Support for all architectures supported by Debian.

  • Provide Containers, Cloud Images, LiveCD and installer ISOs.

  • Provide standalone hosting of the package repository.

  • Provide documentation and issue tracker.

  • Keep changes to a minimum, in particular:

    • Upstream-first policy to prefer that any changes are made in Debian, and only if that fails they are considered for DiffOS.

    • Binary package re-use for as much as is possible.

    • Don’t modify any source-level Debian package unless REQUIRED by the FSDG (e.g., for freedom concerns) or REQUIRED by the Debian project (e.g., for branding reasons).

  • Publish a list of packages that are added, removed or modified compared to Debian, with justification for each change.

  • Publish Diffoscope-style outputs comparing our artifacts with comparable Debian artifact.

  • Everything built from CI/CD pipelines, inspired by the Salsa CI pipeline but extended to cover the package repository and installation images as well, to allow modern GitSecDevOps of the entire supply-chain.

  • Use inspiration from other Debian-derived FSDG distributions Trisquel GNU/Linux and PureOS, and broader with GNU Guix especially on how to approach existing freedom concerns in packages.

  • Git Forge agnostic. Current dual-hosting on GitLab.com and Codeberg.org. Scripts and configuration are (or will be) designed to allow setup on self-hosted GitLab instance, Codeberg.org or self-hosted Forgejo.

  • Maintained by Humans and no AI/LLM contributions - inspired by THE HUMAN MANIFESTO FOR THE AGE OF ARTIFICIAL INTELLIGENCE.

Live Images

The DiffOS Live images allows you to run and install DiffOS on physical (or virtual) machines.

Release images are published on the DiffOS Live GitLab Releases page, with quick links in the following table.

Live Image Filename Checksum
diffos-13.7.0-amd64-cinnamon.iso SHA256
diffos-13.7.0-amd64-gnome.iso SHA256
diffos-13.7.0-amd64-kde.iso SHA256
diffos-13.7.0-amd64-lxde.iso SHA256
diffos-13.7.0-amd64-lxqt.iso SHA256
diffos-13.7.0-amd64-mate.iso SHA256
diffos-13.7.0-amd64-xfce.iso SHA256
diffos-13.7.0-amd64-slim.iso SHA256
diffos-13.7.0-amd64-standard.iso SHA256
diffos-13.7.0-arm64-cinnamon.iso SHA256
diffos-13.7.0-arm64-gnome.iso SHA256
diffos-13.7.0-arm64-kde.iso SHA256
diffos-13.7.0-arm64-lxde.iso SHA256
diffos-13.7.0-arm64-lxqt.iso SHA256
diffos-13.7.0-arm64-mate.iso SHA256
diffos-13.7.0-arm64-xfce.iso SHA256
diffos-13.7.0-arm64-slim.iso SHA256
diffos-13.7.0-arm64-standard.iso SHA256
diffos-13.7.0-ppc64el-gnome.iso SHA256
diffos-13.7.0-ppc64el-standard.iso SHA256
diffos-13.7.0-riscv64-gnome.iso SHA256
diffos-13.7.0-riscv64-standard.iso SHA256

Download and verify an image like this:

wget https://www.diffos.org/live/diffos-13.7.0.SHA256SUM
wget https://www.diffos.org/live/diffos-13.7.0.SHA256SUM.asc
gpg --verify diffos-13.7.0.SHA256SUM.asc
wget https://www.diffos.org/live/13.7.0/diffos-13.7.0-amd64-gnome.iso
grep diffos-13.7.0-amd64-gnome.iso diffos-13.7.0.SHA256SUM | sha256sum -c

Write image to a USB drive for installation on physical hardware:

dd if=diffos-13.7.0-amd64-gnome.iso of=/dev/sdX # replace sdX with USB drive

Run and install in a virtual machine, installing to a disk image:

dd if=/dev/zero of=hda.raw count=20 bs=1G conv=sparse
kvm -m 12G -hda hda.raw -cdrom diffos-X.Y.Z-amd64-gnome.iso

Review the Debian CD FAQ and the Debian GNU/Linux Installation Guide for more help.

Container Images

The DiffOS Container Images project build and publish DiffOS Container Images, for orchestration of containers using tools like docker or podman.

Example usage for amd64, arm64, ppc64el and riscv64:

podman run -it --rm registry.gitlab.com/debdistutils/diffos/container:trixie

Multi-arch (amd64, arm64, trixie/bookworm ppc64el, trixie riscv64) container URLs:

Container URL
registry.gitlab.com/debdistutils/diffos/container:trixie
registry.gitlab.com/debdistutils/diffos/container:trixie-slim
registry.gitlab.com/debdistutils/diffos/container:bookworm
registry.gitlab.com/debdistutils/diffos/container:bookworm-slim
registry.gitlab.com/debdistutils/diffos/container:bullseye
registry.gitlab.com/debdistutils/diffos/container:bullseye-slim

Cloud Images

The DiffOS Cloud Images project build and publish QCOW2 cloud images with cloud-init, for virtual machine orchestration via libvirt or on cloud providers.

See the package registry for release images, which includes weekly builds of the following variants:

  • diffos-13-generic-amd64.qcow2
  • diffos-13-generic-arm64.qcow2
  • diffos-13-generic-ppc64el.qcow2
  • diffos-13-generic-riscv64.qcow2
  • diffos-12-generic-amd64.qcow2
  • diffos-12-generic-arm64.qcow2
  • diffos-12-generic-ppc64el.qcow2
  • diffos-11-generic-amd64.qcow2
  • diffos-11-generic-arm64.qcow2

Usage example:

wget https://gitlab.com/api/v4/projects/74458072/packages/generic/cloud-images/20260921/diffos-13-generic-amd64.qcow2
virt-customize -a diffos-13-generic-amd64.qcow2 --root-password password:MYPASSWD
virt-install --name diffos --os-variant linux2024 --memory 8192 --disk diffos-13-generic-amd64.qcow2 --import
virsh destroy diffos
virsh undefine diffos

Support and Bug Reports

Issues can be filed in the catch-all DiffOS issue tracker. If you are aware that your issue is related to a specific component, please file the issue with the relevant issue tracker instead.

Feel free to join our #DiffOS matrix chat room.

Current Status

The DiffOS archive project holds the package archive, including scripts to merge packages from Debian, and is considered stable. Currently we support trixie, bookworm and bullseye. Archives are published at https://deb.diffos.org/diffos/ and http://security.diffos.org/diffos-security/ following the same naming pattern as Debian. Instead of bookworm, trixie, or trixie-security, DiffOS uses the suites diffos-bookworm, diffos-trixie, and diffos-trixie-security and so on. Only the main component is available. The InRelease file for DiffOS trixie is published at https://deb.diffos.org/diffos/dists/diffos-trixie/InRelease for example.

DiffOS containers exists for (applicable) combinations of trixie, bookworm and bullseye for amd64, arm64, ppc64el and riscv64, including *-slim variants.

DiffOS cloud images exists for bookworm and trixie exists for amd64, arm64, ppc64el and riscv64 flavor, for the generic variant.

DiffOS live images exists for trixie and the amd64, arm64, ppc64el and riscv64 architectures.

Packages for DiffOS are developed using one project per package, available under the packages/ sub-group. Each package has a CI/CD pipeline building binaries. Resulting binaries are merged manually into the archive.

Lists of differences between Debian and DiffOS are continously monitored and summarized by debdistdiff.

Diffoscope comparisons of artifacts are planned.

Reviewing packages for branding and freedom concerns is likely to be a perpetual task. Inspiration and co-operation with Trisquel, Genuen, PureOS, Guix and other libre distributions will help here.

Automating repository import, merge and generation in CI/CD is planned, currently this is performaned manually.

Migrating runners, package and container registry to Forgejo codeberg.com variant is planned.

The main www.diffos.org website has been public since 2026-09-04.

Licensing

Packages distributed via DiffOS are licensed under various licenses, but are all believe to be free software and follow the FSDG guidelines.

On an installed DiffOS system, licensing information are available as /usr/share/doc/PKG/copyright replacing PKG with the relevant package you are interested in.

Any file in this project is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See the file COPYING or https://www.gnu.org/licenses/agpl-3.0.en.html for license text.