Home | History | Annotate | Download | only in docs
      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