Committing changes to the software repository
Changes to the software should be committed by following certain procedures. With the exception of debugging and syntactic fixes, changes that affect libraries and code written by others (and thus have a "global" effect) should be agreed with the maintainers. This includes YARP and code in the iCub repository, and in particular anything that influences the usage and/or the compilation and/or the functionality of the code as a whole. The addition of independent modules in iCub does not need to be agreed (but see the specifications of the modules in the previous chapters). Please check your modules with the maintainers before adding them to the global build.
Do not forget to add to the repository all files that are needed to compile your code. This include source files, cmake files and documentation files (text files are recommended). Don't commit project or make files. Never commit binaries, with some exceptions (device driver libraries or firmware).
Important: make sure you add copyright and license to files you commit. If you commit files for which you do not own the copyright, make sure they have a GPL or GPL compatible license.
We welcome new contributions, but please, before you commit new modules to the repository make sure you that:
- The code respect the current dependencies, as explained in Chapter 8, Dependencies. In particular:
- Library dependencies
- Tools (CMake) and compilers
- You followed the guidelines in Chapter 10, Standardization of Methods.
- In particular make sure the code you commit is GPL or has a GPL compatible license, see Chapter 10 (Section Licensing)
- You documented your modules and applications as explained in Chapter 12.