Difference between revisions of "Free and open-source software"
Line 26: | Line 26: | ||
{{portalpageend}} | {{portalpageend}} | ||
− | {{detailed tour|Free and open-source computer-aided design| | + | {{detailed tour|Free and open-source computer-aided design|Examples of free and open-source software}} |
Revision as of 23:49, 26 February 2007
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. Main Page > Open collaborative design > Free and open-source software Here are some reasons to 'open-source' a project or contribute to one:
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:
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. Wikipedia articlesOrganisations
Documents and articles
Software links
There are many more quality free and open-source software listed in examples of free and open-source software... FootnoteThe 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. |
Detailed tour: previous page | next page