Puck is joining Spectrum as a paid Wayland developer

Alyssa Ross
2022-04-16T09:27:30Z

[-- Attachment #1: Type: text/plain, Size: 5274 bytes --]

Since I started working on Spectrum, one of the things I've been most
excited about has been the potential of Wayland and related
technologies to provide a level of integration and cohesion that
hasn't been seen before in a compartmentalized operating system. It's
the main thing that people who are aware of Spectrum but are not
closely following its development know the project for. But people
who /have/ been following my work closely will have noticed that I
haven't had much to say about it for a while.

My original grant agreement covered some basic Wayland functionality.
With that funding, I was able to learn about, run (to my knowledge,
for the first time outside the context of Chromium OS development) and
experiment with virtio wayland. I produced documentation and a
portable demo, that helped give other developments like Thomas's
wayland-proxy-virtwl[1][2] their start. We're on a solid track to
have basic Wayland functionality for applications running in isolated
VMs, including things like inter-application copy/paste, and possibly
optional GPU acceleration.

But to have a system that provides the level of security I want
Spectrum to have, there's still a lot of work to do. New protocols
need to be designed, discussed, and implemented, not just in Spectrum,
but in the Wayland ecosystem in general, to make it possible to do
things like identify which application a Wayland window belongs to, or
manage access to the clipboard. None of this is so big it's
infeasible for Spectrum as a project, but it's a big time investment
not covered by my original grant agreement for Spectrum, and so I've
been shying away from it in favour of work with a more immediate
return on investment, like my recent work creating an installer and
live image for Spectrum, or figuring out how VM configuration will
work.

Recently, though, the stars aligned in a way that mean we should be
able to make a lot of progress on these bigger Wayland developments
much quicker than I was otherwise expecting. After a couple of months
of working to make it happen, I'm so excited to finally be able to
announce that we have secured a modest amount of additional funding to
enable Puck Meerburg to work on Spectrum with me, focusing entirely on
Wayland work. She will be designing the protocols we need, producing
reference implementations, discussing them with upstream with an aim
to get them standardised, and so on. One of the most exciting things
about the work we have planned for Puck is that none of it is
Spectrum-specific. In keeping with the general development philosophy
for Spectrum, we want to move the ecosystem forward for everyone,
rather than developing Spectrum-specific hacks that would be useless
if the project ever wasn't able to continue.

Puck is the ideal person to be working on this. She was already our
resident Wayland expert, being able to answer just about any question
I had when doing Wayland work, and even providing some patches of her
own[3]. She has experience with standards processes through her work
on ActivityPub. She has an amazing talent for finding bugs — just
look at her list of Nix discoveries[4], and experience doing security
researcher — she recently discovered a "critical"-rated security issue
in Mastodon[5]. And she's proven over and over her ability to jump
into an unfamiliar problem space and diagnose an issue at an amazing
speed. I'm confident that having Puck spending a lot of time working
with Spectrum is going to be a huge boon to the project even outside
of the Wayland work she's specifically funded to work on.

A final note: the grant funding for both Puck and myself expires at
the end of September. What happens after that point is yet to be
determined. Given the level of donations I currently receive, unless
there's a sudden drop in my donation income, I'll should still be able
to spend at least most of my time working on Spectrum, regardless of
what happens with other funding sources.

As I've said before, donation income is also extremely important to
provide a level of stability and flexibility that grant funding just
can't — it's important to know that I'm not going to be broke because
it's taking longer than expected to implement something, or there's
something unanticipated I need to do first that I don't have funding
for. It would be really helpful if we could get some of that
stability and flexibility for Puck as well, especially looking towards
what happens once our grant funding is up. So Puck is now also
accepting donations, and if you'd like to help Spectrum push forward
Wayland security, please consider sponsoring her.

https://github.com/sponsors/puckipedia

I'm so excited for where things go from here.

[1]: https://github.com/talex5/wayland-proxy-virtwl/
[2]: https://roscidus.com/blog/blog/2021/03/07/qubes-lite-with-kvm-and-wayland/
[3]: https://spectrum-os.org/git/nixpkgs/tree/pkgs/os-specific/linux/chromium-os/sommelier/0011-sommelier-use-stable-xdg-shell-protocol.patch?h=8f34d0d679ed15bc04dc3aa5f1f8777a2a110e34
[4]: https://github.com/NixOS/nix/issues?q=author%3Apuckipedia+is%3Aissue
[5]: https://github.com/mastodon/mastodon/releases/tag/v3.4.6

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]