The Open Source Initiative (OSI) are the stewards of what is generally considered to be the definition of open-source software. Open-source software is distributed under a license that grants the rights to use, study, change and share the software. These software freedoms are what open-source software is all about.
Some of the properties that open-source software provides are:
Open-source software can be freely installed on as many computers as you like, and often it will run on a very wide range of different platforms. With the right expertise you can change what the software does, and how it does it. This allows a level of customisation not normally available in other types of software.
With open-source software the development and maintenance costs are shared between the companies and individuals that are involved with each project. The result of this is reduced costs for each individual company, and software that is overall more cost effective when it is compared to software that is owned and maintained by a single company.
One of the defining features of open-source software is that the source code for the software is freely available. This means you can inspect the program to see what it does, which can provide some reassurance that the program is not going to do anything deceptive behind the scenes. Open standards, and the ability to see how a program stores its data, remove the chance of vendor lock-in.
Companies and individuals from around the world get involved in open-source projects. The collaborative development model lets people work together to create software that benefits everyone. It also means that an open-source project is not fully reliant on on a single company.
Changes to the source code in a project are made to improve or extend the software. In well managed open-source projects these changes are reviewed based solely on quality criteria. Things like a companies bottom line, or a release date, are not factors that influence whether a change or feature gets included.
The freely available source code means that the program can be inspected by anyone to see what it is doing, and how it is doing it. Audits of the code can be undertaken, and flaws and defects can be found and reported by anyone working with the software. In active projects any security problems are generally quickly fixed, as it is not possible to use security through obscurity to hide an issue in open-source software.