Open Sound System

It is based on standard Unix devices system calls (i.e. POSIX read, write, ioctl, etc.).

The goal of OSS is to allow the writing of sound-based applications that are agnostic of the underlying sound hardware.

[3] The API is designed to use the traditional Unix framework of open(), read(), write(), and ioctl(), via device files.

This was changed when Luigi Rizzo wrote a new "pcm" driver for FreeBSD in 1997, and when Jaroslav Kysela started Advanced Linux Sound Architecture in 1998.

[8] In 2002, Savolainen was contracted by the company 4Front Technologies and made the upcoming OSS 4, which includes support for newer sound devices and improvements, proprietary.

[8] NetBSD supports a compatibility mode for the OSS API, by providing the soundcard.h header file and the libossaudio library, which internally operate using the native Sun-like audio interface.

[14] ALSA also has a aoss userspace program that works by intercepting systems calls directed to the OSS device files.

[16] OSS both as API and as software has been criticized by some developers, such as Paul Davis (of JACK Audio Connection Kit) and Lennart Poettering (of competing PulseAudio).