Open-source software (OSS) is computer software that is available in source code form for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, and improve the software. Open source licenses often meet the requirements of the Open Source Definition. Some open source software is available within the public domain. Open source software is very 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. The term open-source software originated as part of a marketing campaign for free software. A report by Standish Group states that adoption of open-source software models has resulted in savings of about $60 billion per year to consumers.
- Open source doesn't just mean access to the source code.
1. Free Redistribution
- The distribution terms of open-source software must comply with the following criteria:
2. Source Code
- The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
3. Derived Works
- The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
4. Integrity of The Author's Source Code
- The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
5. No Discrimination Against Persons or Groups
- The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
6. No Discrimination Against Fields of Endeavor
- The license must not discriminate against any person or group of persons.
7. Distribution of License
- The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
8. License Must Not Be Specific to a Product
- The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
9. License Must Not Restrict Other Software
- The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
10. License Must Be Technology-Neutral
- The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
- No provision of the license may be predicated on any individual technology or style of interface.
– Open Source Initiative, http://opensource.org/docs/osd
The free software movement was launched in 1983. In 1998, a group of individuals advocated that the term free software should be replaced by open source software (OSS) as an expression which is less ambiguous and more comfortable for the corporate world. Software developers may want to publish their software with an open source license, so that anybody may also develop the same software or understand its internal functioning. Open source software generally allows anyone to create modifications of the software, port it to new operating systems and processor architectures, share it with others or market it.
The Open Source Definition, notably, presents an open source philosophy, and further defines the terms of usage, modification and redistribution of open source software. Software licenses grant rights to users which would otherwise be reserved by copyright law to the copyright holder. Several open source software licenses have qualified within the boundaries of the Open Source Definition. The most prominent and popular example is the GNU General Public License (GPL). While open source distribution presents a way to make the source codes 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 freedom to distribute (or "free as in free speech") and not freedom from cost (or "free as in free beer"). 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 software development versus open development already provided by the Internet developer community, 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, due 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.
There are numerous groups who claim ownership of the term "Open Source", but in reality the term has not been trademarked. The Open Source Initiative's definition is widely recognized as the standard or de facto definition.
The Open Source Initiative (OSI) formed in February 1998 by Raymond and Perens. With about 20 years of evidence from case histories of closed and open development already provided by the Internet, the OSI continued to present the 'open source' case to commercial businesses. They sought to bring a higher profile to the practical benefits of freely available source code, and wanted to bring major software businesses and other high-tech industries into open source. Perens adapted Debian's Free Software Guidelines to make the The Open Source Definition.
The Open Source Definition is used by the Open Source Initiative to determine whether a software license can be considered open source. The definition was based on the Debian Free Software Guidelines, written and adapted primarily by Bruce Perens. Perens did not base his writing on the "four freedoms" of Free Software from the Free Software Foundation, which were only widely available later.
Under Perens' definition, open source describes a broad general type of software license that makes source code available to the general public with relaxed or non-existent copyright restrictions. The principles, as stated, say absolutely nothing about trademark or patent use and require absolutely no cooperation to ensure that any common audit or release regime applies to any derived works. It is an explicit “feature” of open source that it may put no restrictions on the use or distribution by any organization or user. It forbids this, in principle, to guarantee continued access to derived works even by the major original contributors.
While the term applied originally only to the source code of software, it is now being applied to many other areas such as open source ecology, a movement to decentralize technologies so that any human can use them. However, it is often misapplied to other areas which have different and competing principles, which overlap only partially.
This “culture” or ideology takes the view that the principles apply more generally to facilitate concurrent input of different agendas, approaches and priorities, in contrast with more centralized models of development such as those typically used in commercial companies.
Advocates of the open source principles often point to Wikipedia as an example, but Wikipedia has in fact often restricted certain types of use or user, and the GFDL license it has historically used makes specific requirements of all users, which technically violates the open source principles.
There are a number of commonly recognized barriers to the adoption of open source software by enterprises. These barriers include the perception that open source licenses are viral, lack of formal support and training, the velocity of change, and a lack of a long term roadmap. The majority of these barriers are risk-related. From the other side, not all proprietary projects disclose exact future plans, not all open source licenses are equally viral and many serious OSS projects (especially operating systems) actually make money from paid support and documentation.
Open source software (OSS) projects are built and maintained by a network of volunteer programmers. Prime examples of open source products are the Apache HTTP Server, the e-commerce platform osCommerce and the internet browser Mozilla Firefox. One of the most successful open source products is the GNU/Linux operating system, an open source Unix-like operating system.
In his 1997 essay The Cathedral and the Bazaar, 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". 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 traditional model of development, which he called 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 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 suggests that software developed using the bazaar model should exhibit the following patterns:
Most well known open-source software products follow the bazaar model as suggested by Eric Raymond. These include projects such as the Linux kernel, Firefox, Apache, the GNU Compiler Collection, and Perl.
A license defines the rights and obligations that a licensor grants to a licensee. Open Source licenses grant licensees the right to copy, modify and redistribute source code (or content). These licenses may also impose obligations (e.g., modifications to the code that are distributed must be made available in source code form, an author attribution must be placed in a program/ documentation using that Open Source, etc.).
Authors initially derive a right to grant a license to their work based on the legal theory that upon creation of a work the author owns the copyright in that work. What the author/licensor is granting when they grant a license to copy, modify and redistribute their work is the right to use the author’s copyrights. The author still retains ownership of those copyrights, the licensee simply is allowed to use those rights, as granted in the license, so long as they maintain the obligations of the license. The author does have the option to sell/assign, versus license, their exclusive right to the copyrights to their work; where upon the new owner/assignee controls the copyrights. The ownership of the copyright (the “rights”) is separate and distinct from the ownership of the work (the “thing”) - a person can own a copy of a piece of code (or a copy of a book) without the rights to copy, modify or redistribute copies of it.
When an author contributes code to an Open Source project (e.g., Apache.org) they do so under an explicit license (e.g., the Apache Contributor License Agreement) or an implicit license (e.g., the Open Source license under which the project is already licensing code). Some Open Source projects do not take contributed code under a license, but actually require (joint) assignment of the author’s copyright in order to accept code contributions into the project (e.g., OpenOffice.org and its Joint Copyright Assignment agreement).
Placing code (or content) in the public domain is a way of waiving an author’s (or owner’s) copyrights in that work. No license is granted, and none is needed, to copy, modify or redistribute a work in the public domain.
Examples of free software license / 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.
An important legal milestone for the open source / free software movement was passed in 2008, when the US federal appeals court ruled that free software licences definitely do set legally binding conditions on the use of copyrighted work, and they are therefore enforceable under existing copyright law. As a result, if end-users do violate the licensing conditions, their license disappears, meaning they are infringing copyright.
Unlike proprietary off-the-shelf software, which comes with restrictive copyright licenses, open-source software can be given away for no charge. This means that its creators cannot require each user to pay a license fee to fund development. Instead, a number of alternative models for funding its development have emerged.
Software can be developed as a consulting project for one or more customers. The customers pay to direct the developers' efforts: to have bugs prioritized and fixed or features added. Companies or independent consultants can also charge for training, installation, technical support, or customization of the software.
Another approach to funding is to provide the software freely, but sell licenses to proprietary add-ons such as data libraries. For instance, an open-source CAD program may require parts libraries which are sold on a subscription or flat-fee basis. Open-source software can also promote the sale of specialized hardware that it interoperates with, as in the case of the Asterisk telephony software, developed by a manufacturer of PC telephony hardware.
Many open-source software projects have begun as research projects within universities, as personal projects of students or professors, or as tools to aid scientific research. The influence of universities and research institutions on open source shows in the number of projects named after their host institutions, such as BSD Unix, CMU Common Lisp, or the NCSA HTTPd which evolved into Apache.
Companies may employ developers to work on open-source projects that are useful to the company's infrastructure: in this case, it is developed not as a product to be sold but as a sort of shared public utility. A larger project such as the Linux kernel may have contributors from dozens of companies which use and depend upon it, as well as hobbyist and research developers.
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.
The counter to this argument is the use of open source software to fuel the market for a separate product or service. For example:
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, research indicates  that open-source software does have a higher flaw discovery, quicker flaw discovery, and quicker turn around on patches.
The main difference is that by choosing one term over the other (i.e. either "open source" or "free software") you let others know about what your goals are.
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. 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..
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. 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.
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.
Michael Tiemann, president of OSI, had criticized 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" since it specified a "badge" that must be displayed in the user interface (SugarCRM has since switched to GPLv3). Another example is Scilab, which calls itself "the open source platform for numerical computation" but has a license 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.
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. 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 company's image, including its commercial products. 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. Moreover free software can be developed in accord with purely technical requirements. It does not require to think about commercial pressure that often degrades the quality of the software. Commercial pressures make traditional software developers pay more attention to customers' requirements than to security requirements, since such features are somewhat invisible to the customer.
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 teamwork possible. In the most complex projects these rules may be as strict as reviewing even minor change by two independent developers.
Not all OSS initiatives have been successful, for example, SourceXchange and Eazel. 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). 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. 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.
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.
Some of the more prominent organizations involved in OSS development include the Apache Software Foundation, creators of the Apache web server; a loose affiliation of developers headed by Linus Torvalds, creators of the Linux operating system kernel; the Eclipse Foundation, home of the Eclipse software development platform; the Debian Project, creators of the influential Debian GNU/Linux distribution; the Mozilla Foundation, home of the Firefox web browser; and ObjectWeb, European-born community developing open-source middleware. New organizations tend to have a more sophisticated governance model and their membership is often formed by legal entity members.
Several Open Source programs have become defining entries in their space, including the GIMP image editing system; Sun's Java programming language and environment; the MySQL database system; the FreeBSD Unix operating system; Sun's 2 OpenOffice.org office productivity suite; and the Wireshark network packet sniffer and protocol analyser.
Open Source development is often performed "live and in public", using services provided for free on the Internet, such as the Launchpad and SourceForge web sites, and using tools that are themselves Open Source, including the CVS and Subversion source control systems, and the GNU Compiler Collection.
Certification can help to build higher user confidence. Certification could be applied to the simplest component that can be used by developers to build the simplest module to a whole software system. There have been numerous institutions involving in this area of the open source software including The International Institute of Software Technology / United Nations University (http://www.iist.unu.edu). UNU/IIST is a non-profit research and education institution of The United Nations. It is currently involved in a project known as "The Global Desktop Project". This project aims to build a desktop interface that every end-user is able to understand and interact with, thus crossing the language and cultural barriers. It is drawing huge attention from parties involved in areas ranging from application development to localization. Furthermore, this project will improve developing nations' access to information systems. UNU/IIST aims to achieve this without any compromise in the quality of the software. It believes a global standard can be maintained by introducing certifications and is currently organizing conferences in order to explore frontiers in the field (http://opencert.iist.unu.edu).
Alternatively, assurance models (such as DO178B) have already solved the "certification" approach for software. This approach is tailorable and can be applied to OSS, but only if the requisite planning and execution, design, test and traceability artifacts are generated.
The criticisms of the specific Open Source Initiative (OSI) principles are dealt with above as part of the definition and differentiation from other terms. The open content movement does not recognize nor endorse the OSI principles and embraces instead mutual share-alike agreements that require commercial use or the preparation of derivative works.
Of the vocal critics, Richard Stallman of the Free Software Foundation (FSF), flatly opposes the term “Open Source” being applied to what they refer to as “free software”. Although it's clear that legally free software does qualify as open source, he considers that the category is abusive. They also oppose the professed pragmatism of the Open Source Initiative, as they fear that the free software ideals of freedom and community are threatened by compromising on the FSF's idealistic standards for software freedom.
Free software, sometimes called libre software or open source software, refers to certain computer programs which give you the freedom to share and modify the software. Most free software is copyrighted, but a license grants freedoms from some of the normal copyright restrictions. The GNU General Public License is a popular free software license.
The Free Software Foundation states that free software must offer all of four freedoms, quoted here:
When a computer game is free software, then freedom 1 exposes all of the secrets and any plots and cheats of the game. Freedom 2 undermines the usual profit model of selling copies of the game; because few players donate to support game development, it also makes it difficult to finance the creation of a libre game. Most free software games have crude graphics and little to no sound. Thus most games are not free software. For multiplayer games, freedom 3 is especially hazardous, because it eases the programming of cheatbots.
Despite this, many free games exist. Many of these are arcade clones, board games, card games... but there are also games like NetHack, SuperTux, Battle for Wesnoth, and Nexuiz, that offer many hours of less repetitive gameplay. Most of the free games are for Unix, but some also run on Microsoft Windows and Apple Macintosh. Free games are more rare on other platforms.
Copyleft is a requirement that improvements to a free program also be free. Not all libre games are copyleft, but many are. For example, because NetHack is under copyleft, if you add many new monsters and items and call it SLASH'EM, then you must provide the same freedoms for others to use your additions, and SLASH'EM must also be free software.
The Gameinfo wiki itself is free documentation; it provides freedoms similar to those for free software.
(The plan is to create a tour of eight representative libre games. This will not work until we have wiki pages for all of them.) Start Tour