What is Open Source Software?

From CompSciWiki
Jump to: navigation, search

COMP1260 > System Software



Introduction

Open Source Software (OSS) is computer software for which the source code is available to the public. This means that the copyright license of computer software permits users to use, change, and improve the software. OSS is often developed in public, collaborative manner. The development of software as Open Source improves its quality, reliability, and flexibility. OSS is a future trend in software development.

Example.jpg

 

...by students

Open source software for Games.

Recent years, some game companies begin to contribute on OSS. They allow testing players (They are the players who have permission to test the game) to view a part of game’s source code before the final version release. These players could play the incomplete game, and modify the current game version by changing the source code. Then, the game companies will adopt some suggestions which come from testing players, and improve the current game version. I think that is a good way to promote the development of games by using OSS.

Definition

What is Open Source?

Open source is a development methodology, which offers practical accessibility to a product's source (goods and knowledge).

What is Open Source Software?

A prominent Linux operating system developer, Bruce Perens, gives the definition for open source software as: "Open Source Software must be distributed without royalty that the distributor must make the source code for the software freely available, and the derivative works from the code must also be released as open source." (Bruce Perens, 1997). People can view the source code for reference or study purpose. On the other hand, proprietary software is not free for viewing the source code.

What software can be considered as open source software?

Open source doesn't just mean access to the source code freely. The Open Source Initiative (OSI) gives the Open Source Definition, which is used to determine whether or not software can be considered as open source software. The following is the criteria of open source software, which is written and adapted primarily by Bruce Perens:

  • 1. Free Redistribution
  • 2. Source Code
  • 3. Derived Works
  • 4. Integrity of The Author's Source Code
  • 5. No Discrimination Against Persons or Groups
  • 6. No Discrimination Against Fields of Endeavor
  • 7. Distribution of License
  • 8. License Must Not Be Specific to a Product
  • 9. License Must Not Restrict Other Software
  • 10. License Must Be Technology-Neutral


You can read more detail from Open Source Initiative website, http://opensource.org/docs/osd.

History

The free software movement was launched in 1983. It can be considered as predecessor of open source software. Some programmers advocated that replace the term free software with open source software in 1998, because the term OSS is less ambiguous and more comfortable for the corporate world. Therefore, OSS was known by more and more people.

In the course of the development of OSS, there are two organizations make a significant contribution to improve OSS. The first one is Free Software Foundation (FSF), which was founded by Richard Stallman on October 4, 1985. The FSF distributes and modifies computer software with restriction to support free software movement. The second one is Open Source Initiative (OSI), which was formed in February 1998 by Eric S. Raymond and Bruce Perens. The OSI sought to bring a higher profile to the practical benefits of freely available source code and bring major software businesses and other high-tech industries into open source.

Current Open Source Software

Like most software, OSS also has the copyright. Open source software license is used to protect OSS copyright. OSS licenses contain a number of restrictions, such as the protection of open source status, the protection of author's identity, and the protection of control for software development. In addition, open source software includes software with source code in the public domain and software distributed under an open source license. OSS gives users the right of freedom; everyone can use, modify and improve the software. OSS includes the source code itself and development process, that means free distribution of source code, the modular system and market-development. Anyone can reuse and distribute OSS for supporting public interest or for personal purpose. In a sense, "open source" is a new innovative idea which is used by public. Furthermore, OSS is widely used in many areas. At the same time, OSS has some advantages and disadvantages as following:

Advantages

1. Reduced dependence on software vendors

The dependence here means reliance on the vendor for maintenance, support, and the necessity for the buyer to accept version upgrades that the buyer may not need or want. Sometimes, in order to achieve some functions of current software, users have to accept version upgrades for the current software; but, with the help of OSS, older versions of open source products continue to be supported through the open source community. Therefore, OSS reduced the dependence on software vendors.

2. More flexible for users

Users' contribution makes more flexible technology and quicker innovation for software. Users are the independent programmers who can test and fix bugs for open source software; they can cooperate with different programmers in order to modify and add new abilities to the current software. With the effort of those users, high quality open source software can be implemented quickly and inexpensively.

3. Lower cost

Most types of software need costs for administration, support, software license, and annual maintenance, but these costs could be minimized by open source. Actually, when users are using OSS, each user can be considered as an administrator, who can manage, debug, and fix problems for software. So, comparing to proprietary software,OSS does not require professional programmers do maintenance work, it is a way to save money for hiring fees.

Disadvantage

1. Weakness ability

Some software experts and researchers do not believe that open source software has enough ability to produce quality systems identify the unclear process, so the late defect discovery, and the lack of any empirical evidence could be the most important problems of OSS. In the business area, it is also difficult to design a commercially sound business model around the open source paradigm.

2. Security

Security is an important issue for open source software. OSS allows everyone to view the source code, which is also includes potential attackers. Hackers might be able to find the weaknesses or loopholes of the software more easily than closed-source software. However, having many users look at source code does not guarantee that security flaws will be found and fixed.

Now, there are pros and cons of open source software, at the same time, the development process of OSS is moving forward. Open source software brings a democratic way of development; it encourages some behavior, and restricts other behaviors. Therefore, many new good and innovative ideas can be shared by people, and open source software and open source can be considered as new political philosophies.

Future

Open source technology has matured, the development of open source software is growing rapidly as more and more people are using it. But OSS is still need to be improved. In conclusion, the prospect of open source software is bright; we need more effort and innovation to improve OSS.

Development tools

Here is list for some development tools; you can use them if you are interested in contributing to the development of open source software:

  • Concurrent Versioning System (CSV)[1]
  • Subversion (SVN)[2]
  • Instant messaging[4]

Futher Reading

  • Lui, K.M.; Chan, K.C.C. (2008). Software Development Rhythms: Harmonizing Agile Practices for Synergy. John Wiley and Sons. ISBN 978-0-470-07386-5.
  • Scacchi, W. 2007. Free/open source software development. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (Dubrovnik, Croatia, September 03 - 07, 2007). ESEC-FSE '07. ACM, New York, NY, 459-468. DOI= http://doi.acm.org/10.1145/1287624.1287689
  • Scacchi, W. 2007. Free/open source software development: recent research results and emerging opportunities. In the 6th Joint Meeting on European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering: Companion Papers (Dubrovnik, Croatia, September 03 - 07, 2007). ESEC-FSE companion '07. ACM, New York, NY, 459-468. DOI= http://doi.acm.org/10.1145/1295014.1295019

References

  • "Frequently Asked Questions". Open Source Initiative. Archived from the original on 2006-04-23. Retrieved on 2008-09-08.
  • Verts, William T. (2008-01-13). "Open source software". World Book Online Reference Center.

Previous Page: File Management Software

Next Page: Is it still a Mac if it uses an Intel chip?