Add design doc about optionality

Many patches these days ignore the concept of features being optional,
and measuring impact to the project.  This documentation attempts to
close that gap, by having some explicitly defined language in the
architecture that developers can reference in their commit messages, and
maintainers can point to for general guidance on option flags.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Id1ab8f1765110f58f22670db18db7ed226da6b57
3 files changed
tree: 0fc950496d0ae2e05a72b010027699d1a91e92c7
  1. architecture/
  2. designs/
  3. development/
  4. logo/
  5. process/
  6. release/
  7. security/
  8. style/
  9. testing/
  10. tof/
  11. userguide/
  12. .markdownlint.yaml
  13. .prettierrc.yaml
  14. anti-patterns.md
  15. cheatsheet.md
  16. code-of-conduct.md
  17. community-membership.md
  18. console.md
  19. CONTRIBUTING.md
  20. cpp-style-and-conventions.md
  21. features.md
  22. glossary.md
  23. host-management.md
  24. IPMITOOL-cheatsheet.md
  25. kernel-development.md
  26. LICENSE
  27. maintainer-workflow.md
  28. Makefile
  29. meta-layer-guidelines.md
  30. openbmc-conversion.md
  31. OWNERS
  32. README.md
  33. REDFISH-cheatsheet.md
  34. rest-api.md
  35. REST-cheatsheet.md
  36. SECURITY.md
  37. subtree.md
  38. yocto-development.md
README.md

OpenBMC documentation

The OpenBMC project is a Linux Foundation project whose goal is to produce a customizable, open-source firmware stack for Baseboard Management Controllers (BMCs). This repository contains documentation for OpenBMC as a whole. There may be component-specific documentation in the repository for each component.

The features document lists the project's major features with links to more information.

Contact

OpenBMC Development

These documents contain details on developing OpenBMC code itself

OpenBMC Usage

These documents describe how to use OpenBMC, including using the programmatic interfaces to an OpenBMC system.