Skip to content

Latest commit

 

History

History
92 lines (53 loc) · 7.74 KB

GOVERNANCE.md

File metadata and controls

92 lines (53 loc) · 7.74 KB

Project Governance

Last updated March 06, 2023

Overview

FOSSBilling is an open source project which builds and maintains a free, open source billing and client management solution.

Anybody with an interest can join the community, contribute to the project, and be a part of the informal decision-making process.

If you have dev skills, opinions, or the ability to support the project financially, then please do contribute. There are no barriers to entry and there are many different ways to be a part of the future of FOSSBilling. See the Contribution Guidelines.

In the next few paragraphs, we will explain how project roles are assigned and how the decision-making process takes place.

TLDR; Project decisions are made by a consensus of the projects steering committee and informed by community discussion.

Community

The FOSSBilling community is made up of individuals, companies, or groups who use and/or contribute to the FOSSBilling software.

Anybody is free to use the core FOSSBilling software within the terms of the license. There are not and never will be any fees for usage, and no special requirements.

We really appreciate user contributions but if you just want to download, install, and go, then you have the complete freedom to do that.

Third-party modules and integrations for FOSSBilling are welcomed. We would appreciate if your third-party work was announced to the community so that it can be added to the list of known working extensions, however this is not mandatory. In all cases, please be aware of the restrictions attached to usage of the FOSSBilling name and branding, and approach us for permission if you wish to use the branding in any way other than explicitly listed.

If you do want to be more involved in the community then the project GitHub page, the Contribution Guidelines, and Discord are great places to start. You can also sponsor the project on GitHub Sponsors or with Open Collective.

Team Members (Maintainers)

Contributors who show a history of valid and high-quality contributions for over a period of time may be granted the status of Maintainer. Existing Maintainers or Steering Committee members may nominate contributors who they feel are suitable to be added to the team.

Although there is no concrete expectation of participation, contributions are what enable the FOSSBilling project to move forward and progress. Participation can take many forms, for example:

  • Participate in discussions on GitHub issues and pull requests.
  • Submit fixes and new features to FOSSBilling code repositories.
  • Submit documentation improvements to help others use FOSSBilling.
  • Create quality content for FOSSBilling communications: website improvements, newsletter articles, etc.

There are no specific skill requirements and no formal selection process. A contributor's elevation to the role of maintainer will be done after nomination by a team member, and then discussion by, and at the discretion of, the steering committee.

Acceptance to the maintainer role is initially provisional, and well be made permanent after a period of one month.

Maintainer status can be removed if somebody demonstrates disruptive behavior, if they resign, or if they do not participate in the community or contribute to the project for 6 months. This would be decided by a majority consensus of the steering committee.

Steering Committee

The steering committee is made up of community members and developers who make a sustained contribution to, and are recognised as being interested in, the long-term health of the FOSSBilling project.

Each member of the steering committee also takes ownership of the project on GitHub. This ensures that in the event of any one person abandoning FOSSBilling or being unavailable for some reason the project does not stagnate or stop.

At this moment the Steering Committee includes six members - identified here by their GitHub usernames:

Members of the steering committee may recommend and appoint new members from the community at any time. A nomination for a new member will result in a discussion and a vote by the existing committee members.

Members may be removed from the committee if they demonstrate disruptive behavior, if they resign, or if they do not participate in the community or contribute to the project for 6 months. In each of these cases except for resignation, removal can only be decided on after discussion and a clear majority consensus between the other committee members (committee members who are the subject of a removal vote are excluded from the right to vote).

Decision-making process

Major decisions about the future of FOSSBilling will be made after community discussion and by consensus of the steering committee.

We aim to resolve all issues and proposals through discussion, debate and collaboration. We are not saying that we will never resort to polls or votes but we will use them with care. Poll results will be used to help inform debate and consensus but they will not be taken as binding and definitive, and will not be the sole deciding factors.

Because we aim to be transparent in our decision-making, all discussion on any issues and proposals, with the exception of security and sensitive governance issues, will take place in public on GitHub and Discord.

Ideologically it would be great to involve all community members in every decision, but in practical terms, it is simply not possible if we want to be able to move forward at a reasonable speed.

For the same reasons, to allow faster decision-making and development, the project operates a policy of ‘lazy consensus' which allows for much faster decision-making within the community and means that most decisions can be made without the need for a formal vote.

Decision-making normally passes through these steps:

  1. Proposal (which may be formal or informal)
  2. Discussion (with the wider community and within the steering committee)
  3. Vote (if consensus has not been reached during discussion)
  4. Discussion (informed by the result of the vote)
  5. Decision

Any member of the FOSSBilling community is free to make proposals for consideration. You can make a new proposal by starting an issue on the project GitHub page. Feel free to discuss and share ideas in the official Discord chat, but only issues created on GitHub will be considered as active proposals.

In general, if nobody explicitly opposes a proposal, it is recognised as having the support of the community. This is the principle of lazy consensus, meaning that anyone who has not explicitly stated their opinion has implicitly supported the proposal.

Changes to this governance policy

Any community member is free to propose changes to this governance policy by submitting a proposed change to this document, via a GitHub pull request. The steering committee will discuss any proposed changes and aim to reject or accept the changes by consensus.

If the committee is unable to agree on the proposal then the wider community will be asked to vote on the changes, with a clear majority vote needed for the governance changes to take effect.