Contributing
October 8, 2019 ยท View on GitHub
Thank you for choosing to contribute to the Adobe Client Data Layer project, we really appreciate your time and effort! ๐๐
The following are a set of guidelines for contributing to the project.
Contents
- Code of Conduct
- Ways of Contributing
- Reporting Bugs ๐
- Contributing Code ๐พ
- Reviewing Code ๐
- Documenting ๐
- Issue Report Guidelines
- Contributor License Agreement
- Security Issues
Code of Conduct
This project adheres to the Adobe code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to Grp-opensourceoffice@adobe.com.
Ways of Contributing
There are many ways of contributing, from testing and reporting an issue to suggesting and coding full features. Below is a summary of some of the best ways to get involved.
Reporting Bugs ๐
Before Reporting a Bug
- Have a quick search through the currently open bug reports to see if the issue has already been reported.
- Ensure that the issue is repeatable and that the actual behavior versus the expected results can be easily described.
Filing a Bug
- Visit our issue tracker on GitHub.
- File a
New Issue. - Ensure your issue follows the issue report guidelines.
- Thanks for the report! The committers will get back to you in a timely manner, typically within one week.
Contributing Code ๐พ
High quality code is important to the project, and to keep it that way, all code submissions are reviewed by committers before being accepted. A close adherence to the guidelines below can help speed up the review process and increase the likelihood of the submission being accepted.
Before Contributing
- Create a bug report issue summarizing the problem that you will be solving. This will help with early feedback and tracking.
- Ensure you have signed the Adobe Contributor License Agreement. If you are an Adobe employee, you do not have to sign the CLA.
Contributing
The project accepts contributions primarily using GitHub pull requests. This process:
- Helps to maintain project quality
- Engages the community in working towards commonly accepted solutions with peer review
- Leads to a more meaningful and cleaner git history
- Ensures sustainable code management
Creating a pull request involves creating a fork of the project in your personal space, adding your new code in a branch and triggering a pull request. Check the GitHub Using Pull Requests article on how to perform pull requests.
Please base your pull request on the master branch and make sure to check you have incorporated or merged the latest changes!
The title of the pull request typically matches that of the issue it fixes, see the issue report guidelines. Have a look at our pull request template to see what is expected to be included in the pull request description. The same template is available when the pull request is triggered.
Your first contribution
Would you would like to contribute to the project but don't have an issue in mind? Or are still fairly unfamiliar with the code? Then have a look at our good first issues, they are fairly simple starter issues that should only require a small amount of code and simple testing.
Reviewing Code ๐
Reviewing others' code contributions is another great way to contribute - more eyes on the code help to improve its overall quality. To review a pull request, check the open pull requests for anything you can comment on.
Documenting ๐
We very much welcome issue reports or pull requests that improve our documentation pages. While the best effort is made to keep them error free, useful and up-to-date there are always things that could be improved.
Issue Report Guidelines
A well defined issue report will help in quickly understanding and replicating the problem faced, or the feature requested. Below are some guidelines on what to include when reporting an issue.
Title
- Descriptive - Should be specific, well described and readable at a glance.
- Concise - If the issue can't be easily described in a short title, then it is likely unfocused.
- Keyword-rich - Including keywords can help with quickly finding the issue in the backlog.
Description
See our issue template for details on what is expected to be described. The same information is available when creating a new issue on GitHub.
Labels
Once an issue is reported, the project committers will assign it a relevant label. You can see our label list on GitHub to better understand what each label means.
Contributor License Agreement
All third-party contributions to this project must be accompanied by a signed contributor license agreement. This gives Adobe permission to redistribute your contributions as part of the project. Sign our CLA. You only need to submit an Adobe CLA one time, so if you have submitted one previously, you are good to go!
Security Issues
Security issues shouldn't be reported on this issue tracker. Instead, file an issue to our security experts.