The production of free software, like the production of any software, responds to the need to solve a specific technology problem.
For example, to add functionality to an application or to troubleshoot malfunctions.
Although the technological process of refining and developing a free software application may share many similarities with an application based on proprietary software, the difference marked by the openness of the model gives it a special type of operation. In other words, the open and cooperative nature of its production affects the structure of quantitative and qualitative evolution down the versions.
Many authors have written about the specifics of producing free software. Since it is not the aim of this module to detail or describe these features at length, given that they are comprehensively dealt with in other subjects, we will focus here on pointing out some of the more interesting ones in our case.
To do so, we will consider some of the concepts in Eric S. Raymond's paper The Cathedral and the Bazaar, which analyses the special features of free software, particularly GNU/Linux.
Recommended website
E. Raymond (1997). The cathedral and the bazaar (http://www.catb.org/~esr/writings/cathedral-bazaar/).
The origin of production
Broadly speaking, the production of free software emerges from the particular needs of the user or developer in his or her daily activity. In other words, collaboration on the development of the software begins when we look for and find a problem that we want or need to resolve.
Early stages of production
The bulk of the foundations of free software are based on the publication of specific adaptations or developments made by workers in the performance of their daily work.
The user community
The free software user community, which includes both end users and developers and programmers, is the pillar that gives meaning to the definition of free software development.
Treating users as partners in the production project is the easiest way to debug and improve the code quickly (if the collaborator base is big enough).
Thus, collaborators are one of the most valuable resources for the development of the application, so it is also helpful to recognise good ideas and the solutions they provide.
Versions of the application
One of the features of free software production is the reuse and rewriting of the original code to create a new code that is either error-free or which has new features or improved performance (among other aspects).
Moreover, free software development projects encourage the quick and regular release of the code, which means that the project activity is dynamic and continuous.
Coordination of production
The individual – or individuals – who coordinate/s the project must be able to manage the global potential of the user community, guiding the project's evolution without coercion and taking advantage of the resources and synergies offered by networks such as the Internet.
The legacy of the application's code and coordination management are important for the future of the free software development project. The choice of a successor to control and manage production should not be left to chance.