Why am I blogging?
The reason is that I started working on OSS almost exactly 15 years ago. I had got a Sound Blaster 1.5 card few months earlier and decided to write a Minix driver for it. I knew that there was something called Linux (I had seen the famous message by Linus on comp.os.minix and I was studying at University of Helsinki at the same time with him). However it took several months before I finally got Linux to work with my SCSI disk (due to some IRQ assignment problems).
So I got the Minix driver working after few weeks of hacking. For obvious reasons it’s performance was not acceptable and playback was just clicking. Later in the summer I had got Linux installed and the driver converted for it. The initial version of the Sound Blaster driver for Linux was released at the end of August 1992. This was the beginning of my never ending odyssey with Linux/Unix sound.
Why sound and why Linux/Unix?
The story started about 15 years earlier during late 70’s. I heard a radio documentary about computer and electronic music. I was very impressed by the compositions made with Music V. I immediately knew it was something I would like to do. Then more than ten years later I saw a sound card made by some small Singapore based company called Creative Labs. I bought the cards immediately and the SDK couple of weeks later. That was in 1990 or was it 1991.
After some hacking under MS-DOS I found out that it was more challenging to get applications to talk to the card than it was to write the application itself. The SDK required use of techniques such as interrupts or callbacks. That was so lame that I had to start looking for some other approach. I had used Unix (HP-UX) since 1984 but the only alternative that worked in PC (that time) was very expensive Xenix. I had heard about Minux from my friends and decided to try it. Btw, there was some other guy who ordered Minix before me in the same bookstore in Helsinki and I think that guy was Linus (I didn’t know him yet that time).
After all the Linux sound driver got released. Initially it supported only Linux and the 8 bit mono Sound Blaster 1.0/1.5 cards (at that time nothing else was available). Then after a while a stereo card (Sound Blaster Pro) and a 16 bit stereo card (Pro Audio Spectrum 16) was introduced. Bit later came the Gravis Ultrasound one.
About the same time I found out that there were few other PC Unix operating systems such as 386BSD (or was it BSD386), SCO Xenix386 and Novell Unixware. It was natural to expand the Sound Blaster only Linux driver to support multiple sound card architectures and operating systems. The diver got renamed to VoxWare (I didn’t know that some startup company (that was later acquired by Netscape) had registered the same name).
In autumn 1995 I was contacted by Dev Mazumdar who had made a SB Pro (MCA) driver for AIX. Soon after that we decided to join forces and I become an eployee of Dev’s 4Front Technologies. Our initial plan to port VoxWare to AIX and start selling the product for AIX and the other commercial Unix versions. Part of the plan was to continue supporting OSS as an open source project for Linux and BSD. However our first announcement was actually for Linux. We released USS (Unix Sound System) for Linux during summer 1996. Unfortunately that name irritated the owners of Unix trade mark who suggested that we call it as Open Sound System instead. So OSS was born.
Now 15 years later we have finally released OSS 4.0 which is the biggest milestone in the history of the product. That means 10 years of work since the OSS/Free drivers that are (still) included in the kernel source tree were frozen. Majority of the API changes have been developed during past 5 years. It has taken 2.5 years to rewrite the core functionality of OSS to be compatible with the latest interfaces provided by different operating systems.
OSS 4.0 is very close to the original idea I had when I started working on sound drivers. It just took 15 years to get it done. Most of this time was spent on implementing drivers for dozens of sound cards and many different operating systems. However significant amount of stime has also been spent on working with the OSS application developers and on finding out ways for making their applications to work even better. But now it’s finished and OSS 4.0 is what it s. More about that later…