1*89c4ff92SAndroid Build Coastguard Worker# Contribution Guidelines 2*89c4ff92SAndroid Build Coastguard Worker 3*89c4ff92SAndroid Build Coastguard WorkerThe Arm NN project is open for external contributors and welcomes contributions. Arm NN is licensed under the [MIT license](https://spdx.org/licenses/MIT.html) and all accepted contributions must have the same license. Below is an overview on contributing code to ArmNN. For more details on contributing to Arm NN see the [Contributing page](https://mlplatform.org/contributing/) on the [MLPlatform.org](https://mlplatform.org/) website. 4*89c4ff92SAndroid Build Coastguard Worker 5*89c4ff92SAndroid Build Coastguard Worker## Contributing code to Arm NN 6*89c4ff92SAndroid Build Coastguard Worker 7*89c4ff92SAndroid Build Coastguard Worker- All code reviews are performed on [Linaro ML Platform Gerrit](https://review.mlplatform.org) 8*89c4ff92SAndroid Build Coastguard Worker- GitHub account credentials are required for creating an account on ML Platform 9*89c4ff92SAndroid Build Coastguard Worker- Setup Arm NN git repo 10*89c4ff92SAndroid Build Coastguard Worker - git clone https://review.mlplatform.org/ml/armnn 11*89c4ff92SAndroid Build Coastguard Worker - cd armnn 12*89c4ff92SAndroid Build Coastguard Worker - git checkout main 13*89c4ff92SAndroid Build Coastguard Worker - git pull (not required upon initial clone but good practice before creating a patch) 14*89c4ff92SAndroid Build Coastguard Worker - git config user.name "FIRST_NAME SECOND_NAME" 15*89c4ff92SAndroid Build Coastguard Worker - git config user.email [email protected] 16*89c4ff92SAndroid Build Coastguard Worker- Commit using sign-off and push patch for code review 17*89c4ff92SAndroid Build Coastguard Worker - git commit -s 18*89c4ff92SAndroid Build Coastguard Worker - git push origin HEAD:refs/for/main 19*89c4ff92SAndroid Build Coastguard Worker- Patch will appear on ML Platform Gerrit [here](https://review.mlplatform.org/q/is:open+project:ml/armnn+branch:main) 20*89c4ff92SAndroid Build Coastguard Worker- See below for adding details of copyright notice and developer certificate 21*89c4ff92SAndroid Build Coastguard Workerof origin sign off 22*89c4ff92SAndroid Build Coastguard Worker 23*89c4ff92SAndroid Build Coastguard Worker## Developer Certificate of Origin (DCO) 24*89c4ff92SAndroid Build Coastguard Worker 25*89c4ff92SAndroid Build Coastguard WorkerBefore the Arm NN project accepts your contribution, you need to certify its origin and give us your permission. To manage this process we use Developer Certificate of Origin (DCO) V1.1 (https://developercertificate.org/). 26*89c4ff92SAndroid Build Coastguard Worker 27*89c4ff92SAndroid Build Coastguard WorkerTo indicate that you agree to the the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message: 28*89c4ff92SAndroid Build Coastguard Worker 29*89c4ff92SAndroid Build Coastguard WorkerSigned-off-by: John Doe <[email protected]> 30*89c4ff92SAndroid Build Coastguard Worker 31*89c4ff92SAndroid Build Coastguard WorkerYou must use your real name, no pseudonyms or anonymous contributions are accepted. 32*89c4ff92SAndroid Build Coastguard Worker 33*89c4ff92SAndroid Build Coastguard Worker## In File Copyright Notice 34*89c4ff92SAndroid Build Coastguard Worker 35*89c4ff92SAndroid Build Coastguard WorkerIn each source file, include the following copyright notice: 36*89c4ff92SAndroid Build Coastguard Worker 37*89c4ff92SAndroid Build Coastguard Worker// 38*89c4ff92SAndroid Build Coastguard Worker// Copyright © `<years additions were made to project> <your name>` and Contributors. All rights reserved. 39*89c4ff92SAndroid Build Coastguard Worker// SPDX-License-Identifier: MIT 40*89c4ff92SAndroid Build Coastguard Worker// 41*89c4ff92SAndroid Build Coastguard Worker 42*89c4ff92SAndroid Build Coastguard WorkerNote: if an existing file does not conform, update it when you next modify it, as convenient. 43*89c4ff92SAndroid Build Coastguard Worker 44*89c4ff92SAndroid Build Coastguard Worker## Releases 45*89c4ff92SAndroid Build Coastguard Worker 46*89c4ff92SAndroid Build Coastguard WorkerOfficial Arm NN releases are published through the official [Arm NN Github repository](https://github.com/ARM-software/armnn). 47*89c4ff92SAndroid Build Coastguard Worker 48*89c4ff92SAndroid Build Coastguard Worker## Development repository 49*89c4ff92SAndroid Build Coastguard Worker 50*89c4ff92SAndroid Build Coastguard WorkerThe Arm NN development repository is hosted on the [mlplatform.org git repository](https://git.mlplatform.org/ml/armnn.git/) hosted by [Linaro](https://www.linaro.org/). 51*89c4ff92SAndroid Build Coastguard Worker 52*89c4ff92SAndroid Build Coastguard Worker## Code reviews 53*89c4ff92SAndroid Build Coastguard Worker 54*89c4ff92SAndroid Build Coastguard WorkerContributions must go through code review. Code reviews are performed through the [mlplatform.org Gerrit server](https://review.mlplatform.org). Contributors need to signup to this Gerrit server with their GitHub account 55*89c4ff92SAndroid Build Coastguard Workercredentials. 56*89c4ff92SAndroid Build Coastguard Worker 57*89c4ff92SAndroid Build Coastguard WorkerOnly reviewed contributions can go to the main branch of Arm NN. 58*89c4ff92SAndroid Build Coastguard Worker 59*89c4ff92SAndroid Build Coastguard Worker## Continuous integration 60*89c4ff92SAndroid Build Coastguard Worker 61*89c4ff92SAndroid Build Coastguard WorkerContributions to Arm NN go through testing at the Arm CI system. All unit, integration and regression tests must pass before a contribution gets merged to the Arm NN main branch. 62*89c4ff92SAndroid Build Coastguard Worker 63*89c4ff92SAndroid Build Coastguard Worker## Communications 64*89c4ff92SAndroid Build Coastguard Worker 65*89c4ff92SAndroid Build Coastguard WorkerWe encourage all Arm NN developers to subscribe to the [Arm NN developer mailing list](https://lists.linaro.org/mailman/listinfo/armnn-dev). 66