|
What is open source software
The term 'open source software' commonly describes software that is free and whose program code is openly viewable and modifiable. The term is frequently confused with the term 'open standards', which is an important concept in itself, but is very different from open source source. Consider as an analogy a highway system. A given country will generally adhere to the open standard dictating that opposing traffic flows to the left, or to the standard dictating that opposing traffic flows to the right. Note that there can be (unfortunately) more than one standard. Open source on the other hand can be equated with those highways that charge nothing for individual use, as opposed to toll highways which can be equated with commercial software.
The term open source software was first used to describe the release of the program code for the Netscape browser as open source, although other software had previously been freely available as well. Since then, a vast amount of code has been released as open source. The best known open source package is now Linux, and in fact, is often all that some people think is meant by open source. There is, however, an open source version of almost any type of software, not just an operating system like Linux. There are open source versions of search engines, relational databases, xml databases, word processors, office suites, graphics programs, content management systems, application servers, and of course there is the Apache web server, the most popular web server in the world.
Open source software, like commercial software, can be of varying quality. There is code that individuals have posted on their web sites for public use, there is code that has been submitted to open source projects like those at SourceForge, which acts as an incubator for open source projects. Some of the code there can be extremely basic and is designed simply to form a starting point for growing a new package. Some of the code on SourceForge can be extremely advanced and well developed, like the the Saxon XSLT Processor.
Some of the very best open source software is available through the Apache Software Foundation. Originally created to house the Apache web server project, it has grown to include dozens of projects. Some of the more popular are Tomcat, an industry standard servlet engine, used by BEA, IBM, Sun, etc., Struts, a framework for building complex web applications, Cocoon, an emerging standard for building XML/XSL based web applications, used by NASA, Hewlett-Packard, etc., Lucene, a full text search engine, Xindice, a native xml database, Xerces, the industry standard XML parser, Xalan, a leading XSL processor,
Among the many independent open source software packages available are Saxon, a very popular XSLT processor, Jaxen, an XPath engine for searching xml documents, MySQL, a widespread relational database, and so on.
You might wonder why open source exists at all. Why do developers make their source code and their programs freely available? If they are so good, why don't they charge for their use? Part of the answer, we feel, is that developers aren't businessmen. They don't know how to market a product, they don't know how to sell it, in fact can't handle any of the business functions. So, they end up employed by companies who can sell a product. The developers work namelessly to produce a piece of software that will make their employers wealthy. The developer is paid well, but nowhere near as well as the president, CFO, CEO, and so on. The result is that developers have little incentive to keep their ideas within the company. A developer is far better off writing a piece of open source software that will both make their reputation, and also probably end up making them far more money than they'd otherwise make for a company, in implementation contracts, books, and so on. The fundamental point is that it is impossible to keep developers from releasing their ideas and their expertise into the public domain. Which is, in the end, great for the developers and great for the software field, as it advances far faster than it ever could with a closed model.
 |
|