Skip to content

Updates to funding bylaw #1328

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 51 additions & 20 deletions bylaws/010-funding.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,19 @@

## Scope and objectives

PHP-FIG is, as it often happens in Open Source communities, an organization composed by volunteers only; this doesn't exclude the fact that the organization itself may have some costs to sustain itself, for example maintaining tools such as a site and an email account. For such and similar reasons, we need a way to raise and govern money inside our organization. At the same time, we will avoid soliciting and collecting donations from private individuals, while instead trying to obtain funding from commercial companies and similar entities that, due to their profit which stems from the usage of Open Source Software, should contribute to the costs of the Open Source community at large.
The PHP-FIG is an organization composed entirely of unpaid volunteers and community members focused on improving the PHP ecosystem. As part of realizing its goals, the PHP-FIG has limited operating expenses like domain names, email accounts, and similar that require ongoing funding.

This document defines the roles, rules and processes that must be followed inside the PHP-FIG in all matters regarding money, to guarantee fairness, transparency and impartiality. This document intentionally describes the only allowed processes and ways to raise, administer and spend money, so that any change to such processes requires a bylaw change vote.

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119][].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in [BCP 14][] [[RFC 2119][]] [[RFC 8174][]] when, and only when, they
appear in all capitals, as shown here.

[BCP 14]: https://datatracker.ietf.org/doc/html/bcp14/
[RFC 2119]: https://datatracker.ietf.org/doc/html/rfc2119
[RFC 8174]: https://datatracker.ietf.org/doc/html/rfc8174

## Fiscal hosting

Expand All @@ -22,36 +30,59 @@ PHP-FIG SHALL NOT solicit donations from any party, especially from private indi

### Through OpenCollective

Direct contributions MUST NOT be accepted through Open Collective, to avoid private/personal donations; the collective home page MUST be set up in a way that:
* all contribution sections and features are hidden and/or disabled, if possible;
* explicit wording will be visible reminding visitors of the PHP-FIG stance in the matter (see "Scope and objectives").

### Through TideLift

Contributions SHALL be accepted through [TideLift](https://tidelift.com/). All three Secretaries, but only the Secretaries, MUST have full administrative access to PHP-FIG's TideLift account, which MUST be configured to pay out to the Open Collective account.
Contributions SHALL be accepted via [Open Collective](https://opencollective.com/) with the following requirements:

- The description MUST include the following:
1. A link back to this document on the PHP-FIG website.
2. A statement that we'd prefer contributions from companies rather than from private individuals.
3. A statement that donations do not give any rights nor provide any corresponding service.
4. Links to other preferred options for individuals to contribute as listed in this document, if any such exist.
5. A list of overfunding recipients as listed in this document, if any such exist.
- The following information MUST be configured to show:
1. Contributors and the amounts they contributed;
2. The total amount of money raised;
3. The total amount of money spent;
4. The total amount of money remaining in the account;
5. The itemized transactions, including the date, amount, and description

## Spending money

Funds donated to the PHP-FIG MUST be used solely for non-personnel, operating expenses. PHP-FIG SHALL NOT pay individual contributors to PHP-FIG standards or other personnel, like Core Committee members, Secretaries, Project Representatives or working groups.
All expenses MUST be approved by an Approval Vote of the Core Committee. The expense MUST include whether it is one time or recurring and at which frequency. All expenses MUST be justified by their contribution to the mission of PHP-FIG. In response to supplier price changes for previously accepted recurring expenses, Secretaries MAY request Implicit Approval from the Core Committee to raise the approved amount, only if that does not exceed a 10% increase.
Funds donated to the PHP-FIG MUST be used solely for non-personnel operating expenses. The PHP-FIG MUST NOT pay individual contributors or other personnel, like Core Committee members, Secretaries, Project Representatives or working groups unless the payment is associated with an approved expense, such as reimbursing a Secretary that has paid for an approved expense out of pocket.
All expenses MUST be approved by an Approval Vote of the Core Committee. The expense MUST include whether it is one time or recurring and the frequency at which the expense is incurred. All expenses MUST be justified by their contribution to the mission of PHP-FIG. In response to supplier price changes for previously accepted recurring expenses, Secretaries MAY request Implicit Approval from the Core Committee to raise the approved amount, only if that does not exceed a 10% increase.

Expenses approved by the Core Committee MUST be listed below, and reported in the Open Collective budget.

### Overfunding, and giving back to the community
### Overfunding and disbursement

Overfunding SHALL be defined as any amount raised that exceeds the amount needed to cover the existing PHP-FIG's yearly expenses, as defined in the "Approved expenses" section below, for a period of three years with a 10% cost increase year over year. For example, if the approved budget is $10, the maximum amount before funds are considered overfunding would be `$10 + $11 + $12.1 = $33.10`. The amount of funding to keep can be easily calculated by multiplying the total yearly expenses by `3.31` and rounding up.

Every year in January, the Secretaries SHALL review the Open Collective account and disburse any overfunding to the list of recipients defined in the Approved disbursement recipients section below, in the amounts defined in aforementioned section. Disbursements MUST be made in such a way to prevent any additional tax or fees from being incurred by the PHP-FIG or the recipient, such as via [Collective to Collective Donations][c2c].

If for any reason disbursement to a recipient is not possible, the recipient MUST be skipped and the Core Committee MUST be notified so this bylaw can be updated accordingly.

### Approved disbursement recipients

This section contains a list of recipients that are eligible to receive disbursements from the PHP-FIG.

As an exception to Votes Bylaw, changes to this section only SHOULD NOT trigger a Bylaw Change Vote, but only an Approval Vote by the Core Committee.


| Recipient name | Disbursement Method | Disbursement percentage |
|----------------|----------------------------------|-------------------------|
| PHP Foundation | [PHP Foundation Open Collective][phpfoundation] | `100%` |

PHP-FIG SHOULD maintain financial reserves to account for three years of the currently approved budget.
At least once a year, any surplus funds MUST be forwarded to the [PHP Foundation](https://opencollective.com/phpfoundation), as a way to further support the PHP ecosystem.
[phpfoundation]: https://opencollective.com/phpfoundation
[c2c]: https://documentation.opencollective.com/giving-to-collectives/giving-to-other-collectives

### Approved expenses

This section will contain a chronological list of approved budgeting decisions, either recurring or not.
This section contains a chronological list of approved budgeting decisions, either recurring or not.

As an exception to [Votes Bylaw][], changes to this section only SHOULD NOT trigger a Bylaw Change Vote, but only an Approval Vote by the Core Committee, as explained in the "Spending Money" section.
As an exception to Votes Bylaw, changes to this section only SHOULD NOT trigger a Bylaw Change Vote, but only an Approval Vote by the Core Committee.

| Approved since | Expense | Provider | Approved amount and frequency |
|----------------|-----------------------------------------------|-----------|--------------------------------|
| 2023-09-14 | Two Domains (`php-fig.com` and `php-fig.org`) | Namecheap | Up to 15 USD / year per domain |
| 2023-09-14 | Email account (`[email protected]`) | Namecheap | Up to 15 USD / year |
| 2023-09-14 | Two Domains (`php-fig.com` and `php-fig.org`) | Namecheap | $33 USD / year |
| 2023-09-14 | Email account (`[email protected]`) | Namecheap | $15 USD / year |

[RFC 2119]: https://tools.ietf.org/html/rfc2119
[Votes Bylaw]: https://www.php-fig.org/bylaws/voting-protocol/
[RFC 2119]: https://tools.ietf.org/html/rfc2119