- Free Redistribution: The software can be given as part of a package with other applications;
- Source Code: The code must either be distributed with the software or easily accessible;
- Derived Works: The code can be altered and distributed by the new author under the same license conditions as the product on which it is based;
- Integrity of the author's source code: Derived works must not interfere with the original author's intent or work;
- No discrimination against persons or groups;
- No discrimination against fields of endeavor: Distributed software cannot be restricted in who can use it based on their intent;
- Distribution of license: The rights of the program must apply to all to whom the program is re-distributed without need for an additional license;
- License must not be specific to a product; Meaning that an operating system product cannot be restricted to be free only if used with another specific product;
- License must not contaminate other software; and
- License must be technology-neutral.
Open source software is developed with the source code freely available; anyone can use the software, and make changes to it as necessary. Typically changes are then made available back to the open source community using a common methodology for change control. In contrast to open source, most software development companies sell their products at a specific cost, but do not allow the user to see or modify the source code.
The advent and acceptance of open source software represents a significant shift in the software development and procurement cycle. It is sometimes difficult to think of downloading a free version of software from the Internet and then using it in a mission-critical environment rather than buying software from a major software vendor. There are arguments to be made that open source can be a better choice for some mission-critical implementations than closed source. The following are some potential reasons for choosing open source:
- More secure due to the extreme scrutiny of the source code before being deployed;
- Can be run in multiple environments (i.e. Unix, Linux and Microsoft);
- May be less expensive to manage (no maintenance contracts or upgrade costs); and
- Often less vulnerable to viruses.
Open source software solutions span a broad range of technologies from productivity suites (Open Office, http://openoffice.org) to web browsers, data bases, security tools, and somewhat more specific applications, like time and reporting software. It is possible today to run a fully open source desktop and still be compatible with many closed source applications.