JS Foundation Project Lifecycle
The JS Foundation hosts several Projects. These Projects are autonomous from each other. Projects are governed by their Maintainers with policy and procedure guidance from the JS Foundation Technical Advisory Committee (TAC) or by another leadership structure as defined in their governance policies. The TAC also charters its own Working Groups for Foundation-wide and/or cross-Project initiatives.
Projects that have graduated from the mentorship program may nominate a representative to be appointed to the TAC.
The purpose of mentorship is to support and mentor projects entering the Foundation. The goal is for projects to be:
While certain processes are strongly recommended based on the experiences of the Foundation and its Projects, the goal of mentorship is not to enforce a specific set of processes but to ensure that the processes adopted and accepted by a project achieve these goals. Therefore, the requirements for graduating from mentorship are based on metrics that demonstrate success in terms of these values. These metrics are:
- Project's defined governing body is 5 members or greater
- No more than 1/3 of the defined governing body is affiliated with the same employer.
- No more than 1/3 of any Project is affiliated with the same employer.
- The decision making and release process is documented and publicly accessible.
- Other metrics as defined by the applying Project during the application process in cooperation with their mentor
A Project may apply to graduate from mentorship at any time by calling for a vote in the TAC.
While a Project is under mentorship, it is assigned at least 1 mentor who is responsible for working with the Project to adopt policies and gain the health and contributorship it will need in order to graduate from mentorship. The mentor list is nominated and approved by the TAC and may be larger than the TAC.
The Foundation shall encourage new Projects and innovation in the community. New Projects enter the JS Foundation through a Proposal.
The Project should be considered mature and have a history of releases before applying to enter the Foundation. Exceptions may be made to this rule for younger projects that have shown potential or have been created in response to existing Foundation goals on a case-by-case basis at the TAC's discretion.
Working Group Requirements
All WGs and other project level governing bodies are expected to operate in a transparent manner. Decisions must be made publicly through a documented public process managed by each governing body and must use a participatory decision making process.
All Projects in the Foundation share the same base security policy. The Foundation's security team triages issues sent to firstname.lastname@example.org.
Decision Making Process
All WGs and other project level governing bodies must follow a Consensus Seeking process and are responsible for documenting and keeping up to date their current processes and practices.
Each Project that has graduated from the mentorship program may nominate a representative for appointment to the JS Foundation TAC or choose to abstain from representation on the TAC.
Applying to join
A proposal to join the JS Foundation as a Project or Working Group must include:
- Introduction and Project description.
- Project history.
- Any available metrics or even estimates about the user base, ecosystem and community.
- Project scope.
- Current governance process.
- Current contribution process.
- List of current tools in use by the project (forums, issue trackers, GitHub orgs, etc).
- Existing IP Policy and relevant intellectual property (trademarks, domain names, etc).
- List of initial Project Collaborators and Maintainers.
- List of initial Working Groups, if any.
- Prior to being admitted, the project must include:
- an approved license. If it is not currently under an approved license, it will need to be cleared by the TAC and the JS Foundation Legal Committee or Board of Directors prior to acceptance into the mentorship program.
- a Code of Conduct.
Each proposal should be sent as a pull request to this repository in the Applications directory. Proposals do not have to be complete to be submitted, the TAC can work with the authors and their respective communities in each pull request.
In addition to the pull request, please send a brief email to email@example.com to introduce yourself and give us an additional communcation channel in case there are any sensitive topics to discuss around your application. Also, if you or your organizations would prefer to discuss the application in private before sending a public PR application, you may submit your application as a document, gist, etc to firstname.lastname@example.org and we will discuss the application with you there.
The Foundation, by default, will accept the Apache 2.0 license for any project joining the Foundation. Other licenses may be accepted on a case-by-case basis.
The JS Foundation selects Projects for admission as mentors become available.
You may apply at any time and the TAC and available mentors will help improve your application while awaiting the next available approval phase.
Projects, in cooperation with their mentor, may apply to graduate from the mentorship program at any time when they feel they are in compliance with the requirements, policies and guidelines as set forth by the TAC and their mentor. To apply, a project should update the contents of their original application to include any changes they have made to their Project during the mentorship process and submit that as a Pull Request to the TAC repo's "Projects" folder and also move their Project name from the Mentorship Projects section to the Graduate Projects section of the TAC repo README. A Project will be considered graduated from the Mentorship Program when this PR has been merged by the TAC.