Governance

The Vinyl Cache FOSS project is organized as a voluntary association, a “Forening”, under the laws of Denmark:

Bylaws of The Vinyl Cache Project (1.00)

Minutes of meetings

Governing board

The governing board is:

  • Nils Goroll

  • Per Buer

  • Poul-Henning Kamp

The governing board can be reached as core at the obvious domain.

Policies

Behavior / Code of conduct

General rules about how contributors should behave within the Vinyl Cache project:

  • Show respect for others.

  • Be sensible.

  • If in doubt, think.

  • If still in doubt, ask.

  • Admit your mistakes, it’s faster that way.

  • Thou SHALL not paint bikesheds.

  • We will toss you out of the project rather than add another rule.

Maintainer Roles

Regarding the day-to-day development of Vinyl Cache, decisions are made by project maintainers on:

  • disputed pull requests

  • VIPs

  • which contributors should be granted the commit bit

  • and all other relevant decisions regarding the design of Vinyl Cache

When a change is proposed, maintainers must get ample time to review the proposition. Then, if the maintainers who are for the change outnumber the ones against by at least two, the pull request can be merged or the change implemented.

Maintainer nomination is going to change under the new project governance, but in the meantime, the old maintainer rules are still in place:

As of September 2019, three maintainer “hats” have been nominated, held by

  • Firma den Andensidste Viking (Poul-Henning Kamp)

  • Varnish Software

  • UPLEX

The companies each nominate a developer as their maintainer, and this can vary throughout the year (to allow for vacations etc.).

The Vinyl Developer Day

The Vinyl Developer Day (VDD) has, in recent years, been by invitation only, and traditionally, core developers and relevant supporters of the project participated. The exact rules for future Developer Days are still to be worked out, but the project will continue to invite all developers who have made meaningful contributions. The purpose of the VDD will remain to provide a platform for discussion of technical aspects of Vinyl Cache and its implementation.

We are also looking to bring back Vinyl Cache User Group (VUG) meetings before or after VDDs so that Vinyl Cache users can take a bigger part in, and have a bigger influence on the direction of Vinyl Cache.

Bugs, pull requests, feature requests

Bugs start out as issues or, if they already have a patch, Pull Requests.

Security issues should be reported responsibly, by sending a PGP encrypted email to our contacts. See Security for more information on this.

Feature requests should be sent to the vinyl-misc mailing list. A feature request which is considered important and where a developer is assigned to implement it, can be made into an issue. The list is meant to be a place where developers can bring up ideas of features and their implementation, before the actual code is written.

If a feature request make sense, but is not picked up by a developer, it gets moved to a wiki/VIP page until somebody implements it.

Monday at 15:00-15:30 (EU time) we “bug-wash” on IRC to decide who handles which issue and how. See the Getting Help for details on how to reach us on IRC. Maintainers are present during the bug-wash, and external contributors are encouraged to attend to discuss any Pull Requests or bug reports they have submitted.

Pull requests are obligatory for all contributions, unless they qualify for the exceptions laid out below.

Everybody are encouraged to review pull requests.

Maintainers can approve pull requests, as described in Maintainer Roles above.

The exception to the pull request process are trivial, risk free changes, which can be committed and pushed (by a developer with the commit bit) without a review. These include in particular, but are not limited to,

  • Documentation changes, unless they concern policies or governance of the project

  • Simple bug fixes tested by a vinyl test case (VTC).

The commit bit

The commit bit is handed out to contributors who have proven their knowledge of Vinyl internals, and must be approved unanimously by the maintainers.

Committers who have not made contributions in 18 months will have their commit bit suspended, but can ask the maintainers to hand it back.

Commit bits expire after 36 months with no contribution.