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.
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.
See also command-namespace design decisions.
Discoverability
Certified CLIs on Unix-like hosts must ship:
-
-help(the legacy--helpis a deprecated alias, NS-15) -
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.orgunchecked (owned). Wire DNS to GitHub Pages (or another docs host). openshell.org may be acquired later as a redirect.