Levels of Source

From Open Source Ecology
Revision as of 21:41, 4 June 2022 by Marcin (talk | contribs)
Jump to navigation Jump to search

Source code is clear for software. Source code, if using the term as a metaphor - can apply to hardware design. Such as a house.

In hardware, another concept arises: levels of source.

Because There is No Uniform Compiler, a more complex source code structure prevents simple tools like git from being sufficient to address all documentation needs. Point being - it is not crystal clear what source code is required to define open hardware in a deterministic way. It may easily turn out that the source code is imcomplete, in that it is missing certain 'compilation instructions' - metaphorically speaking. This is a much longer discussion and a can of worms.

For practical considerations, let's define levels of source as multiple ways of defining hardware, with more or less detail - which depends on what tools are used in the development process. Let's take a look at some of these tools:

  1. CAD - what is the ultimate source? The flexibility of FreeCAD allows for different ways of expressing designs. For example, you can have a file that has editable sketches, and a file that contains dumb objects. All of these files should be available, as they can serve different purposes. For example, editable sketches should be kept whenever possible. But a final design, such as a Clone (dumb object) may be more useful in a large file. Or, one may choose a different workflow, such as a workflow other than Merge Workflow.