Free software development

Free software development (or Open Source software development, the phrases are similar in this article "free" is used but is synonym with "open source") is the process in which free software is created.

Free software projects most often starts with one developer releasing his or her work to the public. If it is good, it attracts developers that suggest changes and help the original developer develop the program. A small community arises, with atmost half a dozen involved developers working together. If the program is sucessfull it gains more users and more developers are persuaded to help contribute to the project. Eventually the project gains a life on its own and is no longer dependant upon the original developers interest in it which may vain and he or she may even retire. However, he or she may retain the position as the Benevolent Dictator for Life (BFDL) of the project and has a final say in all important decisions that has to be taken.

Contents

Tools

Central to the development process is the version control system (VCS). It is used to publicly store the source code for the software being developed in a repository. Everyone can download the source code with a version control client. However, only a core team of developers have write access to the repository.

The most popular version control system is CVS [1], but Subversion which has additional capabilities that CVS lacks is getting more and more used. [2] BitKeeper is arguably the best VCS of the bunch and is used in the development of Linux. [3][4] But it is itself not free software and therefore many developers shun away from it. [5]

CVS, Sourceforge, Savannah, Mailing lists, patch, IRC, Freshmeat, freenode

Process

The Cathedral and the Bazaar

Culture

"School of hard knocks" [6]

External links

See also: Free software development, Benevolent Dictator for Life, BitKeeper, Concurrent Versions System, Freenode, Freshmeat, Internet Relay Chat, Linux, Mailing lists, Patch