Guidelines for Getting Your Project Accepted by GENIVI
The below is a brief list of criteria GENIVI uses to approve new project proposals. This list is categorized by incubation project acceptance and core project acceptance. Please note that all projects, regardless of type, are important and serve GENIVI in the advancement of the mission to produce an open source-based, IVI software platform.
GENIVI Incubation Projects
Incubation projects are established for a number of reasons:
- The project may represent an innovative approach or the code has not matured yet and needs further community-based development
- The project code is not directly tied to IVI functionality, but is useful in development and validation activities (e.g., tools, proof-of-concepts, etc.)
- The project code is not yet a target for GENIVI compliance (i.e., becoming a standard part of the GENIVI IVI platform).
The criterion for approval of an incubation project includes:
- Completeness of the New Project Proposal Document
- Consistency with GENIVI Scope definition (i.e., it is within the technical domain of IVI software development)
- Commitment by an individual to serve as the maintainer and to follow basic project principles of transparency, respectful collaboration, and FOSS licensing best practices
- Commitment by other developers to actively progress the project software toward a desired functionality.
GENIVI Core Projects
A core project is one that contains code already specified in the GENIVI Compliance specification or is a candidate. In short, this means it is already a necessary part of the GENIVI software platform, and GENIVI has agreed that it is at a level of maturity to be included in the specification. This does not imply that the code is complete and the purpose of hosting a project is to continue to enhance and maintain its functionality.
The criterion for approval of a core project includes:
- Meets all criteria of an incubation project
- Has shown an active community, consistent technical leadership, and has support from a GENIVI Expert Group (i.e., a topic lead)
- Aligned requirements which are documented and can be made available publicly
- Functionality has been fitted with the GENIVI architecture (by the GENIVI System Architecture Team)
- Completion of the GENIVI contribution process (which checks for IP and license compliance and some degree of code quality).
As one might imagine, an acceptable course of action is to launch initially as an incubation project and, when the code is mature and accepted by the GENIVI community, it becomes a core project. In some rare cases, a project may launch directly as a core project, if the software has already been considered by GENIVI and is a candidate for insertion into the Compliance Specification. Generally, projects for tool development, proof of concepts, and such will always be an incubation project.