Free and open-source software (also known simply as Free software or Open source software) is software created by loose networks of people (both companies and individuals) who collaborate for mutual benefit. The software they produce is also made available for anyone else to freely download, use and modify because the developers also publish the human readable source code  used to create it.
Making source code available means anyone with the programming ability can customise the software for their own ends or contribute to the development project directly. Others can help by reporting bugs and helping with documentation or translation efforts. So this encouragement of interaction between users and developers, and some users becoming developers, creates a positive feedback loop in the software's evolution. Open source is becoming a very prominent method of software production and poses a serious challenge to commercial products - as the quality of open-source software approaches and supercedes commercial software, how will software companies compete with free?
Although 'free software' is usually free of charge, the 'free' in the title actually refers to the user's freedoms to use, modify and redistribute the software. It should be also noted that 'Free software' is not the same thing as 'freeware' or 'shareware' which although they might be free to download, do not usually come with source code and cannot be freely modified or redistributed.
edit What is the motivation to contribute?
Here are some reasons to 'open-source' a project or contribute to one:
- Find other people to work with you on your project, enable you to do things you couldn’t do alone, or significantly speed things up
- Companies can get help with the evolution of their software and increasing its robustness while making money from offering support packages
- Individuals are contributing to the wider the community that has freely offered software for them to build upon, or simply use no strings attached
- Satisfaction that many other people can potentially benefit from your efforts
- Customise software to work exactly how you, or your company, want it to
- The concept of 'copyleft' changes the way people think about collaborating and giving their time to open projects
- Respect from creating a great software that becomes widely used
This methodology originated with software development but is certainly not limited to it. A notable example beyond software is the 'open content' Wikipedia  , the famous collaborative encyclopaedia which is accessible and editable by anyone with a web browser. Its founder Jimmy Wales ambitiously states that he wants to capture the knowledge of all humanity and make it freely accessible to everyone - and the project to date is a very impressive start. It was began in 2001 and is now the largest and most comprehensive encyclopaedia in the world, grown organically by the contributions (and editing) of thousands of users, and the overall quality of articles on the whole is surprisingly good. See this article (2005) from the journal Nature comparing Wikipedia to Encyclopedia Britannica.
With a few built-in mechanisms to make sure the project doesn't dissolve into total chaos, the result is that this pool of knowledge is assembled and edited by people who want to do it and is now an amazing resource for anyone wanting a basic introduction to almost any subject. No-one is paying them to do it and no-one is telling them to do it, they contribute because they want to. It feels like the right thing to do - they are contributing to something greater. Contributors' know their efforts will be used and appreciated by thousands of other people, and that others are doing likewise. It is worth noting that like all encyclopaedias Wikipedia is not a 'primary source' for information and should be considered only as providing a useful introduction to a topic. It is always worth cross-referencing information from other sources too.
It is apparent that these methods could also be applied to the design of physical machines and artefacts. With this development model designs, photos, instructions and CAD models are stored on the internet for others to use and improve upon. Design and engineering is arguably even more suited to this method than software design. This is because looking at a CAD model, especially if animated, allows an intuitive understanding of how the object functions, whereas software is composed of reams of (often obscure) programming code. Architecture is another area well-suited to open collaboration, as the Open Architecture Network has proved.
See also
OpenStreetMap
'Free software' was originated by Richard Stallman in the early 1980s while a programmer at MIT's artificial intelligence laboratory. He was extremely frustrated by the increasing proprietary nature of software which placed restrictions on users wanting to modify or improvement it. Up until the '80s software had generally been freely available as it was the computer hardware that was seen as the commodity.
He thought people would benefit more from having basic freedoms concerning using and developing rather than it being locked down commercially. For any software to qualify as as 'free software' he stated it must have the following freedoms:
- The freedom to run the program for any purpose.
- The freedom to study and modify the program.
- The freedom to copy the program so you can help your neighbour.
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
He then setup the Free Software Foundation (FSF) as an organisation to promote these principles.
In the late 1990s a faction from within the free software community created a new term 'Open source' in order to dispel the common confusion over the meaning of 'free' (it refers to freedom rather than cost), and to make this development model appeal more to the business sector who were seen as a major resource in helping evolve this kind of software. Richard Stallman and the Free Software Foundation have never been happy with this move though, and distance themselves from the new term.
However for most people 'Free software' and 'Open source' are effectively the same thing despite the philosophical wrangling. The combined term 'free and open-source' is used here to refer to the movement generally.
edit Some major free and open source software projects
Main Page > Open collaborative design > Free and open-source software > Examples of free and open-source software
This page lists good quality free and open-source software that anyone can download at no cost and use or modify freely. Plenty more quality open-source software exists – this is just an introductory sample. Most of these programs are cross-platform, meaning they can be installed on MS Windows, Mac OS X and Linux.
The software below is not freeware or shareware, which are both significantly different to open source.
Operating systems and Desktop environments
Graphics and multimedia
- GIMP - Bitmap graphics editor, similar to Adobe Photoshop
- Inkscape
- Vector graphics editor
- VNC
- cross-platform remote desktop utility. For example it enables a Mac to control a Windows or a Linux PC (or vice-versa)
- Blender
- Advanced 3D modelling and rendering application. Gallery
- Art of Illusion
- Java-based 3D modelling and rendering application with an intuitive user interface. Gallery
- VideoLAN
- cross-platform media player capable of playing most video filetypes
- Miro video player - cross-platform media player that can automatically download videos from RSS-based "channels" and play videos sequentially from a playlist
- Songbird - similar to iTunes with built-in browser. Screencast
- Audacity
- digital audio editor
- Ardour - digital audio workstation
- Scribus - Desktop Publishing (DTP)
- F-Spot - Photo manager
Office software
- OpenOffice.org - office productivity software. Comparable to Microsoft Office. As well as having using an open file format it can read and write Microsoft Office files
- NeoOffice - Mac OS X version of OpenOffice
- KOffice
- office suite for KDE desktop (Unix / Linux)
- AbiWord - word processor
- Evolution - personal information manager
- PDFCreator - creates PDFs from any Windows program. Use it like a printer (Windows only)
Internet related software
Content management systems
- Joomla!
- CMS
- Alfresco - CMS
- MediaWiki
- wiki content management software. AdCiv.org is powered by MediaWiki
- Drupal
- modular content management framework and blogging engine
- Plone
- python-based CMS
See more open-source CMS software here
Other
- Celestia 3D space simulation software. For a tour of its capabilities, select 'Run demo' from the 'Help' menu. Gallery and addons
- NASA worldwind - virtual Earth / Moon / Mars software
- FlightGear - flight simulator
- Second life
- virtual world viewer (as in a virtual reality, rather than a virtual Earth model)
- FreeMind - mind mapping software
- Stellarium - planetarium software for accurate representations of the night's sky from any location or time
- K3b
- CD and DVD authoring application for Linux
- phpMyAdmin
- web front-end for MySQL database management system
- Vega Strike
- Space flight simulator and trading game
- Wine - a compatibility layer for computers running Linux that enables them to run many applications that were originally written for MS Windows
- Freemat - environment for rapid engineering and scientific prototyping and data processing
Programming related
- Eclipse
- software framework and Java IDE
- GTK
- Popular widget toolkit for the X Window System, for creating graphical user interfaces
- QT toolkit
- cross-platform application development framework
- KDevelop
- Programming IDE for Linux / Unix
- PHP
- server-side programming language
- PERL
- Dynamic programming language
- Python
- versatile, clean and powerful programming language used for cross-platform desktop applications, server-side scripting for websites, and scripting within java and .net environments
- GNU Compiler Collection (GCC)

- MySQL
- Database management system
- Java
- Programming language
- Mono
- Free and open-source crossplatform .NET implementation
- OpenCV - Real-time computer vision function library
More comprehensive list of open-source software
</div>
These are some examples of open-source software that anyone can freely download and use, or even modify, without restriction
Click to enlarge a thumbnail image. Click a second time to get a full resolution image
OpenOffice.org Writer (word processor)
|
OpenOffice.org Calc (spreadsheet)
|
OpenOffice.org Impress (presentation)
|
OpenOffice.org Draw (vector drawing)
|
Celestia 3D space simulator
|
KDE desktop environment for Linux (and Unix)
|
Gnome desktop environment for Linux (and Unix)
|
Inkscape 2D vector drawing
|
|
Miro video player with RSS feeds
|
|
FreeMind mind-mapping software
|
Audacity digital audio editing
|
Kivio flowchart drawing (Linux only
|
Mozilla Thunderbird email client
|
|
|
Eclipse software development framework
|
Xara Xtreme 2D vector drawing (Linux only)
|
|
VNC cross-platform remote control screenshot showing a windows PC controlling a Mac and Linux desktop in separate windows
|
KDevelop integrated development environment (Linux only)
|
|
Songbird web-surfing music player
|
K3b CD and DVD burning (Linux only)
|
Art of illusion 3D modelling
|
Scribus desktop publishing
|
FlightGear flight simulator
|
Xfce desktop environment for Linux (and Unix)
|
Ardour digital audio workstation
|
F-Spot photo manager (Linux only)
|
Second life virtual world screenshot
|
Stellarium - accurate representations of the night's sky
|
Beryl - hardware accelerated 3D window manager for Linux
|
|
NeoOffice - Version of OpenOffice.org for Apple's Mac OS X
|
Freemat - free environment for rapid engineering and scientific prototyping and data processing
|
Click to enlarge a thumbnail image. Click a second time to get full resolution image
</div>
|