Open Source Software

team bbl


Open source means exactly what it saysthe source of the software must be open, available to everyone, not secret. The source is the program code that produces the functionality of the software (that is, the underlying program code that makes a spell checker check spelling and an address book store addresses). The source code is written in a known programming language, such as C or Java. Many people know this language. Therefore, anyone who sees the source knows how the program does its job.

Open source software provides the source with the software. The source is considered to be free, as in free speech. Anyone is free to use the program for any purpose, to modify the program, or to redistribute the program. No permission required.

The alternative to open source software is proprietary softwaresoftware that is exclusively owned by one or more individuals or by a company. The owner's permission is required for any use of the software. Many commercial software companies make a profit by owning the software and charging customers to use it. For these companies, the software is the company's product. The source code is the company's trade secret, the basis for its hopes of profit, an asset to be guarded. Much of the commercial software you are familiar with, such as Windows, MS Office, and Photoshop, is proprietary software. The company provides the software to those who pay for it in a format (binary code) that hides the source code. The software users can see what the software does (e.g., finds incorrect spelling) but don't know how the software accomplishes the task.

Most open source software development is organized as a project. Volunteer developers, often located throughout the world, coordinate their work via the Internet. Open source projects communicate with their users, and the world, via a project Web site where the software is available for download. The Web site also often provides information about the software and its developers, documentation for the software, a bug database and procedures for entering bug reports into the database, mailing lists or forums where users can discuss the software, and other related information.

Open source software development is open. That is, the software source is posted on the Web as it is being developed, available for any interested person to use or to work on. The users are a diverse group, with varying uses for the software and levels of skill in using the software, who have direct access to the developers through the Web site. The result is quick identification of bugs and problems, feedback on useful and not-so-useful features, bug fixes provided by users, and suggestions for new features and/or feature implementation.

Open source proponents believe that software produced by this processopenly, publicly, with a great deal of testing, input, review, criticism, and discussionis higher-quality software. The fact that developers are motivated by interest, rather than by employment considerations, is believed to increase quality as well. Some open source software has certainly succeeded well. Apache is probably the best known success story, a classic open source project that has succeeded quite well. Currently, Apache has approximately 67% of the Web server market. Linux as open source software is discussed later in this chapter.

Commercial software companies in the open source world don't depend on proprietary software for profit. Customers are charged for enhancements to the software or for services related to the software, as shown in the following examples:

  • Developing and providing bundles of software combined to work well together

  • Developing versions of the software with simple installation procedures

  • Providing technical support for users of the software

  • Providing consulting and programming expertise for the software

  • Providing modified versions of the software for special purposes

The only restriction is that the open source software may not be converted into proprietary software for any purpose. The source must remain open.

Users of commercial proprietary software expect a phone number they can call when they have problems. Users of commercial open source software can expect the same. This doesn't mean there is no help for users who download and install open source software themselves. Quite the contrary. Open source users support each other. Information is available from many sources, not just one. Mailing lists and forums for open source software abound on the Web where hundreds of knowledgeable users, often including the developers, voluntarily help newbies. When you ask a question on a mailing list, the answer often shows up in your mailbox within seconds.

Open source software releases are irregular and arbitrary. A new software version is released when the developers believe it's ready, often with little prior notice. A new version can be released in response to a bug or a security problem within a day. Users of open source software must keep themselves informed. Otherwise, a new version that solves an annoying problem or the identification of a security problem may go unnoticed.

    team bbl



    Spring Into Linux
    Spring Into Linux
    ISBN: 0131853546
    EAN: 2147483647
    Year: 2005
    Pages: 362
    Authors: Janet Valade

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net