Standards

Updated: 2020-09-16

Standardization is required to scale anything.

IETF

IETF(Internet Engineering Task Force) formalized many important standard, in the format of RFC. E.g.

  • RFC 20: ASCII
  • RFC 793: TCP
  • RFC 2460: IPv6
  • RFC 6749: OAuth
  • RFC 7540/7541: TTP/2

wiki: List of RFCs

RFC 2119 defines the keywords to indicate requirement levels: MUST/MUST NOT/SHOULD/SHOULD NOT

https://tools.ietf.org/html/rfc2119

POSIX

Portable Operating System Interface (POSIX): a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems.

  • API
  • command line shells and utility interfaces

https://en.wikipedia.org/wiki/POSIX

Single UNIX Specification

POSIX standards form the core of the Single UNIX Specification.

OS X is compliant.

Linux Standard Base (LSB)

wiki

The LSB is based on the POSIX specification, the Single UNIX Specification (SUS), and several other open standards, but extends them in certain areas.

The LSB specifies for example: standard libraries, a number of commands and utilities that extend the POSIX standard, the layout of the file system hierarchy, run levels, the printing system, including spoolers such as CUPS and tools like Foomatic and several extensions to the X Window System.

  • ABI: application binary interface (The LSB is designed to be binary-compatible)

To get LSB version:

$ lsb_release -a

There are conflicts between the LSB and The POSIX standards

Semantic Versioning

MAJOR.MINOR.PATCH
  • MAJOR: backward incompatible
  • MINOR: new functionality, backward compatible
  • PATCH: bug fix only

Information + expectation

JSON Schema

http://json-schema.org/

Editor: https://github.com/jdorn/json-editor

Collection+JSON

Collection+JSON is a JSON-based read/write hypermedia-type designed to support management and querying of simple collections.

http://amundsen.com/media-types/collection/format/

Machine Learning

Open Container Initiative

Open Container Initiative

  • runtime-spec
  • image-spec

Markup lang

Math Formular

https://www.mathjax.org/

Ruby Character

https://en.wikipedia.org/wiki/Ruby_character

A Hexo Plugin: https://github.com/JamesPan/hexo-ruby-character

Packaging

  • .egg -> .whl
  • .deb, .rpm -> snap

configuration format

  • json
  • yaml
  • HOCON
  • java property

Organizations

  • American National Standards Institute (ANSI)
  • International Organization for Standardization (ISO)

Geo

Transit

General Transit Feed Specification (GTFS): https://gtfs.org/

Google Transit API: https://developers.google.com/transit/gtfs-realtime