The LF AI Foundation has published an updated Project Process and Lifecycle document that details the process to host a project in the foundation, the various stages of any given project, how to transition between the different phases, and the benefits of being an LF AI hosted project. We recommend you use this document as a starting point.
Projects may apply to join LF AI by completing and submitting this template maintained on LF AI’s GitHub (the “Project Contribution Proposal”). Projects are expected to come into the foundation as Incubation projects and then move into Graduation when appropriate.
Project Proposal Process
This policy sets forth the proposal process for projects to be accepted into the LF AI Foundation. The process is the same for both existing projects which seek to move into the LF AI Foundation, and new projects to be formed within LF AI.
Project Proposal Requirements
Projects must be proposed via GitHub by adding the proposal to
https://github.com/lfai/proposing-projects/tree/master/proposals and notifiying LF AI staff by emailing firstname.lastname@example.org with the subject “PROPOSAL [project name]”.
The template for project proposals must provide the following information:
- Name of project or proposed name of project (must be unique within LF AI)
- Requested project maturity level: Graduation or Incubation stage
- Project description (what it does, why it is valuable, origin and history, ongoing development, roadmap, etc.)
- Statement on alignment with LF AI’s mission
- License name, version and URL to license text
- Source control (GitHub, etc.)
- External dependencies including licenses (name and version) of those dependencies
- Initial committers (name, email, organization, and how long have they been working on project)
- RACI matrix (“responsible, accountable, consulted and informed”) if applicable / exists
- Infrastructure requests needed as part of hosting at the LF AI (CI / cluster requirements)
- Mailing lists currently in use
- Issue tracker (GitHub by default) and other tools utilized
- Project website
- Project governance structure and officials
- Release methodology and mechanics
- Social media accounts
- Existing sponsorship (e.g., whether any organization has provided funding or other support to date, and a description of that support), if any
A proposal template is available from https://github.com/lfai/proposing-projects/blob/master/proposal-template.adoc.
Project Acceptance Process
There is a four–step process for submitting a project proposal and driving it for approval.
- Step 1:
- The project prepares a proposal based on the provided template and submits it via GitHub to https://github.com/lfai/proposing-projects/tree/master/proposals along with a short email to email@example.com, with the subject “PROPOSAL [project name]”
- The project represented by its founding company must sign and submit a copy of the Trademark and Account Transfer Agreement; the goal of this agreement is to transfer ownership of the project trademark and admin rights to projects accounts to the Linux Foundation
- LF AI staff notifies the project whether the proposal appears to be ready to present to the TAC and will work with the project on finalizing the proposal for TAC submission, review, and vote
- Step 2:
- The project will be invited to present to the TAC during the bi-weekly meetings via a conference call
- The speaker(s) will be allocated
45 minutes to present:
- An overview on the project, development roadmap, community stats, relation to other projects, information on users and contributors to the projects, etc.
- Proposal to host the project under LF AI following the proposal submitted via GitHub
- The presentation file must be delivered to LF AI via firstname.lastname@example.org at least 3 business days prior to the scheduled conference call to allow enough review time for TAC members
- The TAC will have 15 mins for discussion with the project representative, followed by a vote that determines the acceptance of the project and the stage at which the project will be hosted in LF AI
- Step 3: If the project is approved by TAC at Graduation level
- The proposal is then forwarded to the GB for approval
- The project representatives will be invited to the next GB conference call for a short presentation (10 mins) followed by a vote by the GB to accept a project at Graduation level
- Step 4: Announcement and on-boarding
- Announcement of project hosting under the LF AI via either a blog post or a press release
- On-boarding the project – Upon new project approval, LF AI staff will work with the project to on-board it into the foundation and start providing required support in the areas highlighted below. Additional details and timing for each activity will be provided by LF AI staff to the project.
- On-boarding call with LF AI staff to review resources and LF AI Getting Involved Guide
- Finalization of legal documents (assignment agreement, trademark, technical charter, etc.)
- Logo adoption and transfer of website/domain
- Project added to LF AI GitHub plus repository migration
- Project added / updated to LF AI Landscape
- CI/Build environment setup (graduation only)
- Project mail lists provided in LF AI Groups.io
- Project space provided on LF AI Wiki
- Set up of other collaboration tools (Zoom, Chat, etc.) as applicable/approved
- Definition of initial project governance, maintainers, or project leads
- Assistance with kickoff TSC/Project meeting, TAC sponsor included
- Recommendation on next steps based on TSC charter (chair election, technical community document, code of conduct, etc.)
- Project added to LF AI website
- Announcement (press release or blog post) coordination
- Social promotion of new project announcement
- Inclusion in upcoming events as applicable will be provided to the project by LF AI staff
As the LF AI Foundation grows and scales some items may be modified, please contact the LF AI staff for the most up to date details or other questions. Contact at email@example.com.
Please reach out via firstname.lastname@example.org to get more
information or to discuss any questions you may have.