Unix and other Open Standards:
A Free Market for Software


AIX Cygwin FreeBSD Linux Mac OS X NetBSD OpenBSD QNX Solaris

General

Home
More about POSIX
Open standards
Robotics on Unix
Acadix Consulting Site

Free Unix Software

Office

OpenOffice
LibreOffice
AbiWord

Internet

FireFox
Thunderbird

Graphics and Animation

Blender
FreeCAD
GIMP
Inkscape
Scribus

What's POSIX?

POSIX (Portable Operating System Interface based on uniX) is an open standard that defines the way programs interact with the operating system and hardware. It allows programs to be written in a way that is almost completely independent of the operating system vendor, and even the type of hardware. For example, programs written on a Sun Sparc system running Solaris many years ago can be compiled and run with little change on a PC running FreeBSD or Linux today.

Seeing many proprietary operating systems come and go over the years has made me realize the importance of open standards with respect to programmer-hours invested in a project. Many programs written for proprietary systems have little value when those systems fade away or evolve into something new.

Typical in-house computer software represents a company investment of thousands of man-hours and hundreds of thousands of dollars. No one likes to see their investments go down the drain.

The POSIX standard protects this investment by defining a standard Application Program Interface (API) which is constant across different vendors, different hardware, and also over time. As a result, programs written for any POSIX-compliant platform can be easily adapted to run on other POSIX platforms both now and in the future. By writing programs for POSIX platforms, you ensure that the time and money you invest will continue to pay off well into the future, and also that you, or your company, will never be shackled to a particular hardware or software vendor.

Which operating systems are POSIX?

The POSIX standard is based on Unix(r), which was designed from the beginning to be portable to various types of computers. There is a huge number of POSIX compliant platforms in existence today, running on virtually all types of computers from micro-controllers to PCs to large mainframes. Wikipedia offers a good introduction for the layperson.

Most operating systems under active development today are POSIX compliant. With the introduction of Mac OS X (which is based on the Mach kernel and FreeBSD, both POSIX systems), Microsoft Windows is now the only remaining mainstream operating system that does not comply with the POSIX standard. Microsoft does offer a POSIX support add-on module which minimally meets the POSIX API specifications, but this module is of little use to most users without the tools and other features common to other POSIX operating systems. In other words, it falls far short of allowing you to port your favorite Unix applications to Windows.

There are many POSIX operating systems available completely free of charge, which can be downloaded an installed on any modern PC. The most popular of them are the BSDs and Linux. These are powerful, full-featured systems, comparable to commercial Unix systems in many ways, and even superior in many respects. In fact, much of the Internet depends on these free platforms. For example, Yahoo! uses primarily FreeBSD for its servers, and Google uses primarily Linux.