The GENIVI "Community Office" is the location for discussion on community around GENIVI software and requirements. You can use this office to contact the GENIVI community manager and to engage with the GENIVI community in general.
GENIVI participates in various Open Source events and GENIVI members often participate as well, sometimes separately. The list of events here is meant to be of interest to GENIVI members and have some bearing on GENIVI's mission; "align requirements, deliver reference implementations, offer certification programs, and foster a vibrant open-source IVI community."
|FOSDEM 2018||180203||Brussels, Belgium||Lightning Talk CfP still open|
GENIVI has a number of public mailing lists, most are technically focused.
Working with GENIVI source code
GENIVI keeps its source code in publicly hosted git repositories. These repositories are physically located on Linux Foundation servers and are licensed under a free software license. They are set-up and designed to hold code relevant to GENIVI. To have a git repository set up and hosted through GENIVI you propose a project here: project proposal form. If you're already a GENIVI member and have a project already proposed through an expert group, you can request a git repo from the Community Manager, mailing the project management office (PMO), or contacting GENIVI IT. Please note that internal GENIVI git repos are largely deprecated because GENIVI operates under Open Source best practices and all code is under a FOSS license.
Cloning a GENIVI git repository
If you want to clone a GENIVI code repo to study, modify, read or use the code you can do that easily. Simply find the project you want to clone via the web interface, then clone like this;
$ git clone http://git.projects.genivi.org/<repo name>
While all GENIVI git repositories are world readable, not all are world writable. They're limited to committers who've demonstrated consistent contribution. Note that you do not have to be a GENIVI member to be a maintainer of a GENIVI git repo or entire hosted project.
The mechanism GENIVI uses to ensure on maintainers have the right to push changes to the repo (as opposed to pushing patches to a mailing list, which anyone can do) is based on ssh public keys. Please note that detailed description of setting up and using ssh is beyond the scope of this wiki page and really should be carefully studied to be understood.
If you already have an ssh public key, simply send it to GENIVI's community manager or IT program manager for it to be put into the database for GENIVI git repos. This requires permission of course from the maintainers of the repo and in some cases permission from GENIVI itself. Once your key is in the database, please clone your repositories for writing this way;
$ git clone ssh://firstname.lastname@example.org/<repo name>
Execute this command on the machine that holds your ssh private key so that you can be authenticated for writing. You'll find the ssh URI in the GENIVI gitweb interface for the repository that you'd like to clone. Simply click on the repository name on the left in gitweb and you'll be taken to a summary page which will have the full ssh URI for cloning and pushing.
Any questions can be sent GENIVI's community manager or IT program manager. GENIVI's community manager reads all the public mailing list so you can send an email to one of those.
Sending a patch
GENIVI is both an Automotive Alliance and an Open Source project. All GENIVI's code is open for contribution. If you'd like to send a patch you'll likely follow the same procedure any other Open Source project would follow. Those steps are;
1. Format your patch with git-format 1b. Ideally you'd have a bug number in GENIVI's bug tracker that you're referring 2. Add some description about the code, what it does and why its needed 3. Many smaller patches are easier to merge than giant patches 4. Send your patch to the relevant mailing list or via a Pull Request in GitHub
Its important to provide a certificate of origin like the Linux kernel requires. Of course the assumption is that you'll accept the terms that GENIVI's software is licensed under, that's usually the MPLv2 but please double check and review before you send your code so you're absolutely clear.
See also: git email setup for tips on setting up email for working with patches in a corporate environment
GENIVI git repo quality checks
GENIVI tries to assure a baseline of minimum standards in its git source code repos. For example, GENIVI does a simple check for a "LICENSE" or "COPYING" file in the repo. Note that this is separate from the code scanning process that GENIVI does internally before launching projects as well as separate from the review for compliance to GENIVI's licensing policy. What the Community Office does is just checks that the physical artifacts from GENIVI's licensing policy are in place so there is no confusion and compliance is clear.