Free and open-source software

From AdCiv
Revision as of 16:33, 8 February 2007 by CharlesC (Talk | contribs)

Jump to: navigation, search
edit  

Intro

Free software foundation's GNU logo
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 11px-Wikipedia_logo.jpg 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  

Sections

edit  

What is the motivation to contribute?

Mozilla Firefox web browser logo

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
edit  

Beyond software

Wikipedia logo
This methodology originated with software development but is certainly not limited to it. A notable example beyond software is the 'open content' Wikipedia 11px-Wikipedia_logo.jpg, 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
OpenStreetMap example
(click to enlarge)
edit  

History

Fsf.png

'Free software' was originated by Richard Stallman 11px-Wikipedia_logo.jpg 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.

Osi.png

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  

External links

Wikipedia articles

Organisations

Documents and articles

Software links

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 11px-Wikipedia_logo.jpg which in turn is running the Apache web server 11px-Wikipedia_logo.jpg (that serves about 60% of websites worldwide), the scripting language PHP 11px-Wikipedia_logo.jpg, and the MySQL 11px-Wikipedia_logo.jpg database.

edit  

Some major free and open source software projects

20px-Logo.png Main Page > Open collaborative design > Free and open-source software > Examples of free and open-source software

See example screenshots below

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.

Free and open-source software logos

Operating systems and Desktop environments

Graphics and multimedia

  • GIMP - Bitmap graphics editor, similar to Adobe Photoshop
  • Inkscape 11px-Wikipedia_logo.jpg - Vector graphics editor
  • VNC 11px-Wikipedia_logo.jpg - cross-platform remote desktop utility. For example it enables a Mac to control a Windows or a Linux PC (or vice-versa)
  • Blender 11px-Wikipedia_logo.jpg - Advanced 3D modelling and rendering application. Gallery
  • Art of Illusion 11px-Wikipedia_logo.jpg - Java-based 3D modelling and rendering application with an intuitive user interface. Gallery
  • VideoLAN 11px-Wikipedia_logo.jpg - 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 11px-Wikipedia_logo.jpg - 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 11px-Wikipedia_logo.jpg - 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! 11px-Wikipedia_logo.jpg - CMS
  • Alfresco - CMS
  • MediaWiki 11px-Wikipedia_logo.jpg - wiki content management software. AdCiv.org is powered by MediaWiki
  • Drupal 11px-Wikipedia_logo.jpg - modular content management framework and blogging engine
  • Plone 11px-Wikipedia_logo.jpg - python-based CMS

See more open-source CMS software here 11px-Wikipedia_logo.jpg

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 11px-Wikipedia_logo.jpg - 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 11px-Wikipedia_logo.jpg - CD and DVD authoring application for Linux
  • phpMyAdmin 11px-Wikipedia_logo.jpg - web front-end for MySQL database management system
  • Vega Strike 11px-Wikipedia_logo.jpg - 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 11px-Wikipedia_logo.jpg - software framework and Java IDE
  • GTK 11px-Wikipedia_logo.jpg - Popular widget toolkit for the X Window System, for creating graphical user interfaces
  • QT toolkit 11px-Wikipedia_logo.jpg - cross-platform application development framework
  • KDevelop 11px-Wikipedia_logo.jpg - Programming IDE for Linux / Unix
  • PHP 11px-Wikipedia_logo.jpg - server-side programming language
  • PERL 11px-Wikipedia_logo.jpg - Dynamic programming language
  • Python 11px-Wikipedia_logo.jpg - 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) 11px-Wikipedia_logo.jpg
  • MySQL 11px-Wikipedia_logo.jpg - Database management system
  • Java 11px-Wikipedia_logo.jpg - Programming language
  • Mono 11px-Wikipedia_logo.jpg - Free and open-source crossplatform .NET implementation
  • OpenCV - Real-time computer vision function library

More comprehensive list of open-source software

</div>

edit  

Screenshots

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
GIMP bitmap editor
Miro video player with RSS feeds
Blender 3D modelling
FreeMind mind-mapping software
Audacity digital audio editing
Kivio flowchart drawing (Linux only
Mozilla Thunderbird email client
Evolution mail
Evolution calendar
Eclipse software development framework
Xara Xtreme 2D vector drawing (Linux only)
Nvu HTML editing
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)
Firefox web browser
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
Vega Strike 11px-Wikipedia_logo.jpg - Space flight simulator and trading game
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>

20px-Printer.jpg[print version] 20px-Update.png[update] 20px-Logo.png [site map]