Open Source: Good and Bad
Essay by review • October 31, 2010 • Research Paper • 1,479 Words (6 Pages) • 2,052 Views
Open Source: Good and Bad
Introduction:
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 received an abundance of attention in the media because of possible copyright violations. I will discuss some of the probable scenarios regarding copyright violations with open source and how to protect ones self. Throughout this paper, I hope to shed some light on the use of open source and how beneficial it truly can be to a company.
Open source software and code can be a wonderful and vastly useful tool. In today's programming world, there is not much left in terms of new frontiers of programming. Most of the algorithms that programmers need have already been written. Why spend the time to rewrite a complicated algorithm or function when it has already been done and free for you to use? Luckily, other programmers have generously donated their time and money to provide you with free code. Before you dive in, there are a few details to be aware of.
Definition of open source:
The term open source refers to several different things. Sometimes it means a fully functional software program, available for free. Other times it is a C library, made available free of charge. For this paper, when I say open source, I mean the following: source code, in partial or complete form, with some form of public, free-of-charge licensing. 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.
Licensing Options:
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).
Many newcomers to open source software often wonder, "What happens if the developers suddenly up and move to Antarctica tomorrow?" There are a few reasons this is irrational. First of all, if you choose code with the right license, you are free to modify the code as you please. If worse comes to worse, take over the project and do something good for the community. If most of the code in your commercial software is obtainable at no cost, you might want to rethink that particular piece of software. In all probability, a company owning a commercial piece of software may unexpectedly disappear tomorrow, leaving you
...
...