Open Source: Good and Bad
In the following paper I will be discussing the use of open source software as part of a larger project. Example uses of this include incorporating existing publicly available source code within another piece of software. Because the term open source has such broad implications, I will attempt to explain it within the context of this paper. Open source code comes with many different licenses such as GPL, BSD, and MIT. I will describe the most popular licensing options and how they differ. Many companies believe open source software projects have an immense lack of accountability; this is simply untrue. Lastly, open source software has recently ...view middle of the document...
I do not mean using open source tools to write software. A good example of what I am referring to would be heading over to Sourceforge (1) and grabbing a couple hundred lines of code from the CVS repository of the Gaim Project (2) for use inside your project. Note that 99 percent of the time when you engage in this type of activity, you are required to also copy the license at the top of the code. Basically, the licensing information must always be copied with the source code, or you are in violation of the terms of the license agreement.
One could probably write an entire encyclopedia, documenting and explaining the various open source license formats available today. Considering most of these are written by teams of lawyers and span multiple pages, this comes as no surprise. While complicated at first, they really are not that bad. It is important to keep in mind that their main intent is to protect the rights of the original author, not to impede your use of the author’s code.
The most popular license is known as the General Public License (GPL for short.) This license places the software into the public domain with some restrictions. Additionally, all improvements or derived code must also be placed under the GPL. If you are planning on releasing software based in part on code obtained under the GPL, you must provide the source code for your version. You may charge a fee for this, but people are still allowed to buy a copy and redistribute it for free. Note that if you are building software for private use, you do not have to redistribute this private code. Using the aforementioned example, if you were to use a piece of code from Gaim in your program, you must release your whole project under the GPL if you wish to make your project publicly available.
Another very popular license is the MIT license. This is a very simple license that in essence states that you can do whatever you want with this code. You may include MIT licensed code into a commercial project as well. Note that the MIT license specifically articulates that if a MIT license program causes you damage, the author is not responsible. The only requirement is to keep this license with the code that you use. The popular BSD license is a slight variation on the MIT license (3).
The main difference between the GPL and MIT license is that the GPL is considered copyleft (4). Any changes you make to the code and release must be licensed under the GPL. The MIT license, conversely hand has no such provision. Anyone is authorized to download a large MIT open source project, change one line of code, and sell it for two million dollars. Companies looking to use open source code in their commercial projects should probably attempt to find code licensed under MIT. Companies developing software for in house use can utilize either. Google is a great example of a company using modified GPL code in a private circumstance (5).