What Is Open Source Software?
Open-source software (OSS) refers to software whose source code is freely available to the public. This means anyone can access the code, copy it, or even modify it for their own purposes. If you find an OSS close to what you need, it's easier to code a few changes and additions then to start coding from scratch. The only catch is that you have to send your modified code back to the developers who may choose to integrate your changes or share your version with others. This means everyone benefits from modifications.
The Principles Behind OSS
This system is based on the idea that we should be able to own our software and do whatever we want with it. We should know what's in the software that we use and what it does. This may require programming knowledge, but we should still have access to that information, even if we need someone else to understand it. Our software should also not be designed to spy on us or record our information for third party use. Code should be shared so others with different sets of knowledge and background can help improve upon it. And having many sets of eyes means it's harder to sneak in viruses or spyware.
The Other Side of the Coin: Propriety Software
Propriety software is owned by one company or person, and you have access to this software if you have a license. Sometimes you can get these licenses for free, referred to as "freeware," but you don't own the software and you're not allowed to change it in any way. This may not seem like a problem for someone who doesn't plan on changing the source code, but it means you won't know if the code contains spyware, viruses, or any other unwanted features. And if the code messes with your computer, even if you know how to fix it, you can't.
The Advantages of OSS
Its malleability is a huge plus. You are able to repair and modify the software to fit your needs. You also know exactly where your data is going. If for some reason your program is no longer available, it's easy to transfer your data to a new program because they usually use file formats that can be opened with other software. Any program that is abandoned by its creator has a high probability of being picked up by other programmers, especially if it's a popular code.
It may seem like a security risk to allow anyone to make modifications to code, but larger OSS projects have its code carefully reviewed by a large number of people and have a strict code-reviewing process which includes wariness about who contributes new code and the ability to place limits on where people can contribute.
So, What Does This Mean for You?
- Security - Open source software like Drupal, for example, is supported by a community of thousands of developers that keep an eye on security, allowing necessary security patches to be uploaded rapidly. Many open source applications include strict user permissions where content and/or areas of the website can be restricted based on user roles. These features make enforcing the HIPPA Privacy Rule and other security laws that much easier. And having access to the code means you and your team can look for unwanted spyware and viruses.
- Cost - Open source saves time and, as a result, saves on money. Because the code is available to the public, there is no licensing fee or other usage fees. Some developers may charge a fee for support features, but the cost is still considerably less than most propriety software.
- Compatibility - With the ability to edit code, open-source software is incredibly flexible. The software can be combined, separated, or organized in a way that best fits the needs of your company. Drupal also handles heavy traffic and large websites well (like WhiteHouse.gov!). So, as your company grows, it's easy for you to adapt your code to your needs.
Some information is taken from Ezequiel Bruni's article Understanding Open Source Software, and How it Makes You Money Online