Open source defined
Faithful readers may have noticed that from issue 127 our Unix column changed its title to Open Source and is now featured every month rather than every other month. This means we can now cover open-source software (OSS) that runs on Windows machines as well as on big, scary Unix boxes, which indeed much of it now does. More and more, open-source developers are targeting Unix/Linux, Mac OS X and Windows when writing their code, rather than aiming at just one of these platforms. We thought we would start by looking at exactly what OSS is and, in the process, dispel a few myths and provide ammunition for those of you who are trying to get your organisation to use open-source products alongside commercial offerings.
OSS is exactly what the name suggests: software for which the source code is freely distributable. In other words, you can download the source code, compile it and run it at no charge. (For Windows users, there is almost always a pre-compiled version available, since compiling software to run under Windows is not for the faint-hearted. Even so, the source will be available if you want it.) The licence under which the software is distributed determines what else you can, or must, do with that software, beyond compiling and running it. For instance, the GNU General Public Licence (GPL) says that you have the right (actually, the ‘freedom’) to run the resulting program for any purpose; the right to study how the program works, and to modify it; the right to redistribute copies of the program (including the right to charge money for it); and the right to change the program and release such changes to the public.
The GPL does, though, require that if you release any modified version, that you make the source code of this version available. This is often referred to as the ‘copyleft’ clause. So, for example, networking hardware manufacturer Linksys, which incorporates GPL firmware in some of its products, is required to make the source code for those products available, which it does via www.linksys.com. That, in turn, means other firms can produce (and have) modified versions of Linksys’ firmware, adding new features and tweaking others. There are many other open-source licences around. For a reasonably complete list, check out the Free Software Foundation’s licensing page at www.fsf.org
Linksys is just one example of a successful company that’s used OSS to its advantage. By deploying parts of the Linux kernel and other open-source programs, the company’s engineers didn’t have to start from scratch when developing their products; instead, they could use what was already available as a stepping stone, modifying and building on it as they needed.
Another great example is Apple Corporation. From the Darwin kernel to the Safari web browser, Apple is embracing OSS with a passion. Safari is, indeed, a terrific example of how using OSS benefits both the company and the community as a whole. When Apple decided to write its own web browser, it started off from KHTML – a relatively obscure, but well-written HTML rendering engine used by the Konqueror web browser – rather than starting from scratch. Under the copyleft clause, Apple must release any changes it makes to KHTML back into the open-source community, so that as Safari improves so does Konqueror and any other browsers based on KHTML. Apple wins because it was able to build on an already very capable rendering engine; and the community wins since there is now a team of professional developers working on the project and releasing their improvements back to the world at large.