Difference between revisions of "What is Open Source Software?"

From CompSciWiki
Jump to: navigation, search
 
(37 intermediate revisions by one other user not shown)
Line 3: Line 3:
  
 
|Introduction=
 
|Introduction=
OSS ('''O'''pen '''S'''ource '''S'''oftware) is computer software for which the source code is available to the (Yuming's Edit Comment: maybe remove the general feel better) public.(Dave's edit: Changed references to OSS to plural form, removed 'general' as suggested) This means that the license permits users to use, change, and improve the software. (Yuming's Edit Comment: give the users' permits to) The development of software as Open Source improves its quality, reliability, and flexibility, while reducing the cost, and putting an end to predatory [http://en.wikipedia.org/wiki/Vendor_lock-in vendor lock-in].(Dave's edit comment: Added link to wikipedia definition of Vendor lock in.  Too complex to explain in the introduction here, and it is not explained elsewhere in this wiki (at least not that I'm aware of) OSS is a future trend in software development.
+
'''O'''pen '''S'''ource '''S'''oftware (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.
 
+
Alyson's Edit Comment: what do you mean by predatory vendor lock-in.. it needs clarification. Remember this is a comp usage class :)(Yuming's Edit Comment: I agree use less glossary)
+
  
 
[[Image:Example.jpg]]
 
[[Image:Example.jpg]]
|...by students=<em>How Open Source Software change our life?
+
|...by students=<em>Open source software for Games.
With the development of open source software, our world has become smaller than before. Open source software makes people's communication easier; you can use and modify the source code for your personal purpose, and other people can benefit from your contribution. Everyone can use their abilities to change the world by using open source software. Our life needs open source software!
+
 
 +
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.
 +
 
 
</em>
 
</em>
  
+
|Content=
}}
+
 
 
==Definition==
 
==Definition==
What is open source? What software can be considered as open source software? (Yuming's Edit Comment: I think if split two questions are much better)
+
What is '''Open Source'''?
  
Generally, open source software is free of charge(Yuming's Edit Comment: open source software is free)(Dave's Comment: Actually, Free of charge is necessary.  When discussing OSS you need to distinguish between Free/Gratis and Free/Libre). People can view the source code for reference or study freely(Yuming's Edit Comment: for reference or study purpose). On the other hand, proprietary software is not free for viewing the source code.  
+
'''Open source''' is a development methodology, which offers practical accessibility to a product's source (goods and knowledge).
  
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).
+
What is '''Open Source Software'''?
  
But open source doesn't just mean access to the source code freely. The Open Source Initiative 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:
+
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.
  
'''1. Free Redistribution'''
+
What software can be considered as open source software?
  
'''2. Source Code'''
+
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:
  
'''3. Derived Works'''
+
*'''1. Free Redistribution'''
  
'''4. Integrity of The Author's Source Code'''
+
*'''2. Source Code'''
  
'''5. No Discrimination Against Persons or Groups'''
+
*'''3. Derived Works'''
  
'''6. No Discrimination Against Fields of Endeavor'''
+
*'''4. Integrity of The Author's Source Code'''
  
'''7. Distribution of License'''
+
*'''5. No Discrimination Against Persons or Groups'''
  
'''8. License Must Not Be Specific to a Product'''
+
*'''6. No Discrimination Against Fields of Endeavor'''
  
'''9. License Must Not Restrict Other Software'''
+
*'''7. Distribution of License'''
  
'''10. License Must Be Technology-Neutral'''
+
*'''8. License Must Not Be Specific to a Product'''
  
 +
*'''9. License Must Not Restrict Other Software'''
  
You could read more detail from Open Source Initiative, http://opensource.org/docs/osd.
+
*'''10. License Must Be Technology-Neutral'''
  
==History==
 
The free software movement was launched in 1983. It can be considered as predecessor of open source software. The term free software was replaced by open source software (Yuming's edit: change open source software to OSS) in 1998, which is advocated by some people (Yuming's edit: maybe add a reson like "software is very expensive"). Therefore, this definition was known by more and more people.
 
  
Alyson's Edit Comment: What does this last sentence above mean? Needs clarification..
+
You can read more detail from Open Source Initiative website, http://opensource.org/docs/osd.
<b>(CHAD'S COMMENT: The above paragraph needs some revision. "advocated": How so? "some people": Who are these people? "Therefore": Wrong word. You didn't prove or show anything here.)</b>
+
  
During the development process of open source software, some new ideas were put forward. The Free Software Foundation (FSF), started in 1985, emphasizes on the positive freedom to distribute, rather than a negative freedom from cost.  
+
==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 addition, the Open Source Initiative (OSI) was formed in February 1998 by Eric S. Raymond and Bruce Perens. The OSI presented the 'open source' case to commercial businesses, like Netscape. They are trying to set major software businesses and other high-tech industries into open source.
+
  
Alyson's Edit Comment:<br>-I'm not sure I like the Nowadays title.. I suggest using a title similar to: Current Open Source Software or Present Open Source Software or Current OSS Developments.<br>-At the beginning you had said Open Source Software was abbreviated to OSS, but you never really use it. In some wordy sentences, it might be nice to use the abbreviation. <br> -your first sentence below, I think it needs to be reworded but I'm not sure what you were trying to get at, so I left it as is.<br>-There is a quote that does not have a reference to it below, what is the source?
+
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.
  
==Nowadays==
+
==Current Open Source Software==
Open source software, like most software is normally protected by copyright.(Dave's edit comment: reworded for clarification) Open source software 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."  Open source software gives users the right of freedom; everyone can use the software for free, modify or improve the software. This means open source software includes the source code itself and development process, that means free distribution of source code, the modular system and market-development.(Dave's edit comment: Reworded this slightly) Anyone can reuse and distribute open source software in order to support public interest. In a sense, "open source" is a new innovative idea which is used by public. Therefore, open source software is widely used in many areas. At the same time, open source software has some advantages and disadvantages.
+
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'''
 
'''Advantages'''
Line 65: Line 62:
 
''1. Reduced dependence on software vendors''
 
''1. Reduced dependence on software vendors''
  
This indicates that software buyers must feel some level of dependence on proprietary software vendors, from which they desire freedom.  Such dependence includes reliance on the<br>vendor for maintenance, support, and the necessity for the buyer to accept version upgrades that the buyer may not need or want.
+
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. Produce reliable'' Alyson's Edit Comment: This #2 advantage seems incomplete.. produce reliable what?
+
''2. More flexible for users''  
  
This 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.
+
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.
Alyson's Edit Comment: Implement high quality what? Last sentence is missing a word I think.
+
Andrey’s Comment: I modified the last sentence. I hope that is what the author meant.
+
  
 
''3. Lower cost''
 
''3. Lower cost''
  
Some people think that the open source software is not really free. Most types of software need cost, such as administration, support, software license, and annual maintenance costs, but these costs could be minimized by open source.
+
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.  
 
+
(Yuming's comment: I think this is better)  <b>(CHAD'S COMMENT: I disagree with the suggested format change. It's still apart of the main article and ,in my opinion, this proposed format is taking it away from that and changes the flow of the article.)</b>
+
===='''Advantages'''====
+
 
+
'''1.Reduced dependence on software vendors'''<br>This indicates that software buyers must feel some level of dependence on proprietary software vendors, from which they desire freedom.  Such dependence includes reliance on the<br>vendor for maintenance, support, and the necessity for the buyer to accept version upgrades that the buyer may not need or want.<br>'''2. Produce reliable''' Alyson's Edit Comment: This #2 advantage seems incomplete.. produce reliable what?<br>This 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<br>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<br>implemented quickly and inexpensively.<br>'''(Alyson's Edit Comment: Implement high quality what? Last sentence is missing a word I think. Andrey’s Comment: I modified the last sentence.<br>I hope that is what the author meant.)'''<br>'''3. Lower cost'''<br>Some people think that the open source software is not really free. Most types of software need cost, such as administration, support, software license, and annual maintenance costs,<br>but these costs could be minimized by open source.
+
  
 
'''Disadvantage'''
 
'''Disadvantage'''
Line 86: Line 76:
 
''1. Weakness ability''
 
''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, the late defect discovery, and the lack of any empirical evidence could be the most important problems. In the business area, it is also difficult to design a commercially sound business model around the open source paradigm.
+
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.
 
+
Alyson's Edit Comment: I don't understand the first sentence of the above paragraph. It is really long, and seems to missing words to connect ideas? I couldn't fix it because I was unsure of your idea.
+
  
 
''2. Security''
 
''2. Security''
  
Security is an important issue for open source software. It 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.
+
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.
 
+
===='''Disadvantage'''====
+
 
+
'''1. Weakness ability'''<br>Some software experts and researchers do not believe that open source software has enough ability to produce quality systems identify the unclear process, the late defect discovery,<br>and the lack of any empirical evidence could be the most important problems. In the business area, it is also difficult to design a commercially sound business model around the<br>open source paradigm.<br>'''(Alyson's Edit Comment: I don't understand the first sentence of the above paragraph. It is really long, and seems to missing words to connect ideas? I couldn't fix it<br>because I was unsure of your idea.)''' <br>'''2. Security'''<br>Security is an important issue for open source software. It allows everyone to view the source code, which is also includes potential attackers. Hackers might be able to find the <br>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<br>and fixed.
+
  
Although there are pros and cons of open source software, the development process of open source software is moving. <b>(CHAD'S COMMENT: Where's it moving to?)</b> Open source software brings a democratic way of development; it encourages some behavior, and restricts other behavior. In this way, many new good and innovative ideas can be shared by people. In this sense, <b>(CHAD'S COMMENT: "In this sense," sounds awkward with "In this way," in the previous sentence. Try revising these sentences a wee bit.)</b> open source software and open source can be considered as a new political philosophy.
+
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==
 
==Future==
Open source technology has matured, the development of open source software is growing rapidly as more and more people are using it. But there are still some voices of opposition for open source software. In conclusion, the prospect of open source software is bright, but the process is. We need more efforts innovation on this area.  
+
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.
 
+
Alyson's Edit Comment: Can you elaborate on these "voices of opposition"? Unsure why you think the process is "tortuous", maybe use another word that is clearer?
+
  
 
==Development tools==
 
==Development tools==
  
(Yuming's comment: maybe add some link will be better)
 
 
Here is list for some development tools; you can use them if you are interested in contributing to the development of open source software:
 
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 Versions System (CVS)
+
*Concurrent Versioning System (CSV)[http://en.wikipedia.org/wiki/Concurrent_Versions_System]
 
+
*Subversion (svn)
+
  
*Tinderbox
+
*Subversion (SVN)[http://en.wikipedia.org/wiki/Concurrent_Versions_System]
  
*Bugzilla
+
*IRC[http://en.wikipedia.org/wiki/Internet_Relay_Chat]
  
*GNATS
+
*Instant messaging[http://en.wikipedia.org/wiki/Instant_messaging]
  
 
==Futher Reading==
 
==Futher Reading==
Line 133: Line 112:
  
 
* http://opensource.org/docs/osd.
 
* http://opensource.org/docs/osd.
 +
 +
* http://en.wikipedia.org/wiki/Open_source_software
 +
 +
* http://en.wikipedia.org/wiki/Open_source
 +
 +
* http://www.computereconomics.com/index.cfm
 +
 +
|Previous=[[File Management Software]]
 +
 +
|Next=[[Is it still a Mac if it uses an Intel chip?]]
 +
 +
}}

Latest revision as of 14:45, 4 December 2009

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?