|
| 1 | +<!-- |
| 2 | +Licensed to the Apache Software Foundation (ASF) under one |
| 3 | +or more contributor license agreements. See the NOTICE file |
| 4 | +distributed with this work for additional information |
| 5 | +regarding copyright ownership. The ASF licenses this file |
| 6 | +to you under the Apache License, Version 2.0 (the |
| 7 | +"License"); you may not use this file except in compliance |
| 8 | +with the License. You may obtain a copy of the License at |
| 9 | +
|
| 10 | + http://www.apache.org/licenses/LICENSE-2.0 |
| 11 | +
|
| 12 | +Unless required by applicable law or agreed to in writing, software |
| 13 | +distributed under the License is distributed on an "AS IS" BASIS, |
| 14 | +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 15 | +See the License for the specific language governing permissions and |
| 16 | +limitations under the License. |
| 17 | +--> |
| 18 | + |
| 19 | +# How To Contribute |
| 20 | +As an open source project, Metron welcomes contributions of all forms. There are several great ways to contribute! |
| 21 | + |
| 22 | +* [Contributing a Code Change](#contributing-a-code-change) |
| 23 | +* Reviewing pull requests on our GitHub page. Check out current open [Pull Requests](https://github.com/apache/metron/pulls) |
| 24 | +* Improve our documentation. Our docs are self contained in the project in README files. Doc changes are the same process as a code change. See [Contributing a Code Change](#contributing-a-code-change) |
| 25 | +* Contributing to or starting discussions on the mailing lists. Both the user and dev lists are great places to give and receive help, or provide feedback. See [Mailing Lists](http://metron.apache.org/community/#mailinglist) |
| 26 | +* Filing tickets for features, enhancements, and bugs to our JIRA. Take a look at [Reporting Issues](https://cwiki.apache.org/confluence/display/METRON/Reporting+Issues) and the [Metron JIRA](https://issues.apache.org/jira/projects/METRON) |
| 27 | + |
| 28 | +## Contributing A Code Change |
| 29 | +1. Open a [JIRA ticket](https://issues.apache.org/jira/projects/METRON) associated with your change, if one doesn't already exist. Assign it to yourself and give a good description. |
| 30 | + * Feel free to ask questions on the lists and collaborate! |
| 31 | +1. Implement your change |
| 32 | + * We recommend setting up [Travis CI](https://docs.travis-ci.com) on your personal Github repo to handle long running testing. If the Travis build fails, you'll want to look into it. See [Getting started](https://docs.travis-ci.com/user/getting-started/#To-get-started-with-Travis-CI) for instructions. |
| 33 | +1. Open a GitHub [Pull Request](https://github.com/apache/metron/pulls) with your change |
| 34 | + * Fork the Metron repo. Look at [Fork a repo](https://help.github.com/articles/fork-a-repo/) |
| 35 | + * Make the PR. See [Creating a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) |
| 36 | + * Make sure the PR name starts with your JIRA ticket number (METRON-XXXX). |
| 37 | +1. Iterate on your change with reviewers until it's merged into master. |
| 38 | + |
| 39 | +## Development Guidelines |
| 40 | +The full guidelines can be found on the [Metron wiki](https://cwiki.apache.org/confluence/display/METRON/Development+Guidelines). They boil down to |
| 41 | +1. Make sure you've tested your change. |
| 42 | +1. Make sure you've documented your change. |
| 43 | +1. Follow the [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html) |
| 44 | + * If the file is a different style follow that style. |
| 45 | +1. Be open to feedback. |
0 commit comments