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 8that are most commonly used currently in the given country/region. 9Most data is collected through the Survey Tool. See [How to contribute][]. 10 - If you are not a native language speaker, 11 but have evidence of CLDR data being incorrect, 12 file a [Jira][] ticket to report the issue. 13 - For data that is not collected in the [Survey Tool], 14 such as [supplemental data][], file a [Jira][] ticket 15 and provide evidence for changing the data. 162. **Internationalization structure:** Requires a ticket to be changed. 17 - For structural issues, note that many issues may be 18 due to misunderstandings of the LDML spec. 19 For example, `<pattern>¤#,##0.00</pattern>` has a specialized format 20 where each character represents a special function. 21 - File a [Jira][] ticket and provide evidence for the spec issues 22 or to establish a new structure. 23 - If your organization is not a [Unicode member][], consider becoming 24 a member and working as a CLDR technical committee member. 253. **CLDR internal tooling** such as adding new tests or fixing tooling that 26enable CLDR builds and releases. See [CLDR Developer][] introduction. 27 - To contribute in internal tooling, [Contact][] us. 28 - See [Tools source][] and [Repository Organization][] 29 30### Areas where contributions are welcome 31 32- `cldr-apps/`: (Survey Tool). 33 Improvements here include: 34 - UI: performance improvements, visual and functional refinements 35 - Additional checks (CheckCLDR) to validate CLDR data. 36- `java/`: The core CLDR tooling. 37 Improvements could include: 38 - better documentation around code components 39 - updates to use newer/different library dependencies 40 - writing unit tests to improve code coverage 41 - better documentation around command line tools 42 43## Requirements for merged PRs 44 45For all PRs these steps are required before the PR is merged: 46 47- The PR and commits must reference a [Jira][] ticket 48which has been accepted by the CLDR-TC. 49Open a ticket if there is not already a relevant one open. 50- A Contributor License Agreement (CLA) must be signed. For more information, 51see [Contributor License Agreement](#contributor-license-agreement), below. 52- All tests must pass (See below) 53- The PR must be reviewed by a TC member. 54- The PR should have a single commit, and the first line of the commit must 55begin with the accepted Jira ticket number. 56 57### Sample commit message 58 59 CLDR-0000 Brief Description of Change 60 61 Optionally, this is the first line of an extended description, 62 after the blank line. 63 - Here is an item 64 - Here is another item 65 66## Contributor License Agreement 67 68In order to contribute to this project, the Unicode Consortium must have on file a Contributor License Agreement (CLA) covering your contributions, either an individual or a corporate CLA. Pull Requests, issues, and other contributions will not be merged/accepted until the correct CLA is signed. Which version needs to be signed depends on who owns the contribution being made: you as the individual making the contribution or your employer. **It is your responsibility to determine whether your contribution is owned by your employer.** Please review the [Unicode Intellectual Property, Licensing, & Technical Contribution Policy][policies] for further guidance on which CLA to sign, as well as other information and guidelines regarding the Consortium’s licensing and technical contribution policies and procedures. 69 70To sign the CLA in Github, open a Pull Request (a comment will be automatically added with a link to the CLA Form), or go directly to [the CLA Form][sign-cla]. You may need to sign in to Github to see the entire CLA Form. 71 72- **Individual CLA**: If you have determined that the Individual CLA is appropriate, then when you access the CLA Form, click the Individual CLA and complete the Form. 73 74- **Corporate CLA**: If you have determined that a Corporate CLA is appropriate, please first check the [public list of Corporate CLAs][unicode-corporate-clas] that the Consortium has on file. If your employer is listed, then when you access the CLA Form, you can click the box indicating that you are covered by your employer’s corporate CLA. If your employer is not on the list, then it has not already signed a CLA and you will need to arrange for your employer to do so before you contribute, as described in [How to Sign a Unicode CLA][signing]. 75 76Unless otherwise noted in the [`LICENSE`](./LICENSE) file, this project is released under the [OSI-approved][osi-Unicode-License-3.0] free and open-source [Unicode License v3][unicode-license]. 77 78## Building 79 80For setup details, see [Maven Setup][]. 81Builds are done with Maven: 82 83 mvn test --file=tools/pom.xml 84 85## Tests 86 87For more detail, and how to run the tests locally, 88see [Running Tests][] on the CLDR development site. 89 90### Automatic Test Runs 91 92Tests are automatically run once a commit is pushed to GitHub and when a PR 93 is opened requesting changes to CLDR. 94 You will see the status check next to each commit's hash, 95 it will show as a circle, x, or checkmark. (●✖✔). 96 For GitHub documentation, see [About Status Checks][]. 97 You can click on these indicators anywhere they appear for more details. 98 99Briefly: 100 101- ● An orange circle indicates that information is not available yet, 102such as a test that is still running or has not started yet. 103- ✖ A red X indicates a failure or a warning. Depending on the type of issue, 104merging might be blocked. 105- ✔ A green checkmark indicates success. 106 107 108 109Similarly, in a PR, certain checks are marked as “Required.” 110All required checks must succeed before merging is allowed. 111 112 113 114If a test or status check does not pass, see [Running Tests][] 115on the CLDR development site. 116 117## Copyright 118 119Copyright © 1991-2024 Unicode, Inc. 120All rights reserved. [Terms of use][] 121 122[Survey Tool]: https://cldr.unicode.org/index/survey-tool 123[Terms of use]: https://www.unicode.org/copyright.html 124[Jira]: https://github.com/unicode-org/cldr/blob/main/docs/requesting_changes.md 125[Tools source]: https://github.com/unicode-org/cldr/tree/main/tools 126[Maven setup]: https://cldr.unicode.org/development/maven 127[Repository Organization]: https://cldr.unicode.org/index/downloads#h.lf1z45b9du36 128[How to contribute]: https://cldr.unicode.org/#h.vw32p8sealpj 129[Unicode member]: https://home.unicode.org/membership/why-join/ 130[supplemental data]: https://github.com/unicode-org/cldr/tree/main/common/supplemental 131[About Status Checks]: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-status-checks 132[Running Tests]: https://cldr.unicode.org/development/cldr-development-site/running-tests 133[policies]: https://www.unicode.org/policies/licensing_policy.html 134[unicode-corporate-clas]: https://www.unicode.org/policies/corporate-cla-list/ 135[signing]: https://www.unicode.org/policies/licensing_policy.html#signing 136[sign-cla]: https://cla-assistant.io/unicode-org/.github 137[osi-Unicode-License-3.0]: https://opensource.org/license/unicode-license-v3/ 138[unicode-license]: https://www.unicode.org/license.txt 139[CLDR Developer]: https://cldr.unicode.org/development/new-cldr-developers 140[Contact]: https://www.unicode.org/reporting.html