The JS Foundation Technical Governance
The JS Foundation Technical Advisory Committee (TAC) is the technical governing body of the JS Foundation. The goals of this technical structure are to:
Separate the business aspects from the technical aspects of the Foundation.
The Executive Director, Board of Directors and others under their direction focus on fundraising and strategic goals for the Foundation. The goal here is to create a project-oriented structure to provide help and mentorship to projects.
Establish a set of best practices for sustaining open source projects.
This organization should create sample policies that provide guide rails and suggestions. Projects know their communities best and can tailor these practices to ensure their projects are sustainable.
Separate policy review from writing code and running a project.
There will often be overlap in the people reviewing policies and those writing code or running a project. A separate process within the organization structure that focuses on policy review lets them take a step back and review the project’s overall health.
Have an independent group acting as an advocate for the project community.
From the inside of a single project, it is often difficult to see opportunities for collaboration or know when the project has run into problems that could be solved by outside assistance. A group with a wider perspective can help.
Tailor involvement with the Foundation to fit project needs.
Some projects have chosen the Foundation primarily to hold mature code bases that need few changes. Others are looking for help in managing growing code and communities. These projects have different needs and the Foundation wants to accommodate both.
The TAC also admits all Projects into the JS Foundation as well as charters all Working Groups (WG). It also elects a representative to the JS Foundation Board of Directors.
For more details read the TAC Charter ratified by the JS Foundation Board of Directors on November 9, 2016.
If your project is interested in joining the JS Foundation please read the Project Lifecycle.md documentation.
TAC members are responsible for top level technical community concerns and promoting collaboration both within and among the many projects in the JS Foundation. The role is mostly administrative and is responsible for advocating the needs of the technical side of the Foundation to the JS Foundation Board of Directors.
Candidates for membership in the TAC tend to be people who have a competency for community management and a high tolerance and patience for process minutiae as the TAC delegates most of its responsibilities to other Projects and Working Groups.
The number of TAC members, term lengths and additional information can be found in the TAC Charter.
Projects and WGs
- JS Foundation Projects
- Graduate Projects
- Mentorship Program Projects and Mentors
- At-large Projects
At-large projects in the JS Foundation are a group of projects that have not gone through the mentorship program. These projects tend to be mature projects in a more steady state rather than highly active projects with growing contributor bases. These projects may remain in this state indefinitely or may apply to the Mentorship Program if they feel it would benefit their project to do so.
Project mentorship is not a technical role. In fact, mentors are discouraged from giving technical advice to Projects. Instead, the purpose of mentorship is to encourage and improve a Project's ability to be participatory, transparent, and effective. Mentors are there to help Projects adopt and iterate on policies and processes that achieve these goals and eventually allow them to graduate the mentorship phase.
Policy Change Proposal Process
The JS Foundation TAC is chartered, subject to such policies as may be set by the Board of Directors, to ensure collaboration is the driving principle within a Project, between JS Foundation Projects, and between JS Foundation Projects and the broader community. The TAC is also responsible for chartering WGs. Working Groups have broad powers of self-governance as defined by the policies in their charter.
To propose a change or addition to policies or processes that are intended to
cover all Projects and Working Groups in the Foundation, a PR should be opened
The pull request can be labeled
TAC-agenda to request that it be put on the
agenda for the next TAC meeting.
The JS Foundation Board of Directors retains certain rights (especially legal considerations). If the TAC endorses a proposal, they will escalate to the JS Foundation Board of Directors when required to do so.
In some cases, existing individual groups have the right to refuse changes to their charters. The TAC can not mandate that existing WGs alter their charters. If such a situation arises, the TAC may decide to revoke the group's charter.
To illustrate the structure of the JS Foundation's governance and technical leadership, we have created a General Org Structure Overview chart and will add a Detailed Technical Org Structure chart once complete for reference.
This repository of policies, procedures and information regarding the JS Foundation TAC was inspired by the Node.js Foundation TSC repository.