SMPTE AG 31
Administrative Guideline

GitHub Operating Guidelines

Approved: 2025-03-25

Copyright Β© 2025, Society of Motion Picture and Television Engineers. All rights reserved. No part of this material may be reproduced, by any means whatsoever, without the prior written permission of the Society of Motion Picture and Television Engineers.


Table of contentsπŸ”—

  1. Foreword
  2. 1 Scope
  3. 2 Conformance
  4. 3 Normative references
  5. 4 Terms and definitions
  6. 5 Document repository
    1. 5.1 Usage
    2. 5.2 Private vs public
    3. 5.3 Creation
  7. 6 Repo Types
    1. 6.1 Main Document Repo
      1. 6.1.1 General
      2. 6.1.2 Naming
    2. 6.2 HTML Publishing Document Repo
      1. 6.2.1 General
      2. 6.2.2 Naming
  8. 7 User access
    1. 7.1 GitHub Teams
    2. 7.2 GitHub Permissions
  9. 8 GitHub workflow
  10. 9 Boilerplate artifacts
  11. Additional elements
  12. Bibliography

ForewordπŸ”—

The Society of Motion Picture and Television Engineers (SMPTE) is an internationally-recognized standards developing organization. Headquartered and incorporated in the United States of America, SMPTE has members in over 80 countries on six continents. SMPTE’s Engineering Documents, including Standards, Recommended Practices, and Engineering Guidelines, are prepared by SMPTE’s Technology Committees. Participation in these Committees is open to all with a bona fide interest in their work. SMPTE cooperates closely with other standards-developing organizations, including ISO, IEC and ITU. SMPTE Engineering Documents are drafted in accordance with the rules given in its Standards Operations Manual. For more information, please visit www.smpte.org.

This Standards Administrative Guideline forms an adjunct to the use and interpretation of the SMPTE Standards Operations Manual. In the event of a conflict, the Operations Manual shall prevail.

1 ScopeπŸ”—

This defines the process for managing SMPTE GitHub repositories for usage with the HTML Workflow as defined by SMPTE AG-26.

2 ConformanceπŸ”—

The following keywords have a specific meaning in the context of this document:

3 Normative referencesπŸ”—

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

4 Terms and definitionsπŸ”—

For the purposes of this document, the following terms and definitions apply:

issue
[SOURCE: https://docs.github.com/en/issues/tracking-your-work-with-issues]
pull request
PR
[SOURCE: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests]
approval
[SOURCE: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request]

5 Document repositoryπŸ”—

5.1 UsageπŸ”—

A GitHub repository is primarily intended for:

5.2 Private vs publicπŸ”—

A repository can either be:

Unless requested by the project group, repositories are created as public repository.

A public repository should remain public.

Discussions in public repository are not subject to the SMPTE confidentiality policy.

A project group may request that a repository be created as private, or made private.

A repository that is private shall not be made public, unless explicitly approved by the Standards Vice-President as provided by the SMPTE confidentiality policy.

In the event that a public repository is created when a private repository already exists, the private repository should be archived and -private appended to its name.

5.3 CreationπŸ”—

A repository is created only on request to sent to githubsteering@smpte.org.

6 Repo TypesπŸ”—

6.1 Main Document RepoπŸ”—

6.1.1 GeneralπŸ”—

There is one public repository for all editions and stages of a document. This repo is primarily used for collecting issues from the public.

The main benefit of this repo is that anyone in the community may make a comment (as an issue) about a document without needing to be a SMPTE participant, as long as they are a GitHub user.

This repo may change via a PR for publication of a PCD, and back to a basic issue tracking repo via a PR after completion of a PCD. For guidance on this, see SMPTE AG-22

6.1.2 NamingπŸ”—

The syntax for repo naming is:

("rp" | "st" | "eg")<document root number> "-" <document part>

EXAMPLE —⁠ The repository for the document "ST 2067-105" is named st2067-105

6.2 HTML Publishing Document RepoπŸ”—

6.2.1 GeneralπŸ”—

There is zero or one private HTML document repository for all editions and stages of a document, created from the template at SMPTE AG-27 as defined by SMPTE AG-04.

This repo is used to maintain the HTML source of a document, if one exists, and any additional elements that do not require their own repositories. The workflow for this document process is managed and documented at SMPTE AG-26.

Issues may not be collected in this repo, and the GitHub issue tracker is disabled as such. Editors should always be aware of issues in the Main Document Repo, which may come from the public.

Currently, these repos will always remain private.

6.2.2 NamingπŸ”—

The syntax for repo naming is:

("rp" | "st" | "eg")<document root number> "-" <document part> "-private"

EXAMPLE —⁠ The repository for the HTML workflow of the document "ST 2067-105" is named st2067-105-private

7 User accessπŸ”—

7.1 GitHub TeamsπŸ”—

Users shall be set into varios GitHub Teams based on need, such as:

7.2 GitHub PermissionsπŸ”—

Users and Teams shall have the permissions:

8 GitHub workflow πŸ”—

Project groups should adhere to the following rules:

9 Boilerplate artifacts πŸ”—

The following documents shall present in all repositories, as modified according to the nature of repository:

See also SMPTE AG-22 for additional requirements specific to Public Committee Drafts.

Additional elementsπŸ”—

The following are the non-prose elements of this document:

  1. a. README.md (normative). file: <README.md>.
  2. b. CONFIDENTIALITY.md (normative). file: <CONFIDENTIALITY.md>.
  3. c. CONTRIBUTING.md (normative). file: <CONTRIBUTING.md>.
  4. d. LICENSE.md (normative). file: <LICENSE.md>.
  5. e. PATENTS.md (normative). file: <PATENTS.md>.

BibliographyπŸ”—