Contrary to what many people believe in free software projects not are different roles where they can develop different skills and which has responsibilities associated with the profile you have in the project, this way you can organize and structure all the work of the community.
The most common roles in free software projects are:
- Developer: main skills are designing, coding, information exchange, technical documentation, troubleshooting, etc.
- User: bring your vision of the project, either in the form of improvements or incident, participate in forums, read the FAQ’s, etc.. There are two types of users: normal and advanced or ‘techy’.
- Maintainer: the different sections manager of the project, such as translations, patches, issues, etc.. They are responsible for managing and coordinating the people who work in each section.
- Documentation Writer: made contributions in different documents of the project.
- Translator: help translate projects into other languages.
- Tester: almost all roles can act as testers, most of the time are the developers and advanced users who report the errors to the bug tracking system.
- Community Manager: is a very important role as they help to grow and expand the community around a free software project, promoting the project and facilitating communication within the community.
- Project Leader: is the most important person in the project, usually the founder or the most active developer. In many cases they are benevolent dictators.
As an example, the Fedora community can see most of these roles divided into the following groups:
The board of Fedora Project are composed by 4 members of RedHat and 5 members of Fedora that they take the strategic and organizative decisions of the projects, also this project have the Fedora Project Leader which has a right of veto over any decision of the board. This way you can see that the community is highly organized and it is possible to distinguish the different roles in it.
From my point of view, to think that FLOSS projects don’t have a structure defined as a consequence of the volunteers is a big mistake, and false, most of this projects have a well defined organizative structure, and doesn’t mean that people can not participate in different project areas, but specify the skills that can be developed and responsibilities for each area within the project. The decision to participate in an area is for each person, depending on their motivations, either to learn new skills, improve knowledge and skills you already have or to share affinities and common interests.
- Roles and organization in FLOSS projects
- Fedora Board
- Fedora Groups
- Karl Fogel. Producing Open Source Software: How to Run a Successful Free Software Project.