Puck is joining Spectrum as a paid Wayland developer
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/... [4]: https://github.com/NixOS/nix/issues?q=author%3Apuckipedia+is%3Aissue [5]: https://github.com/mastodon/mastodon/releases/tag/v3.4.6
participants (1)
-
Alyssa Ross