Open sourceOpen source is a work methodology that fits the Open Source Definition, and generally is any computer software whose source code is either in the public domain or, more commonly, is copyrighted by one or more persons/entities and distributed under an open-source license such as the GNU General Public License (GPL). Such a license may require that the source code be distributed along with the software, and that the source code be freely modifiable, with at most minor restrictions, such as a requirement to preserve the authors' names and copyright statement in the code, a concept known as copyleft. In some cases, as with Apache or FreeBSD, there are only very minor conditions on use of modified versions. When used as an adjective, the term is hyphenated, e.g. "Apache is open-source software."
These are rights for users of the software. An open-source license itself does not necessarily require that the software, or its source, initially has to be freely (in both senses of the word) available on the Internet. Most popular open-source software is, however.
The term open source in common usage may also refer to any software with publicly available source code, regardless of its license, but this usage provokes strong disapproval from the open source community. Examples of such "disclosed source" software include some versions of Solaris and PGP. There are also shared source licenses which, on the surface, appear to be open source, but have critical differences.
"Open Source" and "Free Software"
In the strict definition, the term "open source" is distinct from "free software," and it should only be applied to software that meets the terms of the Open Source Definition (see also the Free Software Foundation's (FSF) Free software definition). 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 speech, not 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, and would also be easier to "market" to business 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.
The Free Software Definition is slightly 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 of the few counter-examples was 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.) For instance, software distributed under both the GPL and BSD licenses are considered both free and open source (the original BSD License had terms legally incompatible with the GPL, but this practical difficulty is a separate issue from its free-ness). Confusion about the distinctions between free and open source software is the source of some misunderstanding, particularly in the mass media where the two terms are often applied interchangeably.
The 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 the Free software movement, and 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 Open source debate
The debate over open source vs closed source (alternatively called proprietary development) is very much a religious war. While vast numbers of the current technology community members are proponents of open source, there are also people on the other side of the debate. The most obvious complaint against open source software involves intellectual property rights. Some software development companies do use the copyright and patent rights provided for software developers as their primary source of income. By keeping their software source code hidden, they can demand fees for its use. While most software is written for internal use, the fees from sale and license of commercial software is the primary source of income for companies which do sell software. Additionally, many companies with large research and development teams often develop extensive patent portfolios. These companies charge money for the use of their patents in software, but having software be open source means that there is a potential to have a nearly infinite number of derived works using patented technology, unbeknownst to the patent holder.
Another common argument, one that is more difficult for open source advocates to contradict with hard facts, is that closed source development allows more control over the final product. 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 the monetary resources to fund developers and management, and the ability to force development in a given direction, closed source proponents argue that development can be more efficient and more focused.
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 often key technological components missing due to the fact that no one has the time or effort to volunteer to do them. For example, multi-threading and SMP capabilities in open-source operating systems historically (and in some cases currently) lagged behind commercial systems such as Microsoft Windows, simply because the work was not considered an interesting problem by enough qualified developers. This argument tends to hold mostly for very difficult or obscure projects with minimal immediate return, such as support for specific hardware or a long-term overhaul of system architecture. It also does not take into account the generally higher quality of such work found in the open-source projects once the work is actually undertaken. Finally, in recent years many companies, notably Apple, Red Hat and Transmeta, have begun paying full-time developers for working on open-source projects.
Open source advocates
- Bruce Perens, Eric Raymond, Linus Torvalds, Paul Vixie, Alan Cox, Tim O'Reilly, Brian Behlendorf, Russell Pavlicek (author of the book Embracing Insanity)
Projects and organizations
- Debian, FreeBSD, Mozilla, NetBSD, OpenBSD, Linux, OpenOffice.org, Open Source Initiative, OSDN, Slackware, BerliOS, SourceForge, NOSI, GNU
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.
- Apache, Linux, BSD, Mozilla, GNU Emacs, TeX, Vim, XFree86, the GIMP, PHP, Zope, KDE, GNOME, OpenOffice.org, MySQL, Moodle, Postnuke, phpBB
On the creation of the name "Open Source":
General links about open source:
Source | Copyright
Webmasters: Add your website here:
Readers: Edit |
Endorses development and hosts a repository of free, open source IP cores such as chip designs, system-on-a-chip and supplemental boards.
Open Source Hardware
Industry analysis paper for a college course proposing a business to apply the Open Source model to hardware.
Goal: make quality Intellectual Property available to anyone. Includes high quality large cores in synthesizeable VHDL.
Hamburg VHDL Archive
Provides a collection of free, public-domain or shareware, VHDL documentation, models, and tools.
Microcontroller: VHDL: PIC 16C5X
One stable version, and another one under development.
Richard Stallman's thoughts on free hardware.
CynApps, Inc: Cynthesis Applications
Cynlib: open source C++ hardware design class library and simulator.
Aims to make VLIW and other novel ILP architectures hundred percent compatible with popular existing architectures such as PowerPC, x86, and S/390, as well as the Java Virtual Machine.
Broadly supported C++ open source language and simulation kernel for modeling and implementing electronic systems.
Site has a searchable index of many designs, tools and manufacturers.
Writings on Open Source Hardware
A collection of links to writings on themes related to Open Source Hardware like definitions, libraries, talks and conferences.
Art Interface Device
The Art Interface Device (AID) is a microprocessor platform for building electronic installation art. It can also be used as an interface between such artworks and computers. It will enable the artworks to respond to people and the physical environment.
ThinkCycle: Open Collaborative Design
Non-profit initiative that supports open source development and hosts a public repository of engineering design innovations in critical problem domains, such as low-power devices and portable health-care solutions for rural settings.
The PalmOS Open Source Portal
Provides a database of links to Palm based open source hardware projects, such as memory cards and sensors.
SCEZ - Smart Card Library
Smart Card Library with documentation on hardware modifications to run that cards on a palm.
A site that documents what you need to build your Palm based robot.
Open Source embedded Ethernet Board combining and ATmega 128 with Realteks RTL8019AS.
Free Model Foundry
Advancing standard modeling practices within the electrical engineering community. Supporting the use of VHDL, Verilog, and IBIS modeling languages.
Formerly called "The HULK", Manticore is an open source hardware design for a 3D graphics accelerator. It is written entirely in VHDL.