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:
- Software freedom
- Hardware freedom
- Simplicity
- Environmental friendliness
- Usability
- Customizability
Below we see them in detail:
Software freedom and/or source code availability
- Level 1: No source code is released for the device.
- Level 2: Some source code is released for the device, or the device is using free and open source libraries that they list in their license.
- Level 3: Most source code is released but NOT under a permissive license, or may be mixed with proprietary components.
- Level 4: Most source code is open and under a permissive license.
- Level 5: All the source code of the device as well as of all of its components is open and under a permissive license.
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
- Level 1: No hardware schematics are released
- Level 2: Hardware schematics are released for some components or the device uses some components with open and permissive licenses.
- Level 3: Most schematics are released, even in a non-open transmission format, except for some parts or components.
- Level 4: All schematics are released for the device as well as its components, but in a non-open format and with limited documentation.
- Level 5: All schematics are released for the device as well as its components, and in an open/publicly standardized format. Exhaustive hardware documentation is also provided.
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
- Level 1: Requires both specialized equipment and specialized knowledge to build, study and repair.
- Level 2: Requires both specialized equipment and specialized knowledge to build, study and repair, but offers either DIY guides on how to build the device with the components, or a repair guide.
- Level 3: The device offers guides and tutorials as well as documentation on its build process, but is still complex in nature and documentation.
- Level 4: The device is simple to build and understand, and offers guides on its build and operational process.
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
- Level 1: The device makes heavy use of rare materials and doesn't have repairable components. It is not easily recyclable and the materials are put together in a difficult to separate way. It is not easily opened, and possibly uses glue or some other one-use only tool to keep itself together. When the device reaches and end-of-life state, adequate waste management is difficult to achieve (for example, it may contain harmful materials and there may not be any guidelines on how to dispose of them in a safe way). The manufacturing process has a significant environmental impact.
- Level 2: The device contains many rare materials and has some switchable components. It is not easily recyclable and the materials are put together in a difficult to separate way. It is not easily opened, and possibly uses glue or some other one-use only tool to keep itself together, but there are basic recycling guidelines in place.
- Level 3: The device is built of common easily found materials, and its components are switchable for the most part. It is not easily recyclable and the materials are put together in a difficult to separate way. It is easily opened, and doesn't use glue or some other one-use only tool to keep itself together.
- Level 4: The device is built of common, easily found and sustainable materials, it is made of separately made components which are readily switchable for replacement parts, it supports open standards and is therefore interoperable with other different components, and the materials for the components are easily separable for recycling. It is easily opened, either with standard screws or other simple methods. Product creation/manufacturing creates minimal waste or allows such waste to be reused. There are comprehensive recycling or reuse programs for the product's end of life easing recycling or reuse, for example allowing materials from old devices to be reused to create new products, ensuring minimal waste generation.
Usability
- Level 1: The device requires specialized knowledge to operate within a normal use
- Level 2: The device requires specialized knowledge to operate within a normal use, but guides for the configuration are easily available.
- Level 3: The device is easy to use and requires no specialized knowledge to operate, guides are available but some configuration from the end user is still required to allow for a normal use.
- Level 4: The device is easy to use and requires no specialized knowledge to operate, the required configuration to use is minimal or almost nonexistent.
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:
- A laptop that requires a user to compile a custom Linux kernel to use would fall on Level 2 if there is a guide for it.
- A laptop that works by default with all Linux distros and has no custom drivers to install but instead "Just works" would fall on level 4.
Customizability
- Level 1: No ability to modify or customize the device's software or firmware
- Level 2: Limited customization options, certain critical functionalities are fixed and major modifications are not allowed or easy to accomplish
- Level 3: Users can freely modify and adapt the device's software and firmware as desired.
- Level 4: Users can freely modify and adapt the device's software and firmware as desired without losing any original functionality.
Examples:
- A smart fridge with a fixed firmware doesn't usually allow any custom software
- A laptop with a coreboot bootloader or other similar open firmware allows for easier modifications of the firmware.
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:
- Does the device offer any source codes? +1
- Is all the source code released for the device (complete for any components)? +1
- Are there zero components that require separate, proprietary drivers? +1
- 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.