Libav is a friendly and community-driven effort to provide its users with a set of portable, functional and high-performance libraries for dealing with multimedia formats of all sorts.

Structure

The project tries to be as non-hierarchical as possible. Every contributor must abide by a well defined set of rules, no matter which role they take.

For decisions we strive to reach near-unanimous consensus. Discussions may happen on irc, mailing-list or in real life meetings.

If possible, conflicts should be avoided or, otherwise, resolved.

Roles

Even if the project is non-hierarchical, it is possible to define specific roles within it. Roles do not really give additional power but additional responsibilities.

Contributor

Anybody who reviews patches, writes patches, helps triaging bugs, writes documentation, helps people solve their problems, or keeps our infrastructure running is considered a contributor.

It does not matter how much you contribute. Any help is welcome.

On top of the standard great feats of contributing to an opensource project, special chocolate is always available during the events.

Reviewer

A reviewer is supposed to read the new patches and prevent mistakes (silly, tiny or huge) to land in the master branch.

Because of our workflow, spending time reading other people patches is quite common.

People with specific expertise might get nagged to give their opinion more often than others, but everybody might spot something that looks wrong and probably is.

Bugwrangler

Sometimes the issues reported do not have enough information to start investigating them, sometimes the developers might be too busy to check again if old issues still apply or they are independently solved.

Bug wrangling involves making sure reported issues have all the needed information to start fixing the problem and checking if old issues are still valid or had been fixed already.

Committer

Committers are the people who push code to the main repository after it has been reviewed.

Being a committer requires you to take newly submitted patches, make sure they work as expected either locally or pushing them through our continuous integration system and possibly fix minor issues like typos.

Patches from a committer go through the normal review process as well.

Infrastructure Administrator

The regression test system, the git repository, the sample collection, the website, the patch trackers, the wiki and the bug tracker are all deployed on dedicated hardware.

This infrastructure needs constant maintaining and improving.

Most of it comes from people devoting their time and (beside few exceptions) their own hardware, definitely this role requires a huge amount of dedication.

Rules

The project strives to provide a pleasant environment for everybody.

Every contributor is considered a member of the team, regardless if they are a newcomer or a long time member. Nobody has special rights or prerogatives.

Well defined rules have been adopted since the founding of the project to ensure fairness.

Contribution workflow

The project has a simple contribution workflow:

It aims to make sure that the code quality stays consistently high and everybody is aware of the changes hitting the master repository.

Code of Conduct

In order to foster a friendly and cooperative atmosphere where technical collaboration can flourish we expect all members of the Libav community to be

Plus, we expect everybody to not

While we hope to keep disciplinary action to a minimum, repeated violations of this policy will result in offenders getting temporarily or permanently removed from our communication channels.

Personal Conflict Resolution

Personal conflicts shall be assisted by mediators. When a conflict between two (or more) people arises and threatens to spiral downwards, anybody may ask for a mediator to step in. The role of the mediator is to pull the fighters apart, calm them down, listen to each side and try to restore and aid civil communication towards a resolution.

If reasonable communication fails, a mediator can ask for people to be moderated on the mailing lists so that mails arrive with a delay and combatants have a chance to calm down. Suitable mediator candidates should be calm, level-headed, respected and more or less neutral in the topic at hand. Being uncontroversial as a person and being a good communicator is a plus.