Welcome
Thanks for taking the time to contribute! JSON Schema is an evolving language. The repository contains the specification text as well as Pull Requests with suggested improvements and contributions.Types of Contributions
Editorial Contributions
Contributions that do not change the interpretation of the spec but instead improve legibility are encouraged and are often merged by a spec editor with little process. These include:- Fixing editorial errors
- Improving legibility
- Clearing up ambiguity
- Improving examples
Substantive Changes
Contributions that meaningfully change the interpretation of the spec must follow the Specification Development Process. Changes that would affect implementation behavior should typically be opened as an issue first.Issues
Issues should identify:- A problem, enhancement, or use case
- Some proposed course of action for the draft
Pull Requests
We welcome pull requests, both for editorial suggestions and to resolve open issues.Reference Issues
If the pull request would solve a particular issue, reference the issue in the pull request description.
Target the Correct Branch
Generally, pull requests should be made to the
main branch unless it is a patch update and we are in a patch phase. In that case there will be a branch named something like 2020-12-patch that the PR should target instead.Pull Request Guidelines
- Reference related issues in the PR description
- Target the appropriate branch (
mainor patch branch) - Be prepared to wait at least 14 days for substantive changes
- Editorial fixes may be merged more quickly
Milestones
Each milestone is an estimation of the work that will be done for the next draft. Milestones are typically named after the meta-schema draft number, and the open milestone with the lowest draft number is the current active project.Milestone Management
Issues may be removed from a milestone due to:- Lack of consensus
- Lack of anyone with the correct expertise to make a PR
- The desire to publish a draft and defer remaining issues to the next draft
draft-future milestone is for issues for which there is an agreement that they should be addressed, but no specific timeline.
Code of Conduct
All official channels including the mailing list, GitHub organization and Slack server, follow the Code of Conduct.Getting Help
You can join the#specification channel in the Slack workspace to:
- Interact with other community members involved in Specification development
- Share new ideas
- Ask questions