To what extent do the ideas of free software extend to hardware? Is it a moral obligation to make our hardware designs free, just as it is to make our software free? Does maintaining our freedom require rejecting hardware made from nonfree designs?
Free software is a matter of freedom, not price; broadly speaking, it means that users are free to use the software and to copy and redistribute the software, with or without changes. More precisely, the definition is formulated in terms of the four essential freedoms.
- The freedom to run the program as you wish, for any purpose.
- The freedom to study the program’s source code, and change it so it does your computing as you wish.
- The freedom to make exact copies and give them or sell them to others.
- The freedom to make copies of your modified versions and give them or sell them to others.
Applying the same concept directly to hardware, free hardware means hardware that you are free to use and to copy and redistribute with or without changes. But, since there are no copiers for hardware, aside from keys, DNA, and plastic objects’ exterior shapes, is the concept of free hardware even possible? Well, most hardware is made by fabrication from some sort of design. The design comes before the hardware.
Thus, the concept we really need is that of a free hardware design. That’s simple: it means a design that permits users to use the design (i.e., fabricate hardware from it) and to copy and redistribute it, with or without changes. The design must provide the same four freedoms that define free software. Then “free hardware” means hardware with an available free design.
People first encountering the idea of free software often think it means you can get a copy gratis. Many free programs are available for zero price, since it costs you nothing to download your own copy, but that’s not what “free” means here. (In fact, some spyware programs such as Flash Player and Angry Birds are gratis although they are not free.) Saying “libre” along with “free” helps clarify the point.
For hardware, this confusion tends to go in the other direction; hardware costs money to produce, so commercially made hardware won’t be gratis (unless it is a loss-leader or a tie-in), but that does not prevent its design from being free/libre. Things you make in your own 3D printer can be quite cheap, but not exactly gratis since you will have to pay for the raw materials. In ethical terms, the freedom issue trumps the price issue totally, since a device that denies freedom to its users is worth less than nothing.
The terms “open hardware” and “open source hardware” are used by some with the same concrete meaning as “free hardware,” but those terms downplay freedom as an issue. They were derived from the term “open source software,” which refers more or less to free software but without talking about freedom or presenting the issue as a matter of right or wrong. To underline the importance of freedom, we make a point of referring to freedom whenever it is pertinent; since “open” fails to do that, let’s not substitute it for “free”.
Is Nonfree Hardware an Injustice?
Ethically, software must be free; a nonfree program is an injustice. Should we take the same view for hardware designs?
We certainly should, in the fields that 3D printing (or, more generally, any sort of personal fabrication) can handle. Printer patterns to make a useful, practical object (i.e., functional rather than decorative) must be free because they are works made for practical use. Users deserve control over these works, just as they deserve control over the software they use.
Distributing a nonfree functional object design is as wrong as distributing a nonfree program.
Be careful to choose 3D printers that work with exclusively free software; the Free Software Foundation endorses such printers. Some 3D printers are made from free hardware designs, but Makerbot’s hardware designs are nonfree.
Must we reject nonfree digital hardware?
Is a nonfree digital hardware(*) design an injustice? Must we, for our freedom’s sake, reject all digital hardware made from nonfree designs, as we must reject nonfree software?
Due to the conceptual parallel between hardware designs and software source code, many hardware hackers are quick to condemn nonfree hardware designs just like nonfree software. I disagree because the circumstances for hardware and software are different.
Present-day chip and board fabrication technology resembles the printing press: it lends itself to mass production in a factory. It is more like copying books in 1950 than like copying software today.
Freedom to copy and change software is an ethical imperative because those activities are feasible for those who use software: the equipment that enables you to use the software (a computer) is also sufficient to copy and change it. Today’s mobile computers are too weak to be good for this, but anyone can find a computer that’s powerful enough.
Moreover, a computer suffices to download and run a version changed by someone else who knows how, even if you are not a programmer. Indeed, nonprogrammers download software and run it every day. This is why free software makes a real difference to nonprogrammers.
How much of this applies to hardware? Not everyone who can use digital hardware knows how to change a circuit design, or a chip design, but anyone who has a PC has the equipment needed to do so. Thus far, hardware is parallel to software, but next comes the big difference.
You can’t build and run a circuit design or a chip design in your computer. Constructing a big circuit is a lot of painstaking work, and that’s once you have the circuit board. Fabricating a chip is not feasible for individuals today; only mass production can make them cheap enough. With today’s hardware technology, users can’t download and run John H Hacker’s modified version of a digital hardware design, as they could run John S Hacker’s modified version of a program. Thus, the four freedoms don’t give users today collective control over a hardware design as they give users collective control over a program. That’s where the reasoning showing that all software must be free fails to apply to today’s hardware technology.
In 1983 there was no free operating system, but it was clear that if we had one, we could immediately use it and get software freedom. All that was missing was the code for one.
In 2014, if we had a free design for a CPU chip suitable for a PC, mass-produced chips made from that design would not give us the same freedom in the hardware domain. If we’re going to buy a product mass produced in a factory, this dependence on the factory causes most of the same problems as a nonfree design. For free designs to give us hardware freedom, we need future fabrication technology.
We can envision a future in which our personal fabricators can make chips, and our robots can assemble and solder them together with transformers, switches, keys, displays, fans and so on. In that future we will all make our own computers (and fabricators and robots), and we will all be able to take advantage of modified designs made by those who know hardware. The arguments for rejecting nonfree software will then apply to nonfree hardware designs too.
That future is years away, at least. In the meantime, there is no need to reject hardware with nonfree designs on principle.
*As used here, “digital hardware” includes hardware with some analog circuits and components in addition to digital ones.
We need free digital hardware designs
Although we need not reject digital hardware made from nonfree designs in today’s circumstances, we need to develop free designs and should use them when feasible. They provide advantages today, and in the future they may be the only way to use free software.
Free hardware designs offer practical advantages. Multiple companies can fabricate one, which reduces dependence on a single vendor. Groups can arrange to fabricate them in quantity. Having circuit diagrams or HDL code makes it possible to study the design to look for errors or malicious functionalities (it is known that the NSA has procured malicious weaknesses in some computing hardware). Furthermore, free designs can serve as building blocks to design computers and other complex devices, whose specs will be published and which will have fewer parts that could be used against us.
Free hardware designs may become usable for some parts of our computers and networks, and for embedded systems, before we are able to make entire computers this way.
Free hardware designs may become essential even before we can fabricate the hardware personally, if they become the only way to avoid nonfree software. As common commercial hardware is increasingly designed to subjugate users, it becomes increasingly incompatible with free software, because of secret specifications and requirements for code to be signed by someone other than you. Cell phone modem chips and even some graphics accelerators already require firmware to be signed by the manufacturer. Any program in your computer, that someone else is allowed to change but you’re not, is an instrument of unjust power over you; hardware that imposes that requirement is malicious hardware. In the case of cell phone modem chips, all the models now available are malicious.
Some day, free-design digital hardware may be the only platform that permits running a free system at all. Let us aim to have the necessary free digital designs before then, and hope that we have the means to fabricate them cheaply enough for all users.
If you design hardware, please make your designs free. If you use hardware, please join in urging and pressuring companies to make hardware designs free. █
Copyright 2015 Richard Stallman. Released under Creative Commons Attribution No Derivatives 3.0 license.
Send this to a friend
Summary: New article from Richard Stallman
We say that running free software on your computer means that its operation is under your control. Implicitly this presupposes that your computer will do what your programs tell it to do, and no more. In other words, that your computer will be loyal to you.
In 1990 we took that for granted; nowadays, many computers are designed to be disloyal to their users. It has become necessary to spell out what it means for your computer to be a loyal platform that obeys your decisions, which you express by telling it to run certain programs.
Our tentative definition consists of these principles.
- Neutrality towards software
The computer will run, without prejudice, whatever software you install in it, and let that software do whatever its code says to do.
A feature to check for signatures on the programs that run is compatible with this principle provided the signature checking is fully under the user’s control. When that is so, the feature helps implement the user’s decision about which programs to run, rather than thwarting the user’s decisions. By contrast, signature checking that is not fully under the user’s control violates this principle.
- Neutrality towards protocols
The computer will communicate, without prejudice, through whatever protocol your installed software implements, with whatever users and whatever other networked computers you direct it to communicate with.
This means that computer does not impose one particular service rather than another, or one protocol rather than another. It does not require the user to get anyone else’s permission to communicate via a certain protocol.
- Neutrality towards implementations
When the computer communicates using any given protocol, it will support doing so, without prejudice, via whatever code you choose (assuming the code implements the intended protocol), and it will do nothing to help any other part of the Internet to distinguish which code you are using or what changes you may have made in it, or to discriminate based on your choice.
This entails that the computer rejects remote attestation, that is, that it does not permit other computers to determine over the network whether your computer is running one particular software load. Remote attestation gives web sites the power to compel you to connect to them only through an application with DRM that you can’t break, denying you effective control over the software you use to communicate with them. Netflix is a notorious example of this.
We can comprehend remote attestation as a general scheme to allow any web site to impose tivoization or “lockdown” on the local software you connect to it with. Simple tivoization of a program bars modified versions from functioning properly; that makes the program nonfree. Remote attestation by web sites bars modified versions from working with those sites that use it, which makes the program effectively nonfree when using those sites. If a computer allows web sites to bar you from using a modified program with them, it is loyal to them, not to you.
- Neutrality towards data communicated
When the computer receives data using whatever protocol, it will not limit what the program can do with the data received through that communication.
Any hardware-level DRM violates this principle. For instance, the hardware must not deliver video streams encrypted such that only the monitor can decrypt them.
The computer always permits you to analyze the operation of a program that is running.
The computer comes with full documentation of all the interfaces intended for software to use to control the computer.
The principles above apply to all the computer’s software interfaces and all communication the computer does. The computer must not have any disloyal programmable facility or do any disloyal communication.
For instance, the AMT functionality in recent Intel processors runs nonfree software that can talk to Intel remotely. Unless disabled, this makes the system disloyal. █
This page is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License.
Send this to a friend
Summary: The pressure against software freedom and user control over his/her PC a growingly serious issue
FAIR competition is a business risk that Microsoft cannot tolerate. Microsoft wants to mistreat many users by exposing them (for cash) to the NSA. With UEFI and remote updates, the NSA can even remotely brick computers — a serious risk that almost nobody is willing to speak about. It’s all about control (over users) and Microsoft goes out of its way to reduce users’ security. As Richard Stallman put it the other day: “Nonfree [proprietary] software is likely to spy on its users, or mistreat them in other ways. It is software for suckers. Awareness of this is spreading, which helps us make the case for Free software to people who are not computing experts.”
What’s even more troubling right now is that Vista 8 is self-updating (for the latest back doors to be installed) and Ryan tells us that “Microsoft is about to get rid of support for Windows 8.1 without the update pack, and it seems the broken Windows Update problem is still pretty common.” To quote: “Check your Windows Update log, if you’ve got a “Failed” entry next to KB2919355 then your PC will also become orphaned after May 8.” So much for ‘security’.
Interestingly enough and coinciding with the above, yesterday afternoon Jamie posted this review which complains about lingering issues with UEFI (some previous issues relate to Windows updates that allegedly break dual-booting), stating:
In order to install Linux from a bootable USB stick I need to be able to get to the Boot Selection menu, but on Acer systems with UEFI firmware, this is a bit tricky. The Boot Menu key (F12) is disabled by default, so I first have to boot to the BIOS Setup Utility, by pressing F2 during the power on or reboot cycle. Then in the Main setup screen there is an option to enable “F12 Boot Menu”.
That’s one trick down, but there’s another one which might be required. Depending on what version of Linux you want to install, and perhaps how you feel about Secure Boot, you might want/need to disable that. In the BIOS Setup Utility, on the Boot menu there is an option to disable Secure Boot – but I can’t get to it: moving the cursor down just skips over it!
I can change boot mode from UEFI to ‘Legacy BIOS’, but that isn’t what I want to do. I learned (the hard way) with my previous Acer Aspire One, that I have to go to the Security menu and set a “Supervisor Password” before it will let me disable Secure Boot mode. I’m sure this makes sense to someone, but whoever that is, it isn’t me.
In this case I am going to start by installing Linux with Secure Boot still enabled, so I don’t really have to do this, but I went ahead and set a supervisor password anyway, because I will eventually want to turn off Secure Boot anyway.
An ordinary computer user would give up at this stage.
It sure seems like control over one’s computer is getting harder, whether it’s due to artificial limitations or imposed back doors. Fighting for software freedom is important right now, more so than ever before. Some companies and government agencies truly dread the idea of people controlling their machines. The International Day Against DRM is a reminder of this [1,2,3] and based on a new report  the FBI is now “pushing its plan to force surveillance backdoors.” Like CIPAV in Microsoft Windows? █
Related/contextual items from the news:
Today is the Day Against DRM, organized by the Free Software Foundation through their Defective by Design campaign against digital rights management (DRM), which they refer to instead with the more accurate moniker “digital restrictions management.”
CNET learns the FBI is quietly pushing its plan to force surveillance backdoors on social networks, VoIP, and Web e-mail providers, and that the bureau is asking Internet companies not to oppose a law making those backdoors mandatory.
Send this to a friend
Summary: Steve Jobs calls competition (litigation) with Android a “holy war” whereas Bill Gates calls undermining Linux a “Jihad”
TECHRIGHTS is the recipient of various smears that claim the site or its authors to be something that they are not (misrepresentation). We wrote many articles about it about 5 years ago, having seen smears as bad as “Taliban”. A very common pattern of smears is to call your rival/opponent in a debate “religious” about an opinion, as in dogmatic and detached from logic (there are other similar labels like “tinfoil hat” or “conspiracy theory”, as noted years ago). The FSF, despite being mostly atheistic, is a regular recipient of the “religion” smear (Stallman’s parodies of religion may contribute to this). Microsoft sometimes smears Free software by characterising it as a religion and we, as vocal Novell critics, received similar smears from Novell apologists/staff (Microsoft Linux is still alive by the way and it is spreading to Google). Calling/labeling “religious” those who are non-religious makes no sense. It’s a cheap shot and those who use such cheap shots are often the ones who are irrational and detached from an alternative (opposing) point of view. When logic doesn’t work in an argument, then cheap shots get used, or ad hominem attacks.
Now, similar arguments have been made by some Apple “fanboys” (a label in itself) when they were accused of following Apple like it’s a religion (or cult, i.e. small religion). Those jokes about Apple being followed like a religion and Jobs being treated like a Messiah are not so far fetched anymore. And why?
The proponent of "thermonuclear" action turns out to have referred to his war on Android/Linux as a “holy war”.
To quote CNBC: “Steve Jobs warned Apple’s leadership a year before his death that the company he founded faced an “innovator’s dilemma” over the growing threat from Google and promised a “holy war” on smartphones running its Android software, according to evidence shown in court on Tuesday”
This is almost as bad as Bill Gates' allegory/wording when he asked “where are we on this Jihad?” (referring to Microsoft’s war against Linux inside Intel).
Next time you see Free software proponents being referred to as “religious” or something along those lines remember the words of Steve Jobs and Bill Gates. They themselves seem to define/characterise their companies as religious movements.
It is clear why Apple is so afraid of Android, as now revealed by documents from inside Apple , noting that people are moving to Android and never coming back to the “holy” Apple (not even if they work for a company that’s a partner of Apple ). The other Steve from Apple (Wozniak) is now an Android user and he likes to brag (publicly) about Android phones, which based on some new study  are technically better and more stable.
People need not have a religious-type faith to choose GNU/Linux or Android; they do, however, need to have a strong belief in Apple in order to choose an overpriced iPhone. █
Related/contextual items from the news:
Internal Apple documents show that the company’s sales department is anxious about growing competition from Android-powered devices amidst declining iPhone sales, Re/code said in a report.
I’ve written about and reviewed mobile phones for almost a decade and a half. Everything from flip phones, to BlackBerrys, to today’s hottest Android models, and yes, Apple iPhones, have passed through my hands. That experience is why, more than anything, I’ve ultimately settled on Google Android as my smartphone platform of choice.
For long we have been hearing strories that Android is unsafe, unstable, while iOS is reliable. But new data that has emerged will totally change the picture. A study conducted by Crittercism, a performance monitoring company has revealed that while iOS 7.1 is the most stable version of iOS to date, its Android counterpart is far more stable.
Send this to a friend
Summary: The debate about software patents in the United States is back because many Free software advocacy groups and companies (not Open Invention Network though) are getting involved in a Supreme Court (SCOTUS) case
OVER THE past 6 months or so there have not been many debates about software patents. There were debates about trolls and other such distracting debates; many of them were ‘pre-approved’ by corporations and covered by the corporate press. We had highlighted this appealing trend several dozens of times before pretty much abandoning this debate and giving up on involvement; generally speaking, providing coverage for these debates is basically helping those who create obstacles for small players (monopolies/oligopolies) just shift the public’s attention away from patent scope.
Debates about software patents returned about a week ago. The Open Invention Network (OIN) was mentioned in the article “Software patents should include source code”, but it’s such an offensive idea because it helps legitimise software patents, which is what the Open Invention Network often does anyway. To quote the article: “Computer-implemented inventions that are patented in Europe should be required to fully disclose the patented invention, for example by including working, compilable source code, that can be verified by others. This would be one way to avoid frivolous software patents, says Mirko Boehm, a Berlin-based economist and software developer working for the OpenInvention Network (OIN).”
Why on Earth does the Open Invention Network get involved in pushing the idea of software patents in Europe? Source code or not, software patents are not legal in Europe and the same goes in most of the world, including India where lawyers’ sites still try to legitimise them.
In another blog post, one from a proprietary software company, the ludicrous notion of “Intellectual Property” is mentioned in the context of Free software and patents. The author is actually pro-Free software, but the angle he takes helps warp the terminology and warp the discussion somewhat. To quote him: “My usual response to the question, “Do I have to worry about patent trolls and copyright infringement in open source software?” is another question, “Does your proprietary vendor offer you unlimited liability for patent trolls and copyright infringement and what visibility do you have into their source code?” In the proprietary world I think you’d be hard-pressed to find a vendor who provides unlimited liability for their products against IP infringement, or even much over the cost of the products or services rendered. How often do you review their source code and if given the opportunity are you able to share your findings with other users. In open source that’s simply table stakes.”
Contrary to all the above, the Software Freedom Law Center, together with the FSF and the OSI (Simon Phipps and Luis Villa) actually fight the good fight. To quote Phipps: “How important are software patents? We know they’re a threat to the freedom of developers to collaborate openly in communities, chilling the commercial use of shared ideas that fuels engagement with open source. We know that the software industry was established without the “incentive” of software patents. But the importance of the issue was spotlighted yesterday in a joint action by two leading open source organizations.”
Here is how Phipps concludes his article at IDG: “I endorse and welcome this joint position calling for firm clarity on software patents. (I was obviously party to the decision to take it, although I’m not writing on OSI’s behalf here.) With 15 years of history behind us, there’s far more that unites the FSF and the OSI than divides us. We’ve each played our part in the software freedom movement that has transformed computing. Now all of us in both communities need to unite to end the chilling threat of software patents to the freedom to innovate collaboratively in community.”
Red Hat too is joining this battle and announcing this to shareholders, making some press coverage in the process amid many articles about SCOTUS in the post-Bilski case era (see some coverage in [1, 2, 3, 4, 5, 6, 7, 8, 910]).
Software patents are finally in the headlines again (not much sympathy for them), but there is also some focus on trolls, courtesy of companies like Samsung and Apple. Other recent reporting about patents covered patent lawyers’ business, the role of universities in patents (they help feed trolls these days), and also USPTO reform (that was a fortnight ago). None of this dominated the news, however, as much as the debate was on software patents. So, perhaps it’s time to get back to covering patents on an almost daily basis.
Software patents are the most important issue as they are the biggest barrier to Free software. We just need to have the subject of software patents and their elimination publicly discussed. █
Send this to a friend