This was me, thinking I would definitely sit down and write a perfect OpenAL implementation that handles all cases and platforms.
So I sat down in a coffee shop for an hour or two and completely overengineered the basic interfaces.
I poked with this a little more after that, probably, but even before you know you painted yourself into a corner...you already know.
In later years, I built MojoAL where I did this right: I assumed it would only ever be a software implementation, I had SDL do all the heavy-lifting where possible, and trimmed all possible bulk.
We learn a lot over time, making a lot of mistakes along the way. This repo is just here for historical purposes, and perhaps as an example to others. :)
--ryan. (icculus@icculus.org)