LibreOneDay

LNDY Hardware Classification Specification

Following you can find the LNDY (acronym of Libre One Day, but pronounced as "Lindy") spec.

It is currently in a WIP (Work-In-Progress) state and undergoing heavy changes in this initial phase. Feedback is always welcome!

Table Of Contents

Version

The following is version 0.1 of the specification.

Specification definition

The purpose of the LNDY specification is to classify all tech by its level of freedom.

With the libreoneday website, we are making an index of open/libre hardware and open/libre software devices.

We use 6 categories by which to classify technology and hardware:

Below we see them in detail:

Software freedom and/or source code availability

A perfect device should be on level 5. This is to ensure constant ongoing quality in software (everyone can improve the software over the course of multiple years, decades possibly) as well as transparency, which can serve for end users as both a means to security but also to ensure reproducibility of bugs and allow fixes to be created.

Hardware freedom

A perfect device should be on level 5, for the same reasons as software freedom. For hardware in particular, having schematics allow for advanced repairability, interoperability, transparency, security (since it will allow security researchers to introspect the device in an easier way) and environmentally friendliness (components are standardized and can be reused, possibly across different projects, that can bring other advantages such as optimized power consumption).

Simplicity

A perfect device should be on level 4, as a simple device is easy to improve, study and therefore secure. It can optionally be reused by other projects for even more advantages to society. Additionally, a device that is simple to create and reuse may allow fast, iterative improvements over a short amount of time.

Environmental friendliness and repairability

Usability

The perfect device should be usable without any further hassles. It should be straightforward to use and configure, coming with sensible defaults but remaining highly customizable if needed.

Examples:

Customizability

Examples:

Determining the levels of a device

The determination of a level in devices should be a completely deterministic and reproducible process. Any non-technically able person should still be able to determine and prove the scores of a device through simple yes/no questions, but they may not be able to prove whether, for example, the released source code may actually compile or be what was actually loaded in their device. Such parameters will need to be manually verified.

A device may be made up of more devices or components. For example, a laptop may be comprised of a CPU, a GPU, a Motherboard and a screen. The screen may in turn be comprised of an LCD controller, an LCD screen and a power supply. In such cases, the device's level will be influenced by all the components it is composed of, as the final score will be averaged between all of the immediate (directly connected in the hierarchy) component's scores. If a screen has a completely open controller, but the power supply hardware schematics are not present and neither are the schematics, or the inner workings for how the LED backlight works with the liquid crystals aren't publicly available and thus not reproducible (and cannot be recreated in the wild), then the scores for all these components will influence the score of the screen. The overall scores of the screen will influence the score of the containing device, or the laptop in this instance.

Following are the questions to determine a device's scores and levels:

  1. Does the device offer any source codes? +1
  2. Is all the source code released for the device (complete for any components)? +1
  3. Are there zero components that require separate, proprietary drivers? +1
  4. Does the license for the source code respect the four software freedoms? +1
<Further questions to be determined>

Similar specifications and websites

FSF's ryf certification

LibreOneDay overlaps on some aspects. The ryf list is a certification, or a list of certified devices, while LibreOneDay is more generalized and indicates for example companies that are friendly to these guidelines or that help fight electronic waste while not being fully free as in freedom. To get the highest score in freedom, a company should also get ryf certified on all of his products (since the definition of fully libre software is the same), while for example to get the highest score in reproducibility/simplicity, all the products should be easily recreatable in the wild and with few tools. LibreOneDay does not focus only on software but also on the aspects sorrounding it.

https://lineageosdevices.com/

This website is very similar to ours, with the exception that they only classify smartphones and similar handheld devices.

https://www.sustaphones.com/

This website is very similar to ours, with the exception that they only classify smartphones and similar handheld devices.

h-node.org https://h-node.org/hardware/catalogue/en

This website has a similar purpose, citing https://www.gnu.org/help/help.html#hnode "h-node.org is a repository that contains information about how well particular hardware works with free software.". The main difference is that it mainly covers software compatibility with hardware.

OSHWA Certified Open Source Hardware Projects list https://certification.oshwa.org/list.html

This list has a parallel purpose, except it catalogues hardware devices by the availability and license of the hardware schematics.