Protocol for Machines
Requirements are the necessary features of a given product, process, or development pathway. The requirements can apply to machine design, design of a website, design of a Template, design of a software tool, etc.
In order for OSE's development process to be coherent and comprehensive, the requirements for each of its designs, processes, etc must be transparent so that collaborators follow the same, inter-operable standards of development.
The goal of using inter-operable standards is scalability of the development process: inviting a wide range of contributors worldwide to add to the project in a meaningful way. Without such structure, a project lacks the organization required for a meaningful contribution to the human economic process and human progress.
OSE's experiment revolves around creating impactful, open source product development processes which do not suffer from the inefficiency of scale nor the monopolization of power typical of large-scale human endeavors.
When applied to machine development, Requirements are the features that the given machine must have. These are based on the general concept of the GVCS - machines that meet or exceed industry standards, and are sufficient to build a post-scarcity village infrastructure for 150 people.
Specifically, requirements must follow OSE Specifications. OSE Spec is an exhaustive list of properties, and Requirement writers must be familiar with the interpretation of OSE Specifications as they apply to determining the specific requirement.
Of all the Specifications, the most important may be (1) open source, (2) modularity, (3) scalability, and (4) product ecology - assuming the underlying property of appropriate technology for creating democratic society.
Requirements for OSE machines are based on Module Based Design. We focus on a design language where we identify a finite set of modules, and these modules are used to build any of the GVCS machines. While there are 50 machines, there may be ~200 types of modules which are used through all the machines - which create a Pattern Language for building all kinds of artifacts.
The motivation is that instead of building a fixed number of machines, we can build an infinite number of machines by combining the modules in different ways.
The Specification narrows the development path from a general idea to a specific implementation. The specification is a distillation of the Conceptual Design (how it's done) and Design Rationale (why it's done in a particular way) into a specific set of design parameters.
A Requirement should include Specifications. In the Open Source Product Development method, the specification should be approved by the technical Leadership.