Open Know-How (OKH)
Open Source Hardware technical documentation
in an open graph database.
The most important files in this repo,
in descending order:
- src/spec/okh.ttl -
The main source file of this Specification
- src/spec/otrl.ttl -
The source file of the Open Technology&Documentation Readiness Levels Specification
(used by okh.ttl)
- src/schema/okh.schema.json -
The JSON Schema for the (TOML) manifests,
which are commonly used as the source files by the projects or project platforms
to store/transmit the projects data,
even though the real data is always the RDF form
(which can be generated from these manifests).
The work here is based on the Open Know-How Specification v1.0.0,
as released in 2019.
The goal of the adaptations in this repo,
is to change the OKHv1 specification to make it applicable to
Linked
Open data,
and rework data fields after latest research results.
This fork was proposed
to the maintainers of the Open Know-How Specification
as a new major version of the specification.
Intro
History
Since May 2024,
OKH LOSH was adopted by its spiritual mother IoPA
(formerly MakerNet Alliance) once again,
as the now official successor to OKH v1. \
This was a great social and political achievement,
with lots of arguing by Open Source Ecology Germany e.V. (OSEG),
ice- and ground-breaking by Sarah Hutton from IoPA,
and a final flood of good will and courage by Nathan from IoPA.
Since February 2022,
OKH LOSH was continued within the INTERFACER project.
After March 2023,
OSEG maintained OKH LOSH -
which was the most advanced and most active OKH version between 2020 and 2024.
Part of that work was done within the DAPSI project,
while most of it was community work.
From early 2020,
the LOSH variety of the OKH standard -
which was the most advanced and most active OKH version until 2024 -
was developed as an OPEN!NEXT project,
which was a collaboration between 19 industry and academic partners
across Europe.
more about OPEN!NEXT
Funded by the [European Union](https://europa.eu/)'s [Horizon 2020] program,
this project seeks to enable small and medium enterprises (SMEs)
to work with consumers, makers, and other communities in rethinking
how products are designed and produced.
[Open Source Hardware](https://www.oshwa.org/definition/)
is a key enabler of this goal
where the design of a physical product is released with the freedoms
for anyone to study, modify, share, and redistribute copies.
These essential freedoms are based on those of [Open Source Software](
https://opensource.org/osd),
which is itself derived from [free software](
https://www.gnu.org/philosophy/free-sw.en.html)
where the word free refers to freedom, _not_ free-of-charge.
When put in practice,
these freedoms could potentially not only reduce proprietary vendor lock-in,
planned obsolescence, or waste but also stimulate novel –
even disruptive – business models.
The SME partners in [OPEN!NEXT] are experimenting
with producing open source hardware and even opening up the development process
to wider community participation.
They produce diverse products ranging from [desks](https://www.stykka.com/),
[cargo bike modules](http://www.xyzcargo.com/),
to a [digital scientific instrument platform](https://pslab.io/)
(and [more](https://opennext.eu/project-team/#sme)).
The work carried out in this repository was subject to WP3 of [OPEN!NEXT]
("Supporting production engineering with ICT infrastructure")
and lead by the [department of Information and Process Control
at the Fraunhofer Institute for Production Systems and Design Technology](
https://www.ipk.fraunhofer.de/en/about-us/organization/virtual-product-creation.html).
In mid 2019,
the first draft of OKH has been crafted,
and OKH v1 was released in the end of the same year
by a consortium of 10 organizations:
lead by the MakerNet Alliance,
under a grant from the The Shuttleworth Foundation.
tl;dr
a distributed database for OSH modules:
a demonstrator for a piece of ICT infrastructure to support design reuse
Standards are the backbone for this approach.
short & crisp
We are aiming to build the (real) Internet of Things –
the Internet of Open Hardware.
Scope
Q&A
What is the domain that the ontology will cover?
Open source hardware modules. \
A "module" is defined here as an assembly with a defined purpose.
The scope/size of a module is defined by every project individually.
On git-based systems, every repository represents exactly one module
(except otherwise noted).
Who's the end-user you have in mind?
- developers\
the whole thing here is first and foremost about design reuse
- manufacturers / service providers \
find OSH published under a free/open license
(we perform quality checks) so that you can modify,
replicate and exploit OSH products
however you like e.g. for cases of decentralized (mass) production,
maintenance and service provision – or just for yourself.
What's the problem this thing is solving?
Or rather, how does this 'tool' look like?
- It's a powerful filter for OSH.
Find what you actually need.
- It's a knowledge base capable of
- answering complex questions like
"What development platforms are mainly used among OSH projects
that got certified by OSHWA or attested according to DIN SPEC 3105-2?";
- cross-linking information
(e.g. ongoing research with OSH designs
related to sustainable agriculture).
What are use-cases of the ontology?
- find the OSH that solves your problem
(→ linking OSH modules with functional categories)
- filter for license, certificate, functional categories,
file formats…
- e.g. search for renewable energy related projects
- provide portable metadata: OSH can be published on various platforms
- facilitate packaging: essential files can be directly linked in the metadata, so:
- we can run periodic tests to see whether files are still online,
- you can download those files directly from an OKH web front-end
- RDF enables custom use cases
(e.g. for researchers or other OSH platforms)
e.g. by writing custom queries (SPARQL)
or by linking to other data/knowledge bases,
such as a public DB about plants
Who will use and maintain the ontology?
- all the awesome communities that provide the ontology modules we are using,
e.g. SPDX
- first and foremost: us
- this ontology is yet to be presented to the Open Know-How Community;
they may choose to endorse this approach as Version 2.0.0 of their specification.
Outlook
We want to organise open source hardware in a graph database.
There's a long list of cool use cases
of such a knowledge base.
Lots of information (including the technical documentation itself)
could be stored as linked open data or simply linked together.
The future could bring e.g.:
- automated quality & completeness checks for the technical documentation
- unambiguous reference of all parts
(e.g. to a library of standard components or to other OSH)
- automated matchmaking to manufacturers based on production metadata
- automated matchmaking with suitable finding opportunities
Technical details
How does the data-flow generally work?
Ecosystem
Standard
The standard/meta-data specification
is developed and published in this very repository. :)
open standards used:
- The DIN SPEC 3105
(published under CC-BY-SA-4.0 in June 2020)
- and the OH-TsDC define clear,
enforceable criteria for technical documentation of OSH
(+ a community-based assessment procedure in order to prove that)
Together,
these form a first approach to organize OSH through reasonable metadata.
Can I see the ontology structure somewhere?
Our CI automatically generates [exports from the TTL source](
https://iop-alliance.github.io/OpenKnowHow/).
You can find:
- Markdown files laying out the structure,
- GraphViz/DOT graps/diagrams representing the structure,
- PNG & SVG renders of the graphs/diagrams
Note that when invalid TTL files are pushed,
the CI will give back an error and no exports will be available.
Crawler
The crawler that collects projects data from different platforms.
It is currently (July 2024) not run periodically.
Frontend
For now,
the old, outdated front-end of the OKH LOSH system
is still the easiest way to get an idea
about what will be possible with this system for end-users.
It helps you to search the data on our Wikibase instance.
If you are ready for a more hands-on approach of testing,
you may also try to use a more up-to-date approach
with our RDF-DB tester.
Want to contribute?
'til we have a proper contribution guide,
just join our group on Telegram
:)
In any case, collaboration in this project must follow our Code of Conduct
Why are we doing this?
"Human history, closely explored,
boils down to the history of invention of better tools." \
– Ernst Knapp: cultural geographer (1808-1896)