Source: ViewEdit

OSO Certification Program

The Open Shell Organization (OSO) provides a formal certification for command line utilities.

Why Certify?

Certified tools earn the trust of system administrators and automation engineers by guaranteeing predictable behavior and safe execution patterns.

The Certification Mark

Upon certification, the command line app is allowed (and encouraged) to display the certification on the first line of help and error output (TTY).

Required text

{OSO} Certified - opensh.org

The URL answers who certified the tool. Do not use a DevCentr subdomain in the mark.

Truecolor (TTY)

Use 24-bit \x1b[38;2;R;G;Bm sequences (shared helper: project_map.badge / OSO constants):

| Segment | Hex | |---|---| | { } and - | #9CA3AF | | first O | #D1D5DB | | S | #B85C5C | | second O | #5A9BB0 | | Certified | #7DCEA0 (mint) | | opensh.org | #3B6EA5 (cobalt) |

Emit plain ASCII when piped, -json (the legacy --json is a deprecated alias), or NO_COLOR is set. Bold (\x1b[1m) is optional and not locked.

Optional second TTY line

Product-specific hint (what the tool is / is not). Omit when piped or JSON.

Conformance marker in release versions (PROPOSED)

Status: PROPOSED (Ryan: tools "may also need to use a compound release name from hereon out"). Not a requirement yet.

A certified tool’s release version would carry the version of the Open Shell Organization standard it conforms to as SemVer build metadata:

ls v2.2.4+oso1.0.0

2.2.4 is the tool’s own version; +oso1.0.0 says the release conforms to version 1.0.0 of the standard. SemVer ignores build metadata when ordering versions (SemVer 2.0.0, item 10), so v2.2.4+oso1.0.0 and v2.2.4+oso1.1.0 sort as equal and the marker never changes which release is newer.

Open detail: how the marker combines with build metadata a project already uses. SemVer build metadata is a dot-separated list of [0-9A-Za-z-] identifiers, so +oso1.0.0.build5 is valid but makes the marker’s end ambiguous. Options include a fixed position (oso and the next identifiers first), a hyphenated single identifier (+oso-1-0-0.build5), or a separate field in the release notes.

Discoverability

Certified CLIs on Unix-like hosts must ship:

  1. -help (the legacy --help is a deprecated alias, NS-15)

  2. A man page (preferred), and ideally an info node

-help alone is not enough. Some system ls installs ship neither man nor info — that fails this contract and is motivation for a higher bar, not a model to copy.

Domain

Public home: opensh.org (owned). Wire DNS to GitHub Pages (or another docs host). openshell.org may be acquired later as a redirect.