This document sets up the guidelines for ongoing governance and maintenance of Video.js.
- Brightcove’s Position
- Shared Responsibility and the Technical Steering Committee
- Collaborators
- Contributors
- TSC Membership
- TSC Meetings
Brightcove holds the Video.js trademark and has been the maintainer and corporate steward of the project since 2012. Video.js is the core of the Brightcove Player and the Brightcove Web and Smart TV SDK. As such, its maintenance is critical to the company.
However, Brightcove acknowledges that the scope of Video.js is broader than its commercial interests. Many companies and developers around the globe use Video.js, so the company recognizes the value of a governance model that embraces collaboration with the wider community.
Brightcove welcomes the expertise and passion of individuals from outside the company who donate their time to help make Video.js the best open source web media player available.
The Video.js project is jointly governed by Brightcove and a Technical Steering Committee (TSC). Responsibilities are divided in the following way:
- Brightcove’s responsibility is to provide logistical and administrative control of the project as well as staffing the day-to-day maintenance of Video.js. Brightcove employee(s) collaborate with the TSC in the Corporate Shepherd role.
- The TSC’s responsibility is to discuss, debate, and define the overall technical direction of the project by consensus. In large part, this means representing the perspective of users who are external to Brightcove.
Initial membership invitations to the TSC were given to founders of the project and individuals who had been long-term active contributors to Video.js and who had significant experience with the management of the project.
Membership is expected to evolve over time according to the needs of the project and the contributions of individuals.
- Ben Clifford (Brightcove)
- Pat O’Neill (Brightcove, [email protected])
- Garrett Singer (LinkedIn)
- Steve Heffernan (Mux)
- Gary Katsevman (Peacock)
In recognition of its long-term commitment to Video.js, Brightcove holds the special distinction of Corporate Shepherd for Video.js, which involves:
- Brightcove occupies a minimum of one permanent seat on the TSC, reserved for an employee who actively contributes to the project.
- Brightcove is prominently acknowledged as Corporate Shepherd on the Video.js website.
- Should the TSC be unable to reach consensus on a topic, Brightcove will settle the question at hand.
The GitHub repositories in the Video.js organization are maintained by Brightcove and the TSC. Additional Collaborators are added and removed by Brightcove and the TSC on an ongoing basis. All TSC members are considered Collaborators implicitly.
All Collaborators have the following permissions:
- Approve pull requests
- Merge pull requests
- Push new tags/releases
Collaborators meet monthly on an optional video call, which is where the strategic and tactical direction of the project is discussed and consensus is built.
There are two types of Collaborator. A guide for Collaborators of both types is maintained in the Video.js Collaborator Guide. They are distinguished as follows:
Community Collaborators are individuals from the community who make multiple significant and valuable contributions to Video.js.
These are nominated by existing Collaborators and their nominations are discussed during the monthly TSC meeting.
Community Collaborators who are inactive in the project for a period of one year or more are considered to have resigned their status and their access will be revoked.
Core Collaborators are those employees of Brightcove for whom their role involves Video.js collaboration.
Because these individuals’ employment involves Video.js contribution, this status is automatic and persists throughout the duration of their employment, regardless of contribution level.
Core Collaborators who leave Brightcove automatically become Community Collaborators.
Anyone who makes (or wishes to make) a contribution of any significance through a code patch is considered a Contributor.
The full list of Contributors is provided by GitHub in each repository.
A guide for Contributors is maintained in the Video.js Contributor Guide.
Collaborators who, over multiple years, show a long-term dedication to maintaining and improving Video.js may be considered for TSC membership, should the TSC see a need for their expertise or for balance in its membership.
The TSC may add members by TSC consensus. A TSC member may be removed from the TSC by voluntary resignation or by TSC consensus. A TSC member who does not participate in TSC proceedings (without due cause) for a period of one year will be considered to have resigned.
No more than half of the TSC members may be employed by the same company - including Brightcove. If a situation arises where more than half of the TSC membership shares an employer, then the situation must be remedied by the resignation or removal of one or more TSC members affiliated with the over-represented employer - or the addition of new TSC members from other employers.
The TSC meets quarterly on a video call.
Items are added to the TSC agenda which include contribution policy, TSC membership, or technical decisions that fail to reach consensus in the Collaborators group.
The TSC prefers to leave most technical consensus building to the Collaborators group, but is prepared to act as a decision making body as needed.