--Reprinted with permission by Chasing Gremlins LLC--
First of all I’d like to mention that there is a slight difference between Open Source Software and Free Software. In general they both have the source code available, both are free and both have licenses that give freedom to the users. There only seems to be minor licensing and philosophical differences. For simplicity sake I will use “open source” as a blanket term for any software that both has the source code freely available and licensing that doesn’t restrict the user for either personal or commercial use.
So what is open source software? Before I can answer that I should explain what “source code” is. Source code is the program written in whatever language the programmer chooses to create his/her application in. Examples of programming languages would be Java, C, C++, Python, Javascript(very different from Java,) HTML, PHP etc. This list could go on and on. Some languages like Java, C and C++ are compiled, meaning another program reads the source code and converts it to a file of binary commands understood only by the computer. Most .exe files on a Windows computers are created in this way. If you tried to view the contents of the file with notepad or a similar text editor then it would look like a bunch of undecipherable symbols, even to an experienced programmer. Having the source code freely available gives the user a kind of blueprint of the program. If that user is familiar with the language then all kinds of information regarding the construction of the application can be understood, and if he/she is really brave and knowledgeable then bugs could be fixed or features added. So to be considered “open source” the software should have the source code readily available, usually on the Internet but could also be available by mail on request. This was especially true in the early days of open source software when the Internet was not as ubiquitous as it is today. The other big requirement is licensing that does not restrict the use of the software while at the same time protecting it from being appropriated and closed by another programmer or corporation. In other words someone can’t just take it and then patent it so no one else could use it.
The history of open source software starts in 1983 with the formation of the Free Software Movement which was a social and political movement that outlined the basic freedoms that every user should enjoy. This led to the formation of the Free Software Foundation, a non-profit organization dedicated to promoting the goals of the Free Software Movement through advocacy and education. In 1998 the term “open source software” was coined by individuals who differed philosophically from the Free Software Movement. They thought that the FSM was too political and not practical enough. Also they were worried about alienating commercial interests with philosophical rhetoric. Today members of both camps often work in tandem to create stable and helpful software that anyone can enjoy.
“Why use open source software?” one may ask. The obvious first answer would be “Duh, it’s free, you mook!” However, the benefits of using free and open software go well beyond the price tag. Yes, the economic boons are considerable but there are also issues of security and stability that should be understood. Since the source code is freely available anyone who knows the language (very often it is C but not always) can study the code and fix any bugs that might be floating around. Because of this open source software, especially software that has gone through several “versions,” tends to be very stable and usable. Open source software is often extremely secure for the same reasons. I’ve heard arguments that because the source is free and open that the software is inherently insecure. This is actually a false claim and probably comes from a basic misunderstanding of how open source software works, especially compiled software which cannot be changed(not easily anyway) without recompiling. Aside from the practical benefits to open source software there are also many social benefits. Anyone who wishes to gain a deeper understanding of how a program works or how to code better only has to peruse a vast library of code written by perhaps the best developers on earth. Many non-profit and charitable organizations have been able to use more funds for the actual cause because there are no royalties or licensing fees. Children in the poorest regions of Africa have access to laptops because of the cost effective nature of free and open software. Also, open source software is a byproduct of the Free Software Movement which advocates the idea that all information should be freely available to anyone who wishes. This is essentially free speech and ties very closely to the concept of freedom of information.
The disadvantages of opens source software are few but the most notable is the difficulty in implementing it in conjunction with a business model. This would only apply to producers of the software not end users. Say you own a startup and have an idea for an application that would be very useful and you also want to license it as open source. You have to pay developers to create the software(at least at first) but the motivation to buy the software would be mitigated by the fact that anyone can get it for free. Usually providing a pre-compiled version is not required so you could have people pay for that but there is also nothing stopping someone from compiling it and offering it for free. The most successful creators of open source software have made their money as a service rather than a commodity. Canonical, the corporate backer of Ubuntu, the most successful version of the Linux operating system, provides support for just about any aspect of their software for a fee. They also provide cloud and storage services. So the difficulty is there but certainly not insurmountable.
No matter how you look at it open source software and the open source model(which extends well beyond software) are here to stay. You may not even realize it but you use it every day. Anytime you visit a website there is about a 7 in 10 chance that it is running on an open source webserver. If your smart phone is Android then you have a phone built on Linux, the greatest success story of open source software. Chances are you have some programs floating on your computer that are either completely or partially open source. The next time you sit down at your desktop or laptop, stop for a second and consider how your life has been improved by this simple yet revolutionary concept.