Skip to content

Commit

Permalink
updates to contributing.md for support, legal, versioning (AcademySof…
Browse files Browse the repository at this point in the history
…twareFoundation#1721)

Signed-off-by: Stephen Mackenzie <maxnbk@users.noreply.github.com>
  • Loading branch information
Pixel-Minions committed Sep 26, 2024
1 parent e7de86d commit 8407a07
Showing 1 changed file with 104 additions and 6 deletions.
110 changes: 104 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,61 @@
# Contributing To Rez

Thank you for your interest in contributing to rez.
This document explains our contribution process and procedures, so please review it first:

* [Get Connected](#Get-Connected)
* [Guidelines](#Guidelines)
* [Development Environment](#Development-Environment)
* [Legal Requirements](#Legal-Requirements)
* [Reporting Bugs](#Reporting-Bugs)
* [Versioning Policy](#Versioning-Policy)

For a description of the roles and responsibilities of the various members of the rez community, see [GOVERNANCE](GOVERNANCE.md), and
for further details, see the project's
[Technical Charter](https://github.com/AcademySoftwareFoundation/foundation/blob/main/project_charters/rez-charter.pdf). Briefly, Contributors are anyone
who submits content to the project, Committers review and approve such
submissions, and the Technical Steering Committee provides general project
oversight and maintainership.

## Get Connected

The first thing to do, before anything else, is talk to us! Whether you're
reporting an issue, requesting or implementing a feature, or just asking a
question; please don’t hesitate to reach out to project maintainers or the
community as a whole. This is an important first step because your issue,
feature, or the question may have been solved or discussed already, and you’ll
save yourself a lot of time by asking first.

How do you talk to us? There are several ways to get in touch:

* [Slack](https://slack.aswf.io):
Join the ``#rez`` channel. This channel is where the majority of rez-centric
discussion takes place, where announcements are made, where users help each
other, and other relevant community information is released.

There are a number of other helpful channels as well, depending on your
tolerance for high-frequency information, such as:
``#rez-gh-releases``, ``#rez-gh-prs``, and ``#rez-gh-issues``.

* [GitHub Discussions](https://github.com/AcademySoftwareFoundation/rez/discussions):
GitHub **discussions** are a great place to start a conversation! It's an
excellent place to ask both the rez maintainers as well as the general community
any questions, as well as to act as a place to facilitate complex topics such as
those related to development, rez future feature-set, or future goals of the
project!

* [rez-discussion mailing list](https://lists.aswf.io/g/rez-discussion/):
This is a general-purpose mailing list for discussion of rez, its features,
behavior, configuration, usage patterns, and sometimes a channel for information
regarding major releases. Put simply, a slower version of our Slack channel.

* [The monthly TSC meeting](https://www.aswf.io/meeting-calendar/):
Check the calendar for our monthly TSC meeting. Reminders often posted in Slack.

## Guidelines

If you would like to contribute code you can do so through GitHub by forking the repository and
sending a pull request. Please follow these guidelines:
If you would like to contribute code you can do so through GitHub by forking the
repository and sending a pull request. Please follow these guidelines:

1. Always retain backwards compatibility, unless a breaking change is necessary. If it is
necessary, the associated release notes must make this explicit and obvious;
Expand Down Expand Up @@ -62,13 +114,41 @@ packages for improved test output: `pytest` and `parameterized`. You can install
1. Set up your development environment as shown above.
2. Run `rez selftest`.

## CLA
## Legal Requirements

rez is a project hosted by the Academy Software Foundation (ASWF) and
follows the open source software best practice policies of the ASWF TAC with the
guidance from the Linux Foundation.

### License

rez is licensed under the [Apache 2.0 License](LICENSE). Contributions to rez
should abide by that license.

### Contributor License Agreements

Developers who wish to contribute code to be considered for inclusion
in rez must first complete a **Contributor License Agreement
(CLA)**.

rez uses [EasyCLA](https://lfx.linuxfoundation.org/tools/easycla) for managing CLAs, which
automatically checks to ensure CLAs are signed by a contributor before a commit
can be merged.

* If you are an individual writing the code on your own time and
you're SURE you are the sole owner of any intellectual property you
contribute, you can
[sign the CLA as an individual contributor](https://docs.linuxfoundation.org/lfx/easycla/contributors/individual-contributor).

Rez enforces use of a Contributor License Agreement as per ASWF guidelines. You need only sign up to the EasyCLA system once, but until you do, your PRs will be automatically blocked.
* If you are writing the code as part of your job, or if there is any
possibility that your employers might think they own any
intellectual property you create, then you should use the
[Corporate Contributor Licence Agreement](https://docs.linuxfoundation.org/lfx/easycla/contributors/corporate-contributor).

For more info see https://easycla.lfx.linuxfoundation.org/#/
The rez CLA's are the standard forms used by Linux Foundation projects and
[recommended by the ASWF TAC](https://github.com/AcademySoftwareFoundation/tac/blob/main/process/contributing.md#contributor-license-agreement-cla).

## DCO
### DCO Commit Sign-Off

Rez enforces Developer Certificate of Origin (DCO) on all commits, as per ASWF guidelines. PRs are automatically blocked until all commits within the PR are signed off.

Expand All @@ -84,6 +164,15 @@ to `.gitignore`):
For more info see https://github.blog/changelog/2022-06-08-admins-can-require-sign-off-on-web-based-commits/
for web-based commits, and https://probot.github.io/apps/dco/ for all others.

### Copyright Notices

All new source files should begin with a copyright and license stating:

```
# SPDX-License-Identifier: Apache-2.0
# Copyright Contributors to the Rez Project
```

## Reporting Bugs

If you report a bug, please ensure to specify the following:
Expand All @@ -92,3 +181,12 @@ If you report a bug, please ensure to specify the following:
2. Platform and operating system you were using;
3. Contextual information (what were you trying to do using Rez);
4. Simplest possible steps to reproduce.

## Versioning Policy

rez releases observe the [semver 2.0.0](https://semver.org/) version numbering standard.
Briefly:

* **MAJOR** version when you make incompatible API changes
* **MINOR** version when you add functionality in a backward compatible manner
* **PATCH** version when you make backward compatible bug fixes

0 comments on commit 8407a07

Please sign in to comment.