Measures Governments Can Use to Promote Free Software
And why it is their duty to do so
by Richard StallmanThis article suggests policies for a strong and firm effort to promote free software within the state, and to lead the rest of the country towards software freedom.
The mission of the state is to organize society for the freedom and well-being of the people. One aspect of this mission, in the computing field, is to encourage users to adopt free software: software that respects the users' freedom. A proprietary (nonfree) program tramples the freedom of those that use it; it is a social problem that the state should work to eradicate.
The state needs to insist on free software in its own computing for the sake of its computational sovereignty (the state's control over its own computing). All users deserve control over their computing, but the state has a responsibility to the people to maintain control over the computing it does on their behalf. Most government activities now depend on computing, and its control over those activities depends on its control over that computing. Losing this control in an agency whose mission is critical undermines national security.
Moving state agencies to free software can also provide secondary benefits, such as saving money and encouraging local software support businesses.
In this text, “state entities” refers to all levels of government, and means public agencies including schools, public-private partnerships, largely state-funded activities such as charter schools, and “private” corporations controlled by the state or established with special privileges or functions by the state.
Education
The most important policy concerns education, since that shapes the future of the country:
- Teach only free software
Educational activities, or at least those of state entities, must teach only free software (thus, they should never lead students to use a nonfree program), and should teach the civic reasons for insisting on free software. To teach a nonfree program is to teach dependence, which is contrary to the mission of the school.
The State and the Public
Also crucial are state policies that influence what software individuals and organizations use:
Never require nonfree programs
Laws and public sector practices must be changed so that they never require or pressure individuals or organizations to use a nonfree program. They should also discourage communication and publication practices that imply such consequences (including Digital Restrictions Management).Distribute only free software
Whenever a state entity distributes software to the public, including programs included in or specified by its web pages, it must be distributed as free software, and must be capable of running on a platform containing exclusively free software.State web sites
State entity web sites and network services must be designed so that users can use them, without disadvantage, by means of free software exclusively.Free formats and protocols
State entities must use only file formats and communication protocols that are well supported by free software, preferably with published specifications. (We do not state this in terms of “standards” because it should apply to nonstandardized interfaces as well as standardized ones.) For example, they must not distribute audio or video recordings in formats that require Flash or nonfree codecs, and public libraries must not distribute works with Digital Restrictions Management.To support the policy of distributing publications and works in freedom-respecting formats, the state must insist that all reports developed for it be delivered in freedom-respecting formats.
Untie computers from licenses
Sale of computers must not require purchase of a proprietary software license. The seller should be required by law to offer the purchaser the option of buying the computer without the proprietary software and without paying the license fee.The imposed payment is a secondary wrong, and should not distract us from the essential injustice of proprietary software, the loss of freedom which results from using it. Nonetheless, the abuse of forcing users to pay for it gives certain proprietary software developers an additional unfair advantage, detrimental to users' freedom. It is proper for the state to prevent this abuse.
Computational Sovereignty
Several policies affect the computational sovereignty of the state. State entities must maintain control over their computing, not cede control to private hands. These points apply to all computers, including smartphones.
Migrate to free software
State entities must migrate to free software, and must not install, or continue using, any nonfree software except under a temporary exception. Only one agency should have the authority to grant these temporary exceptions, and only when shown compelling reasons. This agency's goal should be to reduce the number of exceptions to zero.Develop free IT solutions
When a state entity pays for development of a computing solution, the contract must require it be delivered as free software, and that it be designed such that one can both run it and develop it on a 100%-free environment. All contracts must require this, so that if the developer does not comply with these requirements, the work cannot be paid for.Choose computers for free software
When a state entity buys or leases computers, it must choose among the models that come closest, in their class, to being capable of running without any proprietary software. The state should maintain, for each class of computers, a list of the models authorized based on this criterion. Models available to both the public and the state should be preferred to models available only to the state.Negotiate with manufacturers
The state should negotiate actively with manufacturers to bring about the availability in the market (to the state and the public) of suitable hardware products, in all pertinent product areas, that require no proprietary software.Unite with other states
The state should invite other states to negotiate collectively with manufacturers about suitable hardware products. Together they will have more clout.
Computational Sovereignty II
The computational sovereignty (and security) of the state includes control over the computers that do the state's work. This requires avoiding Service as a Software Substitute, unless the service is run by a state agency under the same branch of government, as well as other practices that diminish the state control over its computing. Therefore,
- State must control its computers
Every computer that the state uses must belong to or be leased by the same branch of government that uses it, and that branch must not cede to outsiders the right to decide who has physical access to the computer, who can do maintenance (hardware or software) on it, or what software should be installed in it. If the computer is not portable, then while in use it must be in a physical space of which the state is the occupant (either as owner or as tenant).
Influence Development
State policy affects free and nonfree software development:
Encourage free
The state should encourage developers to create or enhance free software and make it available to the public, e.g. by tax breaks and other financial incentive. Contrariwise, no such incentives should be granted for development, distribution or use of nonfree software.Don't encourage nonfree
In particular, proprietary software developers should not be able to “donate” copies to schools and claim a tax write-off for the nominal value of the software. Proprietary software is not legitimate in a school.
E-waste
Freedom should not imply e-waste:
Replaceable software
Many modern computers are designed to make it impossible to replace their preloaded software with free software. Thus, the only way to free them is to junk them. This practice is harmful to society.Therefore, it should be illegal, or at least substantially discouraged through heavy taxation, to sell, import or distribute in quantity a new computer (that is, not second-hand) or computer-based product for which secrecy about hardware interfaces or intentional restrictions prevent users from developing, installing and using replacements for any and all of the installed software that the manufacturer could upgrade. This would apply, in particular, to any device on which “jailbreaking” is needed to install a different operating system, or in which the interfaces for some peripherals are secret.
Technological neutrality
With the measures in this article, the state can recover control over its computing, and lead the country's citizens, businesses and organizations towards control over their computing. However, some object on the grounds that this would violate the “principle” of technological neutrality.
The idea of technological neutrality is that the state should not impose arbitrary preferences on technical choices. Whether that is a valid principle is disputable, but it is limited in any case to issues that are merely technical. The measures advocated here address issues of ethical, social and political importance, so they are outside the scope of technological neutrality. Only those who wish to subjugate a country would suggest that its government be “neutral” about its sovereignty or its citizens' freedom.