Skip to content

Contributing

Allen Golbig edited this page Jan 19, 2021 · 1 revision

How to contribute to the macOS Security Compliance Project

Operating Rules

These operating rules describe and govern NIST’s management of this repository and contributors’ responsibilities. NIST reserves the right to modify this policy at any time.

Criteria for Contributions and Feedback

This is a moderated platform. NIST will only accept contributions that are contribute per the terms of the license file. Contributors may submit links or materials for hosting in the repository. Upon submission, materials will be public and considered publicly available information, unless noted in the license file.

NIST reserves the right to reject, remove, or edit any contribution or feedback, including anything that: 

  • states or implies NIST endorsement of any entities, services, or products;  

  • is inaccurate;  

  • contains abusive or vulgar content, spam, hate speech, personal attacks, or similar content;  

  • is clearly "off topic"; 

  • makes unsupported accusations;

  • includes personally identifiable or business identifiable information according to Department of Commerce Office of Privacy and Open Government guidelines; or,

  • contains .exe or .jar file types.

These file types will not be hosted in the NIST repository; instead, NIST may link to these if hosted elsewhere.

Contributor Responsibilities

NIST also reserves the right to reject or remove contributions from the repository if the contributor fails to carry out any of the following responsibilities:

  • following the contribution instructions;

  • responding to feedback from other repository users in a timely manner;

  • responding to NIST representatives in a timely manner;

  • keeping contributions and contributor GitHub username up to date

Contributing

All requests for changes and enhancements are initiated through the project’s GitHub issue tracker. To initiate a request, please create a new issue. The following issue templates exist for creating a new issue:

Feature Request: Use to describe a new feature or capability to be added to the macOS security compliance project.

Bug Report: Use to report a problem with an existing the macOS security compliance project feature or capability.

Question: Use to ask a question about the macOS security compliance project.

The core project team regularly reviews the open issues, prioritizes their handling, and updates the issue statuses and comments as needed.

Feature Request or Bug Report Process

A good feature request or bug report will help our team assess the issue submitted.

Great Bug Reports or Feature Requests tend to have:

  1. A quick summary and/or background information

  2. Steps to reproduce

    • Be specific!

    • Provide sample code if you can.

    • Include all relevant setup.

  3. What you expected would happen

  4. What actually happens (if it’s a bug report)

  5. Any additional notes

Issues submitted that are single words or irrelevant to the development of the project

Contributing Code

The macOS Security Compliance Project uses a typical GitHub fork and pull request workflow. Learn more about cloning a GitHub repository. Learn more about GitHub pull requests. To establish a development environment for contributing to the project, you must do the following:

  1. Before you start working on a fix it’s a good practice to leave a comment in the issue that you work on the fix so other contributors know that the fix is in progress.

  2. Fork the macOS Security Compliance Project repository to your personal workspace. Please refer to the Github guide on forking a repository for more details.

  3. Create a feature branch from the master 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, the git branch working command can be used to create a branch named working.

  4. 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 and git rm commands.

  5. 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 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".

  6. Next, you must push your changes to your personal repo. You can do this with the command: git push.

  7. Finally, you can create a pull request. Make sure to link the pull request to an issue using a keyword

Contributor License Agreement

By contributing, you agree that your contributions will be licensed under Creative Commons Attribution 4.0 International Public License (CC By 4.0).