Intro to Free Hardware Designs
In "free software" and "free hardware", the "free" in "free computing" does not refer to price; it refers to freedom and liberty of users.
This section is mainly for posts on hardware hardware designs. Without which, no computer user is free.
In fact, access to schematics, boardviews, datasheets and any other documentation is critical to software freedom.
Leah Rowe, founder and lead developer of Libreboot, who isn't affiliated with this thing but has given Andrew a lot of inspiration
We can't make free software, especially bootloaders and operating systems, if we don't have knowledge of how hardware works. In modern day computing we do understand how to design kernels for most architectures such as x86 and aarch64, but this is not enough—without extensive research into how components in a specific peice of hardware interact with each other, we may be able to accomplish simple tasks such as running an OS on it, but the right to repair is severely restricted, and we can't check if the hardware is doing nasty things, or replace parts of it should it be so.
What are Free Hardware Designs?
Hardware designs that meets the following conditions are free hardware designs.
- The design files, for example 3D models and circuit diagrams, are available under a free license;
- All verilogs of FGPAs, if any (it is wise to use FGPAs for the sake of condition 5) are available under a free license;
- The documentations of interfaces of the hardware, such as data sheets, are available under a free license;
- The hardware is fully functional with no proprietary software;
- The hardware is designed to be easy to tinker around with (including improving and reparing, e.g. being modular) and contains no tivoization.
Here, a free license means that the user may use, adapt and/or redistribute the work for any purpose, similar to the four essential freedoms of free software. The design and documentation is like the equivalent of "source code" in software.
We have found no hardware that have/meet all of these requirements (i.e. full certification) now. But some come close! Consider them when purchasing your next hardware. See certifications.
What are the Benefits of Free Hardware?
- You can be ensured that your hardware is not spying on you or doing anything nasty like that, because you and your technical friends can audit what's going on, reprogram the FPGAs, etc.;
- You can get fully free software operating systems on your hardware to work properly and use all the features that your hardware has, without ever running a nonfree program, so you more easily get the benefits of free software;
- You can easily create your own software or operating system that interacts with the hardware given enough expertise and good documentation;
- You can create your own version of the hardware as you wish, for example for friends who are in need of hardware but cannot afford commercial ones, since circuit diagrams, 3D models, and verilogs are available;
- You can upgrade the parts on your own, thus cutting down on e-waste, helping protecting our land from plastic, helping protecting our environment which we all live in and depend on;
- You can rely on 3D models and circuit diagrams when you're integrating hardware into a new project, for example your own computer case, without taking the trouble to measure everything and create your own model for an exact fit.
How Can I Help?
If you're just a normal computer user, kindly ask the manufacturer of your hardware for design files and datasheets. Show manufacturer that you care about your freedom to hack the hardware.
When considering purchasing new hardware, prioritize free hardware. At this stage it is extremely rare to find any, but still be on the lookout. Please, if you find any that seem to be trustworthy, tell the community about it.
When you create a hardware design, use the GNU General Public License, version 3 (please add "or later") or the CERN Open Hardware Licence Version 2 - Strongly Reciprocal license! CERN 2.0 is a strong copyleft license for hardware designs, similar to the spirit of the GNU GPL, which is more widely used in free software. The GPL is not specifically designed for hardware designs, but it seems to be work for hardware designs, at least RMS's lawyers believe it's okay. CERN 2.0 is more complicated and has more legalese. However, since the GPL can acheive most of CERN, discussion is needed for which to use and whether letting yet another license proliferate is good. Using these licenses ensures that it is illegal to take your design and make proprietary hardware (or designs thereof) out of it.
If you're wondering how you could profit, see the FAQ on profits.
Frequently Asked Questions
What would be the incentive for hardware manufacturers to continue develop hardware and innovate?
You may profit from providing support to end users who don't know how to deal with hardware.
However, is profit your goal of developing hardware? When profit is the goal of a project or company, people often ignore the social consequences they bring about to people. Profit is not essential, or good, for the development of everything.
How would developers gather the resources to develop hardware? Developing hardware is expensive.
This is an issue. However, people in the free software community—who probably also support free hardware—would probably be more than happy to support you.
It should be noted that many or most of the expenses of developing hardware today comes from patents. Software patents make developing software exceptionally hard as developers cannot be passively (i.e. with no extra work) ensured that they're not infringing patents just by not copying others' work—they need to actively look for works similar to theirs and check if these are patented, leading to an exponential increase in development cost, which we can already see with people patenting technologies to speed up the free RISC-V architecture, leaving others with slow versions of the architecture as the way to speed the processor up is patented. (This is yet another reason to use copyleft licenses.)
How would this affect me, a normal computer user who doesn't understand how my hardware works?
There are certainlly people who would understand how the hardware works, and possibly tinker with it, given free documentation, design files and datasheets. It is impossible for everyone to be a computer expert; however, free hardware and free software grant people collective control over their computing, with the freedom to redistribute modified version of the original work.
3D printing is important and liberating technology, via which people are able to create their own hardware, furniture and you name it with 3D printing, not requiring a huge investment into factories and the like.