Where were we? Ah, we have clarified some general aspects like what is FINkers United, what is its purpose, how can you become a member and so on and now it is time to explain what roles you can have in this community and how you can actually contribute.
Chapter 2: Structure and Roles
How can I contribute?
There are many ways you can contribute and thus become part of this living community. What you can do depends on your choice of involvement. The more dedicated you become, the more possibilities will open to you. Depending on your level of involvement, you can be a member, a contributor (individual or corporate) or a committer.
Can you detail the member part?
Anyone can become member of the community. You just have to be interested in what we are doing. You might very well be a user who downloaded and used our code and now just feel the need to give us your feedback. You might want to stay in touch with forum discussions, latest news and events or just burst with new ideas and suggestions.
Apart from that, members usually provide feedback on their experience using our outcomes, inform our developers of strengths and weaknesses they found and identify possible new features, support new users (share the experience they gained).
Note: When becoming a member you will be asked to agree to our code of conduct.
How about the contributors?
Community members who wish to take part in concrete ways in the community running may become contributors, and contributions can take many forms. There is no expectation of commitment to the project, no specific skill requirements and no actual selection process – all you have to do is to agree upon the terms and conditions of the CLA (Contribution License Agreement). Contributors engage with the project through forum, blog, Idea box, projects, and mailing lists.
When we talk of contributors though, we need to make the distinction between an individual contributor and a corporate contributor.
Individual contributors are the members willing to give away the outcomes of their activity within the community, no matter if they are a requirements designer, architect, developer, tester, document writer, or translator, you name it. Their artefacts will be submitted as patches and validated by committers or project maintainers, but their contributions will always be acknowledged.
Corporate contributors are those companies willing to empower their employees to become contributors within our community. This way they will always be in the middle of things and also have the possibility of influencing the paths the projects are going. All they have to do is to agree the terms and conditions of the CCLA (Corporate Contribution License Agreement) in order to avoid any copyright issues that may rise. This will come together with a list of employees the company agrees to have as contributors.
What can I, as a contributor, do more than a simple member?
There are several things a member cannot do, but a contributor can, such as: analysing and designing requirements, adding features, programming, fixing bugs, writing documentation, software localization, providing graphics and web design, etc.
You said something about a… committer, was it? What is that?
Generally, a potential committer is a contributor who has shown an understanding of the project, its objectives and its strategy and has provided valuable contributions to the project over a period of time. Consequently, the community will return his/her trust and (s)he may be nominated for committership by an already existing committer (initially, these are the project maintainers). Committers have no more authority over the project than contributors, as their work continues to be reviewed by the community before acceptance in an official release. The key difference between a committer and a contributor is when this approval is sought from the community: a committer seeks approval after the contribution is made, rather than before. Seeking approval after making a contribution is known as a commit-then-review process. The candidates for committership are voted within the project. Once the vote has been held, the aggregated voting results are published. Nominees may decline their appointment as a committer.
A committer who shows an above-average level of contribution to the project, particularly with respect to its strategic direction and long-term health, may be nominated to become project maintainer, and thus part of the Technical Committee.
Ah, so many new things you mentioned! If I understand correctly, I can be more than a committer in FINkers United?
Yeap, you can be a project maintainer. Project maintainers are contributors with leading role in managing the project assigned. Their role is to ensure the smooth running of the project by reviewing code contributions, participating in strategic planning, deciding upon matters for which the consensus cannot be reached, making sure that all governance processes are adhered to. The project maintainers have access to the project’s private sections and its archives (used for sensitive issues, such as votes for new committers and legal matters that cannot be discussed in public). Any new project maintainer is nominated by the existing project maintainers and is voted together with the project members. Technical committee may cast a veto. The project maintainers remain in role until they retire or the majority vote removes any of them.
You keep mentioning this voting process. What’s it about?
Issues such as those affecting the strategic direction or legal standing of the project must gain explicit approval in the form of a vote. Besides those there is also a not so dramatic voting request that will help us to prioritize projects, ideas to become new features, etc.
Every community member is expected to share his/her opinion on all matters and so they will simply cast votes. However, only the meritorious members will have a binding vote for the purpose of decision making (project maintainers, committers, Steering Committee members). This does not mean that you cannot make a difference, even if you are none of the above mentioned meritorious members, as a well justified vote may get supported by a binding vote.
A veto can be expressed only by binding votes. Any objection is to be addressed by the community until the objection is either revoked, overruled (in the case of non-binding votes) or the proposal is so altered as to achieve consensus. If no consensus is achieved, then Steering Committee may decide upon it.
I got it, but there is something I want to get back to. What is the technical committee?
The technical committee includes all the project maintainers. They are entitled to cast binding votes, can nominate committers and have a representative within the Steering Committee of the community. They may approve changes to the governance model and manage the copyrights within the project outputs and decide on matters that affect more projects.
Is it anything higher up the chain?
Yes, as I mentioned, there is the steering committee. The steering committee is a group of decision makers and has the role of the moderator: the instrumental inspirational authority, expected to draw both the development vision and the guidelines of the community.
I know it’s a lot of information at one time, but it will become even clearer when we explain in our next chapters how everything actually works in the community, what are the standard processes and so on.