1 Contributing to libmraa {#contributing} 2 ====================== 3 4 libmraa is an opensource project and we are actively looking for people to help 5 with: 6 7 - Writing platform supports for all types of boards running linux 8 - People to extend the functionality, API with useful functions 9 - Anything we haven't thought about :) Ideas always welcome! 10 11 The recommended method to contribute is to fork on github, and then send pull 12 requests to the main project. You can open issues if you find any bugs/have 13 questions. 14 15 If you'd rather not use github you are more than welcome to send git formatted 16 patches to brendan.le.foll (a] intel.com. 17 18 Basic rules 19 ----------- 20 - Your code must build 21 - Commits must have a sign-off line by at least yourself 22 - Commits must be named <file/module>: Some decent description 23 - Try not to break master. In any commit. 24 - Try to split commits up logically, you will be asked to rebase them if they 25 are not. 26 - Try to stick to the established coding style regardless of your personal 27 feeling for it! Use clang-format (3.6+ required) 28 29 Coding Style 30 ------------ 31 32 Coding style for all code is defined by clang-format, have a look at it. Avoid 33 styling fixes as they make history difficult to read. Javascript & Java can 34 also be parsed through the clang-format, it complains but seems to do an ok 35 job. Few exceptions to coding styles: 36 - All python code is indented by 2 spaces 37 - CmakeLists files are 2 space indented and a space is required before all 38 brackets so endif () and if () and command (). Also use lowercase for 39 everything but variables. Cmake is case insensitive but this isn't the wild 40 wild west ;-) 41 42 Use common sense and don't be afraid to challenge something if it doesn't make sense! 43 44 Code signing 45 ------------ 46 47 The sign-off is a simple line at the end of the explanation for the 48 patch, which certifies that you wrote it or otherwise have the right to pass it 49 on as an open-source patch. The rules are pretty simple: if you can certify 50 the below: 51 52 Developer's Certificate of Origin 1.1 53 54 By making a contribution to this project, I certify that: 55 56 (a) The contribution was created in whole or in part by me and I 57 have the right to submit it under the open source license 58 indicated in the file; or 59 60 (b) The contribution is based upon previous work that, to the best 61 of my knowledge, is covered under an appropriate open source 62 license and I have the right under that license to submit that 63 work with modifications, whether created in whole or in part 64 by me, under the same open source license (unless I am 65 permitted to submit under a different license), as indicated 66 in the file; or 67 68 (c) The contribution was provided directly to me by some other 69 person who certified (a), (b) or (c) and I have not modified 70 it. 71 72 (d) I understand and agree that this project and the contribution 73 are public and that a record of the contribution (including all 74 personal information I submit with it, including my sign-off) is 75 maintained indefinitely and may be redistributed consistent with 76 this project or the open source license(s) involved. 77 78 then you just add a line saying 79 80 Signed-off-by: Random J Developer <random (a] developer.example.org> 81 82 Using your real name (sorry, no pseudonyms or anonymous contributions.) 83 84 Where to find us 85 ---------------- 86 87 Hop onto the freenode network on IRC and join #mraa. Please be patient as we're 88 not always online. 89 90