Jump to content

Open-source model: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
added "communism" to related topics
Line 90: Line 90:
==See also==
==See also==
===Related topics===
===Related topics===
*[[Communism]]
*[[Free/Libre Open Source Software]]
*[[Free/Libre Open Source Software]]
*[[Free software]]
*[[Free software]]

Revision as of 03:29, 9 April 2005

Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. Openness, open content, and communal are other related topics. This article deals mostly with computer software. Open source or open-source software (OSS) is any computer software distributed under a license which allows users to change and/or share the software freely. Many programs use a specific license agreement satisfying the Open Source Definition. When used as an adjective, the term is hyphenated, e.g. "Apache is open-source software"; used as a noun, there is no hyphen.

Overview

Open-source software is required to have its source code freely available; end-users have the right to modify and redistribute the software, as well as the right to package and sell the software. Software with source code in the public domain meets these criteria, as does any software distributed under the popular GNU General Public License (GPL). Open-source licenses may have additional restrictions, such as a requirement to preserve the authors' names and copyright statement in the code.

The term open source in common usage may refer to any software with publicly available source code, though this usage is discouraged by many. Examples of such non-OSF open source software include some versions of Solaris and PGP. There are also shared source licenses which have some similarities with open source, but a number of critical differences make such licenses incompatible with the Open Source Definition.

Despite apparent similarities, 'open-source software' is distinct from free software. The Free Software Foundation's (FSF) free software definition is more restrictive than the Open Source Definition; as a consequence of this, free software is open source, but open-source software may or may not be "free". In practice, nearly all open-source licenses also satisfy the FSF's free software definition, and the difference is more a matter of philosophical emphasis. (One exception is an early version of the Apple Public Source License, which was considered open-source but not free, because it did not allow private modified versions; this restriction was later removed.) Software distributed under both the GPL and BSD licenses is considered both free and open-source.

The decision to adopt the term "open source", suggested by Christine Peterson of the Foresight Institute, was based partly on the confusion caused by the dual meaning of the word "free"; the FSF intended the word to mean "free as in free speech", not "free as in free beer", but nevertheless, free software came to be associated with zero cost, a problem which was exacerbated by the fact that a great deal of it is, in fact, free of charge. It was hoped that the usage of the newer term "open source" would eliminate such ambiguity, particularly for users who might mistakenly associate "free software" with anti-commercialism. Since its introduction, however, the "open source" label has been criticized for fostering an ambiguity of a different kind: that of confusing it for mere availability of the source, rather than the freedom to use, modify, and redistribute it.

For additional comparison, see open source movement and free software movement.

Movement

Main Article Open source movement

The open source movement is a large movement of programmers and other computer users that advocates unrestricted access to the source code of software. It grew out of licenses such as BSD, the ubiquitous access to Unix source code at universities and goals which differ somewhat from those of the Free software movement. The line between the two is somewhat blurry; both are founded in the hacker culture. Mostly, the Free software movement is based upon political and philosophical ideals, while open source proponents tend to focus on more pragmatic arguments. Openness is a term that has evolved now to refer to projects that are open to anyone and everyone to contribute to, before and/or after the actual programming. Both groups assert that this more open style of licensing allows for a superior software development process, and therefore that pursuing it is in line with rational self-interest. Free software advocates, however, would argue that "freedom" is a paramount merit that one should prefer (or at least weigh heavily) even in cases where proprietary software has some superior technical features.

Proponents of the open source development methodology claim that it is superior in a number of ways to the closed source method (and some individuals may suggest that the open source methodology is the methodology that is able to produce the quality of software that can be higher than that produced by any other methodology or technique). Stability, reliability, and security are frequently cited as reasons to support open source. One successful application of the open source model is the Linux operating system, which is renowned for its stability and security characteristics. Among the works that explore and justify open source development is a series of works by Eric S. Raymond which includes The Cathedral and the Bazaar and Homesteading the Noosphere.

Open source advocates point out that as of the early 2000s, at least 90 percent of computer programmers are employed not to produce software for direct sale, but rather to design and customize software for other purposes, such as in-house applications. According to advocates, this statistic implies that the value of software lies primarily in its usefulness to the developer or developing organization, rather than in its potential sale value, and that consequently there is usually no compelling economic reason to keep source code secret from competitors. Open-source advocates further argue that corporations frequently over-protect software in ways actually damaging to their own interests, for reasons ranging from mere institutional habit through reflexive territoriality to a rational but incorrect evaluation of the tradeoffs between collecting secrecy rent and the quality and market payoff of openness.

The 2001 film Antitrust, portrayed the struggle of a small-time group of open-source programmers against a large Microsoft-like closed-source corporation.

(See also Open source culture, Free Culture, Open Content, Open source politics)

Debate

The open source vs. closed source (alternatively called proprietary development) debate is sometimes heated.

The most obvious complaint against open-source software involves the complaint that making money through some traditional methods, such as the sale of the use of individual copies and patent royalty payments, is much more difficult and sometimes impractical with open-source software. Some software development companies sell licenses to use individual copies of software as their primary source of income, using a combination of copyright, patent, trademark, and trade secret laws (collectively called intellectual property rights laws). By keeping source code hidden, they usually make it impractical to make changes to a program they develop, and demand fees for its use and improvement. Although most software is written for internal use, fees from sale and licensing of commercial software are the primary source of income for companies which sell software.

Additionally, some companies with large research and development teams develop extensive patent portfolios, with the purpose of making money from patent royalties. These companies can charge licensing fees for the use of their patents in software, however open source distribution creates the potential for an infinite number of derived works using the patented technology without payment to the patent holder.

This complaint is countered by a large number of alternative funding streams, which are actually better-connected to the real costs of creating and maintaining software. After all, the cost of making a copy of a software program is essentially zero, so per-use fees are perhaps unreasonable. At one time, open-source software development was almost entirely volunteer-driven, and although this is true for many small projects, many alternative funding streams have been identified and employed for open source software:

  • give away the program and charge for installation and support (used by many Linux distributions).
  • "commoditize complements": make a product cheaper so that people are more likely to purchase a related product or service you do sell (this is a primary reason for OpenOffice.org; Sun gives away the office suite to encourage users to buy their computer hardware).
  • cost avoidance / cost sharing: many developers need a product, so it makes sense to share development costs. (this is the genesis of the X Window system and Apache).

Increasingly open-source software is developed by commercial organizations. In 2004, Andrew Morton noted that 37,000 of the 38,000 recent patches in the Linux kernel were created by developers directly paid to develop the Linux kernel. Many projects, such as the X Window system and Apache, have had commercial development as a primary source of improvements since their inception, and this trend has accelerated over time.

One argument against open-source software is that closed-source development allows more control over the final product, though this argument does little to support its assertion. The theory behind this argument is that open-source software is primarily a volunteer effort, while closed-source development is typically a salary-driven effort. By having monetary resources to fund developers and management, and the ability to control development in a given direction, closed-source proponents argue that development can be more efficient and more focused. But this argument misses many key points.

  • OSS may be, and is increasingly, supported by financial backing.
  • Project control is independent of its source code status.

An entirely external project may ignore an organization's needs. However, an organization can devote resources to ensure its needs are met. At the extreme end, an organization could "fork" an open source development project and add the critical components it needs. Ultimately, Open-source software offers greater flexibility to end-users because any end user can take the program and modify it for their needs.

Large scale open-source projects such as Linux, FreeBSD, or Apache tend to discredit this argument. However, even within these very successful projects, there are sometimes technological components missing due to the fact that no one has the time or effort to volunteer to do them, nor a commercial company whose interests cause it to fund such work. Of course, this also applies to proprietary products; proprietary products also omit technological components because the expected return is less than other alternatives, even if they are important to a particular customer. It is also worth mentioning that most of the venture capital money is not going to open source companies today. Instead, many open source projects are either legacy code like FreeBSD or Apache which were developed a long time ago independently of the open source movement, or companies like Netscape which donate its source code to open source with the hope that they can compete better, or companies like MySQL which use open source to lure customers for its more expensive licensed product. This argument is weakened by the fact that most of these projects have seen major or even complete (in the case of the Netscape code, for example) rewrites and don't contain much of the original code.

Open source is a term that is applied to the entire concept that the creation and organization of knowledge is best created through open and cooperative efforts, this movement, variously called "Open Content" or "Free Culture", has been expressly endorsed by advocates of OSS, including Linus Torvalds who said "The Future is Open Source Everything".

Security

Open source advocates usually believe that open source programs are more secure, mostly because flaws in the code can be seen and fixed by anyone. Different studies reach different conclusions about security through obscurity versus open source, with closed source programs having fewer advisories, but open source software usually having shorter times between discovery and a patch or a fix. Closed source advocates, including Microsoft corporation, argue that since no one is responsible for open source, there is no way to know whether it has been fixed. Open Source advocates argue back that no one knows what bugs exist in a closed source product, since there is no one checking claims made by its vendor.

Some proponents of proprietary or closed source software believe that open source software is more susceptible to security problems due to the availability of its source code. They also believe that the main factor which causes exploitation of proprietary software such as Microsoft Internet Explorer is its large market share, making it an attractive target for attackers. In response, proponents of open source software may believe that the availability of open source code leads to faster discovery of security issues, and faster resolution of these issues. This approach is also used in cryptography: it is believed that a secure encryption scheme has to be able to withstand attacks from people who have access to the code, and that security through obscurity is not a good thing. Though, cryptography and software development are very much different things. Opening up the source code may in fact hurt the security significantly. For example, many open source web programs using php have serious security problems and although these problems are being fixed, they are only fixed when affected end users prompt the developers about the problem.

Influence on other fields

The open source movement has been the inspiration for increased transparency and liberty in other fields. One example, is the release of biotechnology research by CAMBIA.

Advocates

Bruce Perens, Eric Raymond, Linus Torvalds, Paul Vixie, Alan Cox, Tim O'Reilly, Brian Behlendorf

Richard Stallman is a central figure in the similar free software movement, which has a different philosophical basis; Stallman does not want his name associated with the term open source.

Comparison of free software with open source software

While on a practical level Open Source Software and Free Software usually share the same licenses, according to the FSF, the Open Source movement is philosophically distinct from the free software movement. It began in 1998 with a group of people, notably Eric S. Raymond and Bruce Perens, who formed the Open Source Initiative (OSI). They sought to (1) bring a higher profile to the practical benefits of sharing software source code, and (2) to interest major software houses and other high-tech industry companies in the concept. These advocates see the term open source as avoiding the ambiguity of the English word "free" in free software. The term "open source" was coined by Christine Peterson of the Foresight Institute think tank. It was attempted to register this as a trade mark for Free Software products, that attempt failed. Years later, the OSI finally obtained the trade mark on "OSI Certified".

Many people recognize a qualitative benefit to the software development process when a program's source code can be used, modified and redistributed by developers. (See also The Cathedral and the Bazaar.) The free software movement places emphasizes the moral and ethical aspects of software, seeing technical excellence as a desirable by-product of its ethical standard. The Open Source movement sees technical excellence as the primary goal, regarding source code sharing as a means to an end. As such, the FSF distances itself both from the Open Source movement and from the term "Open Source".

Since the OSI only approves free software licenses as complying with the OSD, most people interpret it as a distribution scheme, and freely interchange "open source" with "free software". Even though there are important philosophical differences between the two terms, particularly in terms of the motivations for developing and using such software, they seldom make any impact in the collaboration process.

While the term "Open Source" removes the ambiguity of Freedom versus Price, it introduces another: between programs that meet the Open Source Definition, giving users the freedom to improve upon them, and programs that simply have source available, possibly with heavy restrictions on the use of that source. Uninformed people might assume that any software that has source available is "open source" because they can tinker with it themselves. However, much of this software does not give its users the freedom to distribute their modifications, restricts commercial usage, or otherwise restricts users' rights. This is the case with Microsoft's "shared source" initiative, and to a lesser extent with the "license-free" software of Daniel J. Bernstein.

Prominent projects and organizations

Examples of open source licenses

For a more extensive list, see Open source license.

Examples of open source software

For a more extensive list, see List of open-source software packages.

See also

Contrast with