This page is for potential contributors to this project. It provides basic information on the project, describes the main ways people can make contributions, explains how to report issues relating to the project and project artifacts, and lists pointers to additional sources of information.
We track our current work items using GitHub repository's issues.
Contributions of code and documentation are welcome to this repository.
For more information on the project's current needs and priorities, see the project's GitHub issue tracker (discussed below). Please refer to the guide on how to contribute to open source for general information on contributing to an open source project.
All requests for changes and enhancements to the repository are initiated through the project's GitHub issue tracker. To initiate a request
This project uses a typical GitHub fork and pull request workflow. To establish a development environment for contributing to the project, you must do the following:
- Fork the repository to your personal workspace. Please refer to the Github guide on forking a repository for more details.
- Create a feature branch from the
main
branch for making changes. You can create a branch in your personal repository directly on GitHub or create the branch using a Git client. For example, thegit branch working
command can be used to create a branch named working. - You will need to make your modifications by adding, removing, and changing the content in the branch, then staging your changes using the
git add
andgit rm
commands. - Once you have staged your changes, you will need to commit them. When committing, you will need to include a commit message. The commit message should describe the nature of your changes (e.g., added new feature X which supports Y). You can also reference an issue from the OSCAL repository by using the hash symbol. For example, to reference issue #34, you would include the text "#34". The full command would be:
git commit -m "added new feature X which supports Y addressing issue #34"
. - Next, you must push your changes to your personal repo. You can do this with the command:
git push
. - Finally, you can create a pull request.
- Please allow the NIST OSCAL maintainers to make changes to your pull request, to efficiently merge it, by selecting on your fork the setting to always allow edits from the maintainers.
- Review the OSCAL release and versioning strategy and choose the base branch accordingly.
This repository consists of the following directories and documentation files pertaining to the project:
- .github: Contains GitHub issue and pull request templates, and GitHub action workflows for the project.
- CODE_OF_CONDUCT.md: This file contains a code of conduct for all project contributors.
- CONTRIBUTING.md: This file is for potential contributors to the project. It provides basic information on the project, describes the main ways people can make contributions, explains how to report issues, and lists pointers to additional sources of information. It also has instructions on establishing a development environment for contributing to the project and using GitHub project cards to track development sprints.
- LICENSE.md: This file contains license information for the files in this GitHub repository.
All other files and directories are related to the XSLT codebase managed in this repository.
This project is using the GitHub repository's issues to track development as part of the core project work stream.
This project originated as part of the Open Security Controls Assessment Language (OSCAL) project. We use the OSCAL communications channels for this project as well. Please feel free to reach out in OSCAL forums or mailing lists with your metaschema and Metaschema XSLT questions, if Github is not suitable.
Since Metaschema has also been conceptualized distinctly from OSCAL (albeit in service to its requirements) it also has its own channels, starting with its web site contact page.
A Gitter chat room is available for Metaschema-related discussions. This is a great place to discuss issues pertaining to this work with the community working with Metaschema, which remains closely overlapping with the NIST OSCAL team operating the OSCAL Gitter. This room is also setup with Github integration, which provides a good summary of recent Github repo activities within the chat room.
Note that the contact points offered above are subject to change without notice.
This project is in the worldwide public domain. See the posted License.
By submitting a pull request, you are agreeing to waive copyright interest.