1# Contributing to CLDR 2 3## Overview 4 5The CLDR project consists of 3 aspects: 6 71. **Data:** We rely on contributions by native language speakers that are most commonly used currently in the given country/region. Most data is collected through the Survey Tool. See [How to contribute][]. 8 - If you are not a native language speaker, but have evidence of CLDR data being incorrect, file a [Jira][] ticket to report the issue. 9 - For data that is not collected in the [Survey Tool], such as [supplemental data][], file a [Jira][] ticket and provide evidence for changing the data. 102. **Internationalization structure:** Requires a ticket to be changed. 11 - For structural issues, note that many issues may be due to misunderstandings of the LDML spec. For example, `<pattern>¤#,##0.00</pattern>` has a specialized format where each character represents a special function. 12 - File a [Jira][] ticket and provide evidence for the spec issues or to establish a new structure. 13 - If your organization is not a [Unicode member][], consider becoming a member and work as a CLDR technical committee member. 143. **CLDR internal tooling** such as adding new tests or fixing tooling that enable CLDR builds and releases. See [CLDR Developer][] introduction. 15 - To contribute in internal tooling, [Contact][] us. 16 - See [Tools source][] and [Repository Organization][] 17 18### Areas where contributions are welcome 19 20- `cldr-apps/`: (Survey Tool). 21 Improvements here include: 22 - UI: performance improvements, visual and functional refinements 23 - Additional checks (CheckCLDR) to validate CLDR data. 24- `java/`: The core CLDR tooling. 25 Improvements could include: 26 - better documentation around code components 27 - updates to use newer/different library dependencies 28 - writing unit tests to improve code coverage 29 - better documentation around command line tools 30 31## Requirements for merged PRs 32 33For all PRs these steps are required before the PR is merged: 34 35- The PR and commits must reference a [Jira][] ticket which has been accepted by the CLDR-TC. Open a ticket if there is not already a relevant one open. 36- The CLA must be signed, agreeing to the [Terms of use][]. You will be prompted on the PR to sign this if you have not already done so. 37- All tests must pass (See below) 38- The PR must be reviewed by a TC member. 39- The PR should have a single commit, and the first line of the commit must 40begin with the accepted Jira ticket number. 41 42### Sample commit message 43 44 CLDR-0000 Brief Description of Change 45 46 Optionally, this is the first line of an extended description, 47 after the blank line. 48 - Here is an item 49 - Here is another item 50 51### Licenses 52 53- Usage of CLDR data and software is governed by the Unicode [Terms of use][] a copy of which is included as [unicode-license.txt][] 54- Some CLDR tools depend on libraries in tools/java/libs/; use of these libraries is governed by separate license agreements. 55 - For example, use of the Guava, Xerces, and Myanmar Tools libraries is subject to the Apache License included as [apache-license.txt](./apache-license.txt) 56- Use of the ICU libraries is subject to the ICU License, included as [ICU-LICENSE](./ICU-LICENSE). 57- There must be a signed CLA before code is contributed, the PR will not be merged until the CLA is signed. 58 59## Tests 60 61For more detail, and how to run the tests locally, see [Running Tests][] on the CLDR development site. 62 63### Automatic Test Runs 64 65Tests are automatically run once a commit is pushed to GitHub and when a PR is opened requesting changes to CLDR. You will see the status check next to each commit's hash, it will show as a circle, x, or checkmark. (●✖✔). For GitHub documentation, see [About Status Checks][]. You can click on these indicators anywhere they appear for more details. 66 67Briefly: 68 69- ● An orange circle indicates that information is not available yet, such as a test that is still running or has not started yet. 70- ✖ A red X indicates a failure or a warning. Depending on the type of issue, merging might be blocked. 71- ✔ A green checkmark indicates success. 72 73![Commit Checks](./docs/img/commit-checks.png) 74 75Similarly, in a PR, certain checks are marked as “Required.” All required checks must succeed before merging is allowed. 76 77![PR Checks](./docs/img/pr-checks.png) 78 79If a test or status check does not pass, see [Running Tests][] on the CLDR development site. 80 81## Copyright 82 83Copyright © 1991-2020 Unicode, Inc. 84All rights reserved. [Terms of use][] 85 86[Survey Tool]: http://cldr.unicode.org/index/survey-tool 87[Terms of use]: http://www.unicode.org/copyright.html 88[Jira]: http://cldr.unicode.org/index/bug-reports#TOC-Filing-a-Ticket 89[Tools source]: https://github.com/unicode-org/cldr/tree/master/tools 90[Repository Organization]: http://cldr.unicode.org/index/downloads#Repository_Organization 91[How to contribute]: http://cldr.unicode.org/#TOC-How-to-Contribute- 92[Unicode member]: https://home.unicode.org/membership/why-join/ 93[supplemental data]: https://github.com/unicode-org/cldr/tree/master/common/supplemental 94[About Status Checks]: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-status-checks 95[Running Tests]: http://cldr.unicode.org/development/running-tests 96