GENIVI Projects – How
Open source projects have been active for many years. Over time, projects have adopted a series of best practices and tools which developers use to collaborate and to improve the software available in the project.
GENIVI has adopted these best practices and tools so that developers familiar with other projects can be immediately productive in GENIVI projects, should they choose to participate. The remainder of this page outlines how GENIVI projects work and the tools used.
All open source projects have one or more people who take responsibility for enhancing (patching) the code. In GENIVI projects, at least one maintainer is identified as the individual responsible for considering new features, accepting and committing patches to the code and for responding to questions or issues posted on the project’s email list and/or forum. The maintainer may delegate responsibilities to trusted individuals, but ultimately, the maintainer(s) lead the project.
The software hosted in the project is updated when patches, smaller sections of code that fixes a bug or adds a feature, is committed to the code repository by a maintainer (or designee). Before patches are submitted by email to the project email list, they are normally discussed on the project email list where the maintainer either encourages submission or suggests alternative approaches before patches are submitted. Any project participant may submit a patch, but it is the responsibility of the maintainer to accept the patch and commit it to the code repository.
Each GENIVI project is given the following tools with which to perform work in the project:
Project email list (mailman)
Code repository (git)
Bug tracker (jira)
Project web presence (wiki).
Other tools may also be added if requested such as an IRC chat channel and a blog.
The code in each project is licensed with a FOSS license. GENIVI has adopted a number of the more common open source software licensing including GPL v. 2, LGPL v.2.1, Apache 2.0, MPL 2.1, and number of permissive licenses like BSD. The license for each project is determined during the project launch and, in practice, is often consistent with the existing license of the code, if one exists. While the number of acceptable licenses is significant, GENIVI believes that certain versions of licenses are not acceptable in an automotive environment. The rules and guidelines regarding applicable licenses are defined in the Policy for GENIVI Licensing and Copyright.
To join a project, you can simply subscribe to the email list. Each hosted project has a “subscribe link” to its email list on the project web presence. Once you have joined the list, it is always best to read the email archives to understand the current state of discussions and proposed patches. The most successful projects are those where participants communicate respectfully and often.
GENIVI is open to hosting more projects which align to automotive features and functionality. Although GENIVI’s primary focus is the IVI system, GENIVI hosts other projects related to making Linux more usable in the automotive context, software for other uses that could evolve to be used in the car, as well as various tools and utilities that help facilitate the implementation of automotive software. To propose a new project, visit the Propose page.