-
Notifications
You must be signed in to change notification settings - Fork 465
Description
A bit of history of cpal
@tomaka has created the cpal library a over decade ago1, as a library to provide an abstraction layer over the different audio backends of the operating systems. In fact, @tomaka is one of the giants on whose shoulders the Rust community is standing, having created multiple projects, many of which have become key libraries for their categories, like rodio, glium, glutin, winit.
In 2018 (I think, I don't have precise records), @tomaka has added @mitchmindtree as a co-maintainer. Eventually, in 20192, it was moved into the RustAudio organization. It was due to @tomaka having less time to dedicate for his old projects as he focused on his new job.
A bit of history on me
I have been fascinated with audio since the start of my involvement in Rust. In fact, some of my first projects were an ogg and vorbis decoder (ogg and lewton). A bit after their creation, I have moved the projects to the RustAudio org.
The first PR I merged in cpal was in August 2019, 6bf00f1. Initially @mitchmindtree and me maintained cpal together, but as he stopped maintaining, I was on my own.
Of the projects mentioned above, I've also become maintainer of glium and rodio.
I have a full time job in Rust now that I really love, and it needs a lot of my time. So my situation is similar to the one @tomaka was in.
cpal maintenance now
In fact, I'd say that over the last 2-3 years, I haven't been a good steward of cpal. I've left PRs unreviewed, didn't respond to people making PRs, etc. People became frustrated, closed PRs, etc. And, of course, I'm not paid for cpal, especially not by the folks opening PRs, so they can't expect anything, but their emotions are also justified. I'd become frustrated too if nobody read my PR for months and years. I'm not happy about this, and I'm sorry!
call for maintainers
As explained, the need for a maintainer exists for a longer time already. But today, with the 0.16 release, I want make an explicit public call for maintainers of cpal. Please reach out to me via the rust-lang zulip (est31) or via this github thread.
maintaining cpal
Maintaining cpal is not easy. A lot of people rely on it so the ability to do damage is there. PRs might not contain actually good solutions to a problem. It's very low level code. If you are a single maintainer, you need to be expert for audio libraries for multiple operating systems. Ideally the burden is shared among a group where each person can specialize. In fact, part of why I am not a good maintainer is that I know surprisingly little about them.
On the other hand, positive contributions can also reach a lot of people and improve their software by improving cpal. Maybe some might even be convinced to adopt Rust for their projects.
my future in cpal
Ideally, after a transition period, I'd walk away completely from being a maintainer and hand it over. I sadly don't have the time. If folks prefer to co-maintain with me, that is a possibility as well.
thanks
I want to thank @tomaka for giving life to this amazing library, @mitchmindtree for having been a great maintainer, the contributors, issue reporters, and everyone who chose to adopt cpal for their project.
Footnotes
-
the first commit is from 2014 ↩
-
Publish version 0.11.0 #353 from Dec 2019 updated the URL in git, Wayback is still pre-redirect in January 2019 ↩