Main Menu
Login
Username:

Password:

Remember me



Lost Password?

Register now!
Search
SmartFAQ is developed by The SmartFactory (http://www.smartfactory.ca), a division of InBox Solutions (http://www.inboxsolutions.net)

What is Open Source Software (aka OSS)?
Requested and Answered by Gene Amtower [pcbgene] on 25-Feb-2009 12:27 (3076 reads)
Open Source Software (we will just call it OSS later) is a fairly recent term that means several different things to different people. I'll attempt to give an explanation from my viewpoint, but understand that others may have different opinions on what it means, depending on their industry and focus.

To explain OSS, it is necessary to highlight how it differs from another term - Commercial Software, sometimes referred to as Commercial Off-The-Shelf (COTS) Software, meaning you can typically purchase it from a product shelf in a store. In this case, a software company goes through the process of developing a software product for selling to customers by following a design process internally that culminates in a packaged piece of software for sale to consumers and businesses. In this case, the resources involved in this process are provided by the company wishing to sell the software for a profit, so the company pays attention to how much cost goes into the software because this determines how much they will need to charge in order to make a profit on developing and selling it. Because they experience a cost to develop this software, the "source code" that results from the development process is usually considered the "intellectual property" of the company, and they protect it carefully to prevent others from seeing anything beyond the functional view of the product. Think of it as "Closed-Source" for our discussion.

In stark contrast, OSS is usually developed by a loose community of people around the world who share a common interest in the software but are not working directly for a single company. Often times, these people are employed by various companies that have an interest in the results of the development, but the development cost is spread widely across many individual resources. As a result of this shared effort, the developed program "source code" that is created from the process is shared outside of any single corporate entity. Hence, the term "Open-Source" is attributed to the product. In essence, it is not owned by any single company or person, so there is no reason for it to be protected from anyone's eyes, so it is available for anybody to see and review.

In fact, one of the benefits usually attributed to OSS is that the visibility of the "code" across many different developers results in a more thorough examination of the "source code" for issues and defects. This effect occurs not only because the "code" is being developed by disparate people around the globe, but because potential users have the ability to also access the "source code" and generate a functional instance of the software at any time during its development process.

As the development progresses towards a usable piece of software, users can choose to use it in a real-world situation with the realization that they may encounter problems that have not yet been discovered. This results in a large body of volunteer "testers" who use the software productively while it is still being developed. (There are varying reasons why somebody might choose to take this risk, but usually the new version offers some improvement over any previous versions of the software.) There is typically a reporting process to allow errors and bugs in the program to be communicated back to the development team so that somebody can address that particular issue and resolve it. Different OSS teams on various software projects will react differently to the user feedback, but it is usually taken very seriously due to great pride in their efforts.

One additional difference in OSS has to do with the process of announcing a particular development version as "finished" and ready for use. (This is usually referred to as releasing a stable version.) Note that commercial software involves a tremendous up-front investment for the development process before any income is produced by the sale of the software. Because no single company is depending on OSS software being finished and sold for a profit, there is typically less focus on a fixed schedule of releasing the stable version. So, OSS software developers tend to focus more on finishing partiucular features that are important and resolving any issues found from testing rather than meeting a particular release date for financial reasons. For these reasons, the OSS development process can allow for appropriate time to insure a more stable software package without risk to any release schedule.

One additional advantage of OSS software is related to the fact that versions are not being sold for a profit. Because commercial software must sell a particular number of copies before they begin to realize a profit, there is some advantage to not releasing new versions too closely together. Since OSS does not require the recouping of any investment, versions can be released at any interval without regard to financial impact. In some cases on active project teams, this results in very frequent releases of new stable versions of that particular software product.

I hope that explanation helps somewhat - I'm sure we will be hearing more from Open-Source Software as the process results in more and more usable software packages for regular users.


The comments are owned by the poster. We aren't responsible for their content.
Hosted by PC Backup © 2009 PC Backup Networks