Join the Qubes OS Team!

The Qubes OS Project is seeking individuals for the positions listed below. If you’re interested in any of these positions, please send an email to Marek Marczykowski-Górecki.

Besides the positions below, there are many different ways you can contribute to the Qubes OS project.

Stable release manager

General tasks

  • Deciding what will be fixed in each stable release and what will be fixed only in new major releases
  • Backporting fixes to stable releases (and requesting core dev input when it isn’t trivial)
  • Releasing packages for stable release (deciding when the package should be released to the current-testing repository and when it should be moved to the current repository)

As this position involves great trust and may have major impact on project security, we’d like for the candidate to be already known and active in Qubes OS community.

Core developer

General tasks

  • Actual debugging of issues
  • Writing new features
  • Writing tests
  • Writing developer documentation (API, etc)
  • Providing input for community contributors when requested

Required and optional skills

  • Python
  • Shell scripting
  • System configuration (basic services, startup scripts etc)
  • Git, make
  • (Optional) networking, firewalling
  • (Optional) X11 protocol (raw)
  • (Optional) GUI frameworks (Gtk, Qt)
  • (Optional) kernel and/or hypervisor debugging skills
  • (Optional) low level stuff (UEFI, PCI communication, including IOMMU, networking down to ethernet layer, Xen backend/frontend interfaces)
  • (Optional) libvirt internals
  • (Optional) salt stack
  • (Optional) advanced desktop environment configuration, including writing plugins (KDE, Gnome)

The more “optional” the better :)

Example features for implementation

Smaller

Larger

Qubes Live USB Maintainer

Required Skills

  • Shell
  • Python
  • Bootloaders (grub2, isolinux)
  • initrd creation (dracut)
  • Kickstart (automated installation – basics are enough)
  • A general understanding of Qubes OS ;)

GNOME Desktop Environment developer

Tasks

Example Tasks

Listed here: #1806

Required Skills

  • GNOME
  • GTK
  • Whatever is needed to customize GNOME