Contribute

The OmniBOR Project is happy to accept contributions from anyone! Part of our ethos is that OmniBOR is for everyone. Below you'll find some guidance for making contributions to different parts of the OmniBOR project!

Contributing to the OmniBOR Specification

The OmniBOR specification is the central location where we define Artifact IDs, Input Manifests, and how they should be constructed, stored, and distributed.

Contributions to the specification can take many shapes. For small, non-semantic contributions, like rewriting prose for clarity or fixing typos and grammatical mistakes, we encourage you to just make a Pull Request directly to the specification repository on GitHub.

For larger contributions, especially those which change the semantic meaning of the spec, we work by a consensus model which involves:

  1. Proposing changes
  2. Discussing those changes among the OmniBOR Working Group
  3. Modifying proposals based on feedback
  4. If consensus is reached, making edits to the specification

The process of gathering feedback currently happens largely synchronously during the weekly OmniBOR Working Group calls, held on Zoom every Monday from 10am to 11am Pacific Time.

Working Group Meetings

iCal-format calendar subscription

Contributing Code to the OmniBOR Project

The OmniBOR Project maintains a number of existing software projects, including:

  • First-party implementations of the OmniBOR specification
  • Patches for third-party tools to support producing OmniBOR data
  • Additional tools to support interacting with OmniBOR data

We are happy to accept contributions to any of these!

Each project has its own license and may have specific unique contribution guidance, so you should review the policies of the specific repository before contributing. For first-party implementations, we default to permissive open source licenses like Apache 2.0 or MIT. For patches to third-party tools, we match the licensing of the upstream tool, as our goal is to eventually merge any patches we maintain back into upstream so others can make use of our changes.