Proposal for NethServer governance model:
The past 2 years we have discussed a lot about Community Governance. Until now NethServer Community didn’t have a formal governance model. But the community is growing and to keep everything sustainable, we do have the need for a more formal way of governing the community. But I think we have to stay close to our values of being an open community.
A bit of history on Community Governance and the discussion in our community:
The discussion started over 2 years ago. Back then we came to consensus that it was too early to formally go for community governance. But before the Community Summit last summer, the discussion started again, and over the years, the community grew and matured. We are now a community of over 2500 members, with over 500 active members. Time to have a look again at a community governance model.
When going through the process of finding ways to make the community sustainable and a home for anyone who wants to join, I went looking for information on how other communities implemented their governance.
I will list some options that already were mentioned during the previous topics on community governance. Please take time to go through all the links. This is an important topic and determines the future of our community. Only by getting all information on this topic, you will be able to form an weighed opinion.
First the topics in our community forums:
Also some background information on why governance is important:
THE TYRANNY of STRUCTURELESSNESS by Jo Freeman
As always also links to ‘how others implemented governance’, to get an idea of different approaches. I like cherrypicking, but not all implementations of community governance are that ripe cherries that we like. Have a look at different options:
Apache governance: https://www.apache.org/foundation/governance/
Ubuntu governance: https://community.ubuntu.com/t/governance/332
Debian governance: http://oss-watch.ac.uk/resources/debianleader
Fedora governance: http://fedorarepository.org/governance
CentOS governance: https://www.centos.org/about/governance/
OpenSuSE governance: https://en.opensuse.org/openSUSE:Guiding_principles and https://en.opensuse.org/openSUSE:Members
As you go over the examples of governance mentioned, you will notice that there is a growing amount of freedom in these examples. Since NethServer already is an open community and tries to be as transparent as possible, my proposal towards the NethServer Community Governance will be very close to the OpenSuSE way of running the community.
In the past 2 years we have had a lot of discussion already about Governance for our community. You can read back those discussions in the links posted above.
Last Fodem we were lucky enough to have a room for face to face discussion. You can review this discussion trhough https://www.pscp.tv/w/1mnGeXyMZYoKX thnx again @davidep
Also during fosdem there was a talk by Richard Brown, Chairman of the OpenSuSE community. His talk was a real eyeopener for me. You can watch the talk on the fosdem website: https://fosdem.org/2018/schedule/event/distributions_are_not_democracies/
My proposal for the NethServer Community Governance is as follows:
- install a board that is responsible for the day to day running of the community. This board should contain an odd amount of seats. Each seat to be filled by community members that step forward.
To be discussed: The way of filling in these seats is to be discussed. If we look at the OpenSuSE community, a rule exists that a maximum of 2 members can work for the same company. This implies that the major sponsor of the community, can have a maximum of 2 seats in the board.
Since the NethServer / Nethesis situation is (IMO) quite different, I am unsure if we should copy this. The community members that are Nethesis eployees are also true open source followers and maybe should be able to apply for a seat. Another option could be to allow Nethesis to have 50% of the seats.
Another thing to consider is that leading a community is a huge task. If taken serious, it even is a full time job. Since we already have a professional community leader, I think it would be a wise move to assign the seat of community chairman to @alefattorini.
To be discussed: How many members should the board exist of? I see the board tasks mainly as a effort to keep the community thriving and growing. This is not exactly a technical task, more a community task. ANY community member should be able to get elected for a seat in the board.
To be discussed: To make it possible that ‘fresh blood’ enters the board, there should be organised regular elections. Question: what period of time would be appropriate to fill a seat in the board? Should it be possible to get elected multiple times in a row? Should there be a maximum amount of times anyone can run for a seat? Should the chairman be elected by the community or among the members of the board, by the board?
The mandate of the board:
• Act as a central point of contact
• Help resolve conflicts
• Communicate community interests to Nethesis
• Facilitate communication with all areas of the community
• Facilitate decision making processes where needed.
What about a technical board?
My proposal is to NOT install a technical board. In many communities there is a technical board that sets out the technical direction of the project. IMO this will only lead to conflicts because of different points of view. To bypass technical fights, I propose to make the NethServer project as free as possible. IF someone wants to have a feature implemented, and is able to produce a working package for that feature, there is place for that feature in NethServer. As always, even though the module has been built voluntarily, maintaining such a feature should be sustainable. If someone or a group of volunteers has created a module, work should be undertaken too to keep these modules up-to-date.
The place for these modules ultimately would be the NethForge repository. If a module should be added to the Core repository, discussion is needed with Nethesis developers.
What about current special groups?
At the moment we already have several groups in action. These are:
- @dev_team
- @docs_team
- @quality_team
- @translations_team
- @education_team
- @welcome_commitee
- @ambassadors_group
All these teams are open to join if an interest and dedication is shown.
The @ambassadors_group is a special team. It is only accessible to those that have shown dedication towards the community for a long period of time. The @ambassadors_group has the task to help the board with the practical part of getting new members to the community, making the community active thriving and a pleasant place to be. The @ambassadors_group will regularly review the members of the community and discuss internally if new members should be asked to join the @ambassadors_group.
Like the modules that are open to be developed by anyone, all groups, except the @ambassadors_group are open to join by anyone, IF motivation and dedication is shown by the member. The base will be: do the work then anything is possible.
To be discussed: Do we keep all these groups? Do we need other additional groups?
Any other options? Setting up Community governance is a huge task. I deliberately leave points open for discussion and stay away from pitfalls that are filled in in other communities. But in order to keep the NethServer community as open and transparent as possible, I am a firm believer in as little as possible rules and regulations. We already have proven that we are an open community and the activity we have speaks for itself that we are a thriving community.
We should stay as close to our current principles:
• Be polite and inclusive.
• Be open.
• Feel free to ask any question: others can learn from your question.
• Answer questions if you can, mention others if you think they can give a better answer.