# The Subuser Standard

These documents standardize the data serialized by programs implementing the subuser standard.

This standard is organized in order from most stable to least stable. The format for strings used to identify image sources will most likely never change. The format used for packaging and sharing subuser images will evolve over time, however after the 1.0 version of the standard backwards compatibility will be kept at all costs. The internal serialization format of the subuser program will also evolve over time, perhaps in non-backwards compatible ways.

- Image source identifier paths
- Subuser names
- Special files found within the subuser image
  - Files and directories created by subuser
    - `/pwd/`
    - `/subuser/userdirs`
    - `/subuser/execute`
  - Files and directories installed by the image creator
    - `/subuser/check-for-updates`
- Subuser repositories
  - Image source directories
  - The `.subuser.json` file
- What the subuser program serializes to disk
  - The config.json file format
    - Properties
  - The installed-images.json file format
  - Depricated:
  - Runtime cache
  - Service lock files
    - Services
      - xpra service containers
  - The subuser registry
    - The registry.lock file format
    - The subusers.json file format
    - The repositories.json file format
      - Properties
      - Example repositories.json file
    - The repository-states.json file format
      - Properties
    - The permissions.json and permissions-template.json files
  - The locked-subusers.json file format

## Subuser standard licence

Creative Commons Zero, public domain

With the following exception:

Only standards documents identical to those released by Timothy V Hobbs(timthelion) or another person or party whom he nominates may be presented as defining “the subuser standard”. In other words: you cannot edit this document and then claim that your new standard is the official one.