Open Source is a software development model being promoted by the non-profit Open Source Initiative (OSI) corporation and other organizations.
Open Source refers to software where the source code is available for anyone to modify. There are many different licenses under which open source software is available, all varying slightly to the degree on the conditions under which the software can be modified and redistributed.
Although the development model for open source software may seem counter-intuitive, for many projects it has been shown to be very successful. Generally, open source software is distributed with the underlying source code available for anyone to freely modify and redistribute. This development model is very similar to university research and the 'best of the public' model, where discoveries and research are published in peer reviewed journals or other venues, which are then built upon by other researchers and contributors spawning further ideas and discoveries.
There is a common misconception that open source software must be given away for free, but this is incorrect. Although most open source software is indeed available for free, with the authors usually charging for consulting and other services, there is no obligation for them to do so.
Open source software is also known as "free software". However, its advocates acknowledge that name is misleading in that it sounds, at first hearing, as if the software costs nothing. "Free", in this context, means users are free to modify the software for their own purposes. As its advocates like to say, it means "free speech, not free beer" (see also free software movement).
Examples of well known open source software:
- MediaWiki - Wiki software used for sites such as Conservapedia and Wikipedia.
- Apache - Apache web server, the most popular web server in the world.
- Firefox - Firefox web browser developed by the Mozilla Foundation.
- PHP - PHP: Hypertext Preprocessor, a scripting language used to create dynamic web sites such as Conservapedia.
- Linux - Operating system kernel used to create distributions such as the one running the server on which Conservapedia runs
A related concept is one espoused by Richard M. Stallman and his followers: copyleft. Copyleft subverts copyright law to create a class of software code and art that only allows for redistribution of code as long as those using the code also allow it to be redistributed. That way, software is developed from each according to ability and used according to need.
Copyleft as a mechanism requires that any software which uses code from copylefted software to be licensed under the same terms -- making it copylefted as well. In the long run, this will lead to more and more software being licensed under copyleft terms. Not only that, but, due to the nature of copyleft, a lot less diversity in licenses is possible -- in fact, the most popular copyleft license, the GNU General Public License (GPL), is used for the majority of copylefted software. If this tendency will not be stopped, all open source software is soon to be licensed under one license.
The other kind of licenses, permissive licenses, allows usage of code without having to relicense it under the same conditions original code uses, thus allowing for more liberties for both programmers and users. The most known permissive license is the BSD license, but lots of other licenses are used in practice. Many businesses prefer using permissively-licensed code, as the licensing terms are more comfortable in their cases.
Open source software and patents
As open source software is available for everyone to use and distribute free of charge (even if the owner requires to pay to access the code, it can freely be redistributed after that), it is nearly impossible for open source software developers to use any patent agreements requiring to add a fixed price to every copy. In fact, the 3rd version of Stallman's GPL explicitly forbids to use any patents not owned by the developers at all. While this shows quite a problem with the current patent law, it leads to an even bigger problem.
Microsoft has claimed several times that the Linux kernel, as well as basic programs from most versions of Linux distributions, violates a number of patents Microsoft owns. While MS didn't disclose the actual patents violated, several companies who distribute Android or Linux-based devices decided to enter the patent agreement.