Free and open-source software/print
Intro
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.
Contents
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
Beyond software
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
- Open collaborative design and free and open-source computer-aided design for information on applying the open-source method to design and engineering
- Collaboratively generated educational material in the education section.
- Creative Commons - a non-profit organization devoted to expanding the range of creative work available for others legally to build upon and share.
OpenStreetMap
- OpenStreetMap - collaborative mapping project to create a free editable maps of the world, using GPS data and tracing of satellite imagery. Previous link is for map editor, a simple browser for the data is here: http://www.openstreetbrowser.org
Wikipedia article - Guardian article comparing to Google Maps
- Nautical chart version: OpenSeaMap
History
'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.
External links
Wikipedia articles
Organisations
- Free software foundation (FSF) website
- Open Source Initiative (OSI) website
Documents and articles
- FSF Free software definition
- OSI Open source definition
- "State of Open Source Message: A New Decade" (Bruce Perens 2008)
- The Cathedral and the Bazaar - an interesting essay on why the 'bazaar' model of open-source software development works well.
Software links
- http://www.ubuntu.com Free and open-source linux-based operating system
- http://www.OpenOffice.org Free and open-source office productivity software - word processor, spreadsheet, presentation software, database etc.
- http://www.mozilla.org/products/firefox Free and open-source web browser
- http://www.gimp.org Free and open source 2D bitmap-graphics editor
- SourceForge.net - world's largest Open Source software development web site
There are many more quality free and open-source software listed in examples of free and open-source software...
Footnote
The content management software that manages this website is open source and is called MediaWiki; and the server computer that hosts it is running a version of the Linux operating system called Debian which in turn is running the Apache web server (that serves about 60% of websites worldwide), the scripting language PHP , and the MySQL database.
Examples of free and open-source software