Open source software
From Wikipedia, the free encyclopedia
This article or section is in need of attention from an expert on the subject. WikiProject Free Software or the Free Software Portal may be able to help recruit one. |
Open source software (OSS) began as a marketing campaign for free software.[1] OSS can be defined as computer software for which the human-readable source code is made available under a copyright license (or arrangement such as the public domain) that meets the Open Source Definition. This permits users to use, change, and improve the software, and to redistribute it in modified or unmodified form. It is often developed in a public, collaborative manner. Open source software is the most prominent example of open source development and often compared to user generated content.[2]
Contents |
[edit] History
This section needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (November 2007) |
The free software movement was launched in 1983. In 1998, a group of individuals advocated that the term free software be replaced by open source software (OSS) as an expression which is less ambiguous and more comfortable for the corporate world.[3] Software developers may want to publish their software with an open source license, so that anybody may also develop the same software or understand how it works. Open source software generally allows anyone to make a new version of the software, port it to new operating systems and processor architectures, share it with others or market it. The aim of open source is to let the product be more understandable, modifiable, duplicatable,reliable or simply accessible, while it is still marketable.
The Open Source Definition, notably, presents an open source philosophy, and further defines a boundary on the usage, modification and redistribution of open source software. Software licenses grant rights to users which would otherwise be prohibited by copyright. These include rights on usage, modification and redistribution. Several open source software licenses have qualified within the boundary of the Open Source Definition. The most prominent example is the popular GNU General Public License (GPL). While open source presents a way to broadly make the sources of a product publicly accessible, the open source licenses allow the authors to fine tune such access.
The "open source" label came out of a strategy session held in Palo Alto in reaction to Netscape's January 1998 announcement of a source code release for Navigator (as Mozilla). A group of individuals at the session included Todd Anderson, Larry Augustin, John Hall, Sam Ockman, Christine Peterson and Eric S. Raymond. They used the opportunity before the release of Navigator's source code to clarify a potential confusion caused by the ambiguity of the word "free" in English. The 'open source' movement is generally thought to have begun with this strategy session. Many people, nevertheless, claimed that the birth of the Internet, since 1969, started the open source movement, while others do not distinguish between open source and free software movements.
The Free Software Foundation (FSF), started in 1985, intended the word 'free' to mean "free as in free speech" and not "free as in free beer" with emphasis on the positive freedom to distribute rather than a negative freedom from cost. Since a great deal of free software already was (and still is) free of charge, such free software became associated with zero cost, which seemed anti-commercial.
The Open Source Initiative (OSI) was formed in February 1998 by Eric S. Raymond and Bruce Perens. With at least 20 years of evidence from case histories of closed development versus open development already provided by the Internet, the OSI presented the 'open source' case to commercial businesses, like Netscape. The OSI hoped that the usage of the label "open source," a term suggested by Peterson of the Foresight Institute at the strategy session, would eliminate ambiguity, particularly for individuals who perceive "free software" as anti-commercial. They sought to bring a higher profile to the practical benefits of freely available source code, and they wanted to bring major software businesses and other high-tech industries into open source. Perens attempted to register "open source" as a service mark for the OSI, but that attempt was impractical by trademark standards. Meanwhile, thanks to the presentation of Raymond's paper to the upper management at Netscape (Raymond only discovered when he read the Press Release, and was called by Netscape CEO Jim Barksdale's PA later in the day), Netscape released its Navigator source code as open source, with favorable results.
[edit] Philosophy
In his 1997 essay The Cathedral and the Bazaar,[4] open source evangelist Eric S. Raymond suggests a model for developing OSS known as the Bazaar model. Raymond likens the development of software by traditional methodologies to building a cathedral, "carefully crafted by individual wizards or small bands of mages working in splendid isolation".[4] He suggests that all software should be developed using the bazaar style, which he described as "a great babbling bazaar of differing agendas and approaches."
In the Cathedral model, development takes place in a centralized way. Roles are clearly defined. Roles include people dedicated to designing (the architects), people responsible for managing the project, and people responsible for implementation. Traditional software engineering follows the Cathedral model. Fred P. Brooks in his book The Mythical Man-Month advocates this sort of model. He goes further to say that in order to preserve the architectural integrity of a system, the system design should be done by as few architects as possible.
The Bazaar model, however, is different. In this model, roles are not clearly defined. Gregorio Robles[5] suggests that software developed using the Bazaar model should exhibit the following patterns:
- Users should be treated as co-developers
- The users are treated like co-developers and so they should have access to the source code of the software. Furthermore users are encouraged to submit additions to the software, code fixes for the software, bug reports, documentation etc. Having more co-developers increases the rate at which the software evolves. Linus's law states that, "Given enough eyeballs all bugs are shallow." This means that if many users view the source code they will eventually find all bugs and suggest how to fix them. Note that some users have advanced programming skills, and furthermore, each user's machine provides an additional testing environment. This new testing environment offers that ability to find and fix a new bug.
- Early releases
- The first version of the software should be released as early as possible so as to increase one's chances of finding co-developers early.
- Frequent integration
- New code should be integrated as often as possible so as to avoid the overhead of fixing a large number of bugs at the end of the project life cycle. Some open source projects have nightly builds where integration is done automatically on a daily basis.
- Several versions
- There should be at least two versions of the software. There should be a buggier version with more features and a more stable version with fewer features. The buggy version (also called the development version) is for users who want the immediate use of the latest features, and are willing to accept the risk of using code that is not yet thoroughly tested. The users can then act as co-developers, reporting bugs and providing bug fixes. The stable version offers the users fewer bugs and fewer features.
- High modularization
- The general structure of the software should be modular allowing for parallel development.
- Dynamic decision making structure
- There is a need for a decision making structure, whether formal or informal, that makes strategic decisions depending on changing user requirements and other factors. Cf. Extreme programming.
Most well known OSS products follow the Bazaar model as suggested by Eric Raymond. These include projects such as Linux, Netscape, Apache, the GNU Compiler Collection, and Perl to mention a few.
[edit] Licensing
This section does not cite any references or sources. (November 2007) Please help improve this section by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
Open source licenses define the privileges and restrictions a licensor must follow in order to use, modify or redistribute the open source software. Open source software includes software with source code in the public domain and software distributed under an open source license.
Examples of open source licenses include Apache License, BSD license, GNU General Public License, GNU Lesser General Public License, MIT License, Eclipse Public License and Mozilla Public License.
The proliferation of open source licenses is one of the few negative aspects of the open source movement because it is often difficult to understand the legal implications of the differences between licenses.
[edit] Open source versus closed source
This section does not cite any references or sources. (November 2007) Please help improve this section by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
The debate over open source vs. closed source (alternatively called proprietary software) is sometimes heated.
One source of conflict is related to economics: Making money through traditional methods, such as sale of the use of individual copies and patent royalty payment (generally called licensing), is more difficult and in many ways against the very concept of open source software.
Some closed-source advocates see open source software as damaging to the market of commercial software. This is one of the many reasons, as mentioned above, that the term free software was replaced with open source — because many company executives could not believe in a product that did not participate economically in a free-market or mixed-market economy. In addition, if something goes wrong there is the difficult question of who is liable.
The counter to this argument is the use of open source software to fuel the market for a separate product or service. For example:
- Providing support and installation services; similar to IT Security groups, Linux Distributions, and Systems companies.
- Using the software as a stepping stone to sell a higher-end product or service; e.g., OpenOffice.org vs. StarOffice.
- Cost avoidance / cost sharing: many developers need a product, so it makes sense to share development costs (X Window System and the Apache web server)
Another major argument is software defects and security: This is an argument that applies to all open products not just open source software.
Since Open Source software is open, all of the defects and security flaws are easily found. Closed-source advocates argue that this makes it easier for a malicious person to discover security flaws. Further, that there is no incentive for an open-source product to be patched. Open-source advocates argue that this makes it easier also for a patch to be found and that the closed-source argument is security through obscurity, which this form of security will eventually fail, often without anyone knowing of the failure. Further, that just because there is not an immediate financial incentive to patch a product, does not mean there is not any incentive to patch a product. Further, if the patch is that significant to the user, having the source code, the user can technically patch the problem themselves. These arguments are hard to prove. However, most studies show that open-source software does have a higher flaw discovery, quicker flaw discovery, and quicker turn around on patches.
[edit] Open source software versus free software
This section needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (July 2007) |
Critics have said that the term “open source” fosters an ambiguity of a different kind such that it confuses the mere availability of the source with the freedom to use, modify, and redistribute it. Developers have used the alternative terms Free/open source Software (FOSS), or Free/Libre/open source Software (FLOSS), consequently, to describe open source software which is also free software.
The term “Open Source” was originally intended to be trademarkable; however, the term was deemed too descriptive, so no trademark exists.[6] The OSI would prefer that people treat Open Source as if it were a trademark, and use it only to describe software licensed under an OSI approved license.[7] .
There have been instances where software vendors have labeled proprietary software as “open source” because it interfaces with popular OSS (such as Linux).[citation needed] Open source advocates consider this to be both confusing and incorrect. OSI Certified is a trademark licensed only to people who are distributing software licensed under a license listed on the Open Source Initiative's list.[8]
Open source software and free software are different terms for software which comes with certain rights, or freedoms, for the user. They describe two approaches and philosophies towards free software. Open source and free software (or software libre) both describe software which is free from onerous licensing restrictions. It may be used, copied, studied, modified and redistributed without restriction. Free software is not the same as freeware, software available at zero price.
The definition of open source software was written to be almost identical to the free software definition.[9] There are very few cases of software that is free software but is not open source software, and vice versa. The difference in the terms is where they place the emphasis. “Free software” is defined in terms of giving the user freedom. This reflects the goal of the free software movement. “Open source” highlights that the source code is viewable to all and proponents of the term usually emphasize the quality of the software and how this is caused by the development models which are possible and popular among free and open source software projects.
Free software licenses are not written exclusively by the FSF. The FSF and the OSI both list licenses which meet their respective definitions of free software. open source software and free software share an almost identical set of licenses.[citation needed] One exception is an early version of the Apple Public Source License, which was accepted by the OSI but rejected by the FSF because it did not allow private modified versions; this restriction was removed in later version of the license.[citation needed] There are now new versions that are approved by both the OSI and the FSF.
The Open Source Initiative believes that more people will be convinced by the experience of freedom.[citation needed] The FSF believes that more people will be convinced by the concept of freedom. The FSF believes that knowledge of the concept is an essential requirement,[10][9] insists on the use of the term free,[10][9] and separates itself from the open source movement.[10][9] The Open Source Initiative believes that free has three meanings: free as in beer, free as in freedom, and free as in unsellable.[citation needed] The problem with the term “open source” is it says nothing about the freedom to modify and redistribute, so it is used by people who think that source access without freedom is a sufficient definition. This possibility for misuse is the case for most of the licences that make up Microsoft's “shared source” initiative.
[edit] Open source versus source-available
Although the OSI definition of "open source software" is widely accepted, a small number of people and organizations use the term to refer to software where the source is available for viewing, but which may not legally be modified or redistributed. Such software is more often referred to as source-available, or as shared source, a term coined by Microsoft in opposition to open source.
Michael Tiemann, president of OSI, had criticized[11] companies such as SugarCRM for promoting their software as "open source" when in fact it did not have an OSI-approved license. In SugarCRM's case, it was because the software is so-called "badgeware"[12] since it specified a "badge" that must be displayed in the user interface (SugarCRM has since switched to GPLv3[13]). Another example is Scilab, which calls itself "the open source platform for numerical computation"[14] but has a license[15] that forbids commercial redistribution of modified versions. Because OSI does not have a registered trademark for the term "open source", its legal ability to prevent such usage of the term is limited, but Tiemann advocates using public opinion from OSI, customers, and community members to pressure such organizations to change their license or to use a different term.
Other software that has source code available, but which is not open source, includes the pine email client, and the Microsoft Windows Operating System.[citation needed]
[edit] Pros and cons of open source software
Software experts and researchers on open source software have identified several advantages and disadvantages. The main advantage for business is that open source is a good way for business to achieve greater penetration of the market. Companies that offer open source software are able to establish an industry standard and, thus, gain competitive advantage. It has also helped build developer loyalty as developers feel empowered and have a sense of ownership of the end product[16]. Moreover less costs of marketing and logistical services are needed for OSS. It also helps companies to keep abreast of all technology developments. It is a good tool to promote a companies’ image, including its commercial products[17]. The OSS development approach has helped produce reliable, high quality software quickly and inexpensively. Besides, it offers the potential for a more flexible technology and quicker innovation. It is said to be more reliable since it typically has thousands of independent programmers testing and fixing bugs of the software. It is flexible because modular systems allow programmers to build custom interfaces, or add new abilities to it and it is innovative since open source programs are the product of collaboration among a large number of different programmers. The mix of divergent perspectives, corporate objectives, and personal goals speeds up innovation[18]. Moreover free software can be developed in accord with purely technical requirements it does not require to think about commercial pressure that often degrade the quality of the software. Commercial pressures make traditional software developer pay more attention to customers requirements than to security requirements, since such features are somewhat invisible to the customer[19].
It is sometimes said that the open source development process may not be well defined and the stages in the development process, such as system testing and documentation may be ignored. However this is only true for small (mostly single programmer) projects. Larger, successful projects do define and enforce at least some rules as they need them to make the team work possible.[20][21] In the most complex projects these rules may be as strict as reviewing even minor change by two independent developers.[22]
Not all OSS initiatives have been successful, for example, SourceXchange and Eazel[23]. Software experts and researchers, who are not convinced by open source’s ability to produce quality systems, identify the unclear process, the late defect discovery and the lack of any empirical evidence as the most important problems (collected data concerning productivity and quality)[24]. It is also difficult to design a commercially sound business model around the open source paradigm. Consequently, only technical requirements may be satisfied and not the ones of the market[25]. In terms of security, open source may allow hackers to know about the weaknesses or loopholes of the software more easily than closed-source software. It is depended of control mechanisms in order to create effective performance of autonomous agents who participate in virtual organizations[26].
[edit] Development tools
This section does not cite any references or sources. (January 2008) Please help improve this section by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
In OSS development the participants, who are mostly volunteers, are distributed amongst different geographic regions so there is need for tools to aid participants to collaborate in source code development. Often these tools are also available as OSS.
Revision control systems such as Concurrent Versions System (CVS) and later Subversion (svn) are examples of tools that help centrally manage the source code files and the changes to those files for a software project.
Utilities that automate testing, compiling and bug reporting help preserve stability and support of software projects that have numerous developers but no managers, quality controller or technical support. Building systems that report compilation errors among different platforms include Tinderbox. Commonly used bugtrackers include Bugzilla and GNATS.
Tools such as mailing lists, IRC, and instant messaging provide means of Internet communications between developers. The Web is also a core feature of all of the above systems. Some sites centralize all the features of these tools as a software development management system, including GNU Savannah, SourceForge, and BountySource.
[edit] Projects and organizations
This article or section may contain poor or irrelevant examples. Articles should only contain pertinent examples. Please improve the article or discuss proposed changes on the talk page. You can edit the article to add more encyclopaedic text. See Wikipedia's guide to writing better articles for further suggestions. |
- Apache Software Foundation
- Audacity
- Blender -- 3d animation
- CodePlex
- Debian
- Drupal -- Content Management System
- Eclipse Foundation
- Fedora Project
- FreeBSD
- Freedesktop.org
- Free Software Foundation
- FUSE ESB, FUSE Message Broker, FUSE Services Framework and FUSE Mediation Router - Supported versions of Apache projects
- GIMP -- Image Editing similar to photoshop
- GNU
- Inkscape -- Vector tool similar to illustrator
- Java
- JBoss
- Joomla! -- Content Management System
- KnowledgeTree -- Document Management for Teams and Small to Medium-sized Organizations
- LibreSource
- Linux
- Macaulay2 -- algebraic geometry and commutative algebra
- Miranda IM -- multiprotocol IM
- Mozilla Foundation
- MySQL
- NetBSD
- OpenBSD
- Open-Xchange
- Open Market For Internet Content Accessibility
- OpenOffice.org -- Word processor, spreadsheet, presentation tool, database, equation editor
- OpenSees -- open system for earthquake engineering simulation
- OpenSuse
- Open Solutions Alliance
- Open Source Development Labs
- Open Source Initiative
- Open Source Geospatial Foundation
- PHP -- Hypertext preprocessor
- Povray -- Ray Tracer
- Python
- Restore -- RESTORE is an open source project for heterogeneous system backup and restore.
- SAGE -- Magma computer algebra system
- Scribus -- Desktop publishing similar to pagemaker
- SourceForge -- Repository of open source software
- Subversion (software) -- version control
- Synfig -- 2d vector graphic and animation
- TYPO3 -- Enterprise Level Content Management System
- ubuntu
- Zenoss
- Zimbra
[edit] See also
This article or section may contain poor or irrelevant examples. Articles should only contain pertinent examples. Please improve the article or discuss proposed changes on the talk page. You can edit the article to add more encyclopaedic text. See Wikipedia's guide to writing better articles for further suggestions. |
- Open access
- Open content for non-programming open source projects.
- Open Design — the application of open source principles to creating material objects and solutions.
- Open publishing
- Open source games
- Openness — the philosophical term
- Open source advocacy
- Open source movement
- Open source software security
- List of open source software packages
- Open system
- Open standard
- Open format
- OpenDocument The new OASIS OpenDocument format (ODF) to create an open system for business & public sector documents.
- Free software
- Free and open source software organizations
- Shared software
[edit] References
- ^ http://web.archive.org/web/20060423094434/www.opensource.org/advocacy/faq.html
- ^ Verts, William T. (2008-01-13). Open source software. World Book Online Reference Center.
- ^ Eric S. Raymond (1998-02-08). source.html Goodbye, "free software"; hello, "open source". Retrieved on 2007-02-14.
- ^ a b Raymond, Eric (2000-09-11). The Cathedral and the Bazaar. Retrieved on 2004-09-19.
- ^ Robles, Gregorio (2004). "A Software Engineering approach to Libre Software", in Robert A. Gehring, Bernd Lutterbeck: Open Source Jahrbuch 2004 (PDF), Berlin: Lehmanns Media. Retrieved on 2005-04-20.
- ^ Nelson, Russell (2007-03-2). Certification Mark. The Open Source Initiative (OSI). Retrieved on 2007-07-22.
- ^ Raymond, Eric S. (1998-11-22). OSI Launch Announcement. The Open Source Initiative (OSI). Retrieved on 2007-07-22.
- ^ Nelson, Russell (2006-09-19). Open Source Licenses by Category. The Open Source Initiative (OSI). Retrieved on 2007-07-22.
- ^ a b c d Stallman, Richard (2007-06-16). source-misses-the-point.html Why “Open Source” misses the point of Free Software. Philosophy of the GNU Project. GNU Project. Retrieved on 2007-07-23.
- ^ a b c Stallman, Richard (2007-06-19). Why “Free Software” is better than “Open Source”. Philosophy of the GNU Project. GNU Project. Retrieved on 2007-07-23.
- ^ Tiemann, Michael (2007-06-21). Will The Real Open Source CRM Please Stand Up?. Retrieved on 2008-01-04.
- ^ Berlind, David (2006-11-21). Are SugarCRM, Socialtext, Zimbra, Scalix and others abusing the term “open source?”. Retrieved on 2008-01-04.
- ^ Vance, Ashlee (2007-07-25). SugarCRM trades badgeware for GPL 3. The Register.
- ^ The open source platform for numerical computation. Retrieved on 2008-01-04.
- ^ SCILAB License. Retrieved on 2008-01-04.
- ^ Srinarayan Sharma, Vijayan Sugumaran & Balaji Rajagopalan, “A framework for creating hybrid-open source software communities”, Info Systems Journal 12 (2002): 7–25
- ^ “Profiting from Open Source”, Harvard Business Review (2002): 22
- ^ Hal Plotkin, “What (and Why) you should know about open-source software” Harvard Management Update 12 (1998): 8-9
- ^ Christian Payne, “On the Security of Open Source Software”, Info Systems Journal 12 (2002): 61–78
- ^ http://www.gnu.org/software/classpath/docs/hacking.html
- ^ http://jgap.sourceforge.net/doc/codestyle.html
- ^ http://www.javalobby.org/java/forums/t98834.html
- ^ Srinarayan Sharma, Vijayan Sugumaran & Balaji Rajagopalan, “A Framework for Creating Hybrid-Open Source Software Communities”, Info Systems Journal 12 (2002): 7–25
- ^ Ioannis Stamelos, Lefteris Angelis, Apostolos Oikonomou & Georgios L. Bleris, “Code Quality Analysis in Open Source Software Development” Info Systems Journal 12 (2002): 43–60
- ^ Ioannis Stamelos, Lefteris Angelis, Apostolos Oikonomou & Georgios L. Bleris, “Code Quality Analysis in Open Source Software Development” Info Systems Journal 12 (2002): 43–60
- ^ Michael J. Gallivan, “Striking a Balance Between Trust and Control in a Virtual Organization: A Content Analysis of Open Source Software Case Studies”, Info Systems Journal 11 (2001): 277–304
[edit] Further 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.
[edit] Legal and economic aspects
- Benkler, Yochai (2002), “Coase's Penguin, or, Linux and The Nature of the Firm." Yale Law Journal 112.3 (Dec 2002): p367(78) (in Adobe pdf format)
- v. Engelhardt, Sebastian (2008). "The Economic Properties of Software", Jena Economic Research Papers, Volume 2 (2008), Number 2008-045 (PDF).
- Lerner, J. & Tirole, J. (2002): ‘Some simple economics on open source’, Journal Of Industrial Economics 50(2), p 197–234
- Välimäki, Mikko (2005). The Rise of Open Source Licensing: A Challenge to the Use of Intellectual Property in the Software Industry (PDF), Turre Publishing.
- Polley, Barry (2007-12-11). "Open Source Discussion Paper – version 1.0" (PDF). . New Zealand Ministry of Justice Retrieved on 2007-12-12.
- Rossi, M. A. (2006): Decoding the free/open source software puzzle: A survey of theoretical and empirical contributions, in J. Bitzer P. Schröder, eds, ‘The Economics of Open Source Software Development’, p 15–55. (download an online version)
[edit] External links
The external links in this article may not follow Wikipedia's content policies or guidelines. Please improve this article by removing excessive or inappropriate external links. |
- ComputerWorld article: Does the open-source development model work for business users?
- Anarchism Triumphant: Free Software and the Death of Copyright — Eben Moglen, Professor of Law and History at Columbia University
- source/scb/brief-open source-history.html Brief History of the Open Source Movement
- "the" definition of open source
- European Commission's Open Source Observatory — The EC's IDABC Open Source Observatory is the clearinghouse of information on the use of open source software by public administrations in Europe:
- source.html Goodbye, "free software"; hello, "open source" — Raymond's announcement of the term "open source", 8 February 1998
- Open Source at the Open Directory Project
- Open Source Initiative (OSI) — a list of available licenses
- Open Sources: Voices from the Open Source Revolution — an online book containing essays from prominent members of the open source community
- Why "Free Software" is better than "Open Source" — a later essay from Richard Stallman
- Free / Open Source Research Community — Many online research papers
- January 2006 TPOSSCON talk: "How OSS Improves Society" Aaron Siego speaks at the 2nd Trans-Pacific Open Source Software Conference in Honolulu, Hawaii.
- Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers! - large collection of related quantitative studies
- UK Parliament report on Open Source (PDF)
- "Lessons from Open Source", by Jan Shafer
- Whence The Source: Untangling the Open Source/Free Software Debate, essay on the differences between Free Software and Open Source, by Thomas Scoville
- Degrees of Openness article explaining the different aspects of openness in computer systems, written by Adrien Lamothe, on the O'Reilly Network.
- Open Source Community
- Differences between open source and free software as interpreted by Slackware
- Berry, D M (2004). The Contestation of Code: A Preliminary Investigation into the Discourse of the Free Software and Open Software Movement, Critical Discourse Studies, Volume 1(1).
- EU study on adopting FLOSS
- OSS Watch an advisory service for open source in UK higher and further education
- Decoding Liberation: The Promise of Free and Open Source Software by Samir Chopra and Scott Dexter
- E-996 Peruvian Letters
|
|