Free software and governments
Is proprietary software ethical? This is a hard question to tackle, one that I may attempt to answer in the future, for the time being I will content myself with trying to answer the much weaker question of what kind of software the government should use, i.e. Is the use of proprietary software by the government unethical?.
However, it’s worth noting that the nature of the question is similar but differs in an important way: The general problem places the burden of moral responsibility on the developer, the second puts the burden on a specific kind of buyer.
How do we solve this problem? First, we have to define the nature of the buyer. Why is this buyer special?
The government is socially committed
Modern governments are supposed to be democratic and for the benefit of its citizens (and ideally everyone, not just its citizens), in the famous words of Lincoln, Government of the people, by the people, for the people.
We’re not talking about how modern governments behave in practice instead we’re referring to what their moral responsibility is. So in order to tackle this question we don’t need to prove that proprietary software is unethical (i.e. it’s unethical to develop proprietary software) we merely need to prove that if a government uses proprietary software that conflicts with some of its core moral responsibilities.
What are these moral responsibilities? Since an ethical government is supposed to promote the wellbeing of its citizens, some abstract choices between hypotheticals is rather simple: If you can spend some amount of money and give healthcare to a fraction of your citizens or spend the same amount and give healthcare to all of your citizens (assuming no asymmetries in quality) then the government must pick the second.
Obviously this matter is contentious precisely because some argue that is just, after all, an hypothetical choice: given healthcare to everyone would cost significantly more money or the quality would go down or something else. Almost every developed nation has universal healthcare, but this wasn’t achieved by picking between these two hypotheticals. Instead the question was framed as: What is the best way to provide healthcare for everyone? The goal itself was to achieve universal healthcare (because of ethical considerations) and that’s not the point of the hypothetical example given above. We don’t need at all to argue that one of the goals of an ethical society is that every software developed and every software people use ought to be free software (we would need to prove that proprietary software is unethical and we’ve already established that’s a harder problem to tackle).
If we take a look at the hypothetical choice regarding software the situation feels very different: (i) governments can use proprietary software to fulfill its technical needs for some amount of money or (ii) governments can use free software to fulfill its technical needs for the same (or less) amount of money, while providing its citizens (and everyone) with more software to the benefit of all and to the benefit of its technical needs.
Our second hypothetical seems very plausible. In order to prove it we just need to check if every proposition of (ii) can be actually met. This is also serves the purpose of showing how some moral problems can be settled by empirical evidence (i.e. they’re an objective matter).
Governments can fulfill their technical needs using free software.
This proposition is easy to prove: The code itself is independent of the license used. Any piece of software can be licensed as free or proprietary software, in fact, many pieces of software have gone from proprietary to free or viceversa. Even applications that use DRM could technically be free software, they would be instantly forked by the community with the DRM component removed, but that’s not the point.
The same can be achieved with the same or less money
Let’s start with the analytic part. It should be obvious that given that the code itself is independent of the license used, then the resources needed to develop close or free software are the same. Any difference in resources needed would imply an inherent difference in the code because of the license. In other words, identical pieces of software requiere identical resources to be coded.
Note that I didn’t mention monetary cost, there’s a reason for this: Many of the resources the free software community has its disposal come from contributions made from members of the community with no monetary cost for project maintainers or the company behind a specific piece of free software.
In other words, identical pieces of software require identical recourses to be developed, but while all of those resources come with a monetary cost for proprietary software, not all of them do with free software. Therefore, we’ve proved half of what we wanted: Free software costs the same or less money to develop.
Why only half? The preceding argument mostly applies to custom software (i.e. software designed for the specific needs of one client), which is what most software developers do (so it’s actually more than half). But we still need to prove that governments can replace their current commercial proprietary software with existing free software.
There’re two options: The first would be to make the case that even if a free software alternative didn’t exist, the money of the government would be better spent on developing it than on licenses. This argument is pretty strong. Remember governments have a social commitment. While developing it may be more expensive in the short term than buying licenses, it may end up being cheaper long term. Moreover, developing a free alternative benefits every member of society with similar needs.
The second option is empirical evidence: Many governments are replacing, have replaced, or will replace many (or all) commercial proprietary software with free software precisely because it’s cheaper short and long term (no licensing costs, always up to date, security, etc). Among them: Malaysia has switched 97% of all its systems to free software, Iceland plans to switch entirely too, among many other examples including the US government itself (Wikipedia has a nice incomplete entry of switchers). If there’s some proprietary commercial software governments need without a perfectly viable free software alternative, it’s a rather obscure and small piece of the pie.
Provides more software to all its citizens to benefit of all
This part obviously follows from the fact that if new software is made (custom software) and is free software then the government is able to provide all of its citizens with new software thanks to the second freedom.
The government technical needs also benefit
Another one that follows trivially from the nature of free software, particularly, from the first and third freedoms. Since people is able to improve and modify free software the government can benefit from the contributions by other developers.
From this rather simple argument it follows that the use of proprietary software by governments is unethical. In other words, we’ve proven that the choice between (i) governments can use proprietary software to fulfill its technical needs for some amount of money and (ii) governments can use free software to fulfill its technical needs for the same (or less) amount of money, while providing its citizens (and everyone) with more software to the benefit of all and to the benefit of its technical needs is a factual choice. For the most part governments have picked (i) and those governments are behaving unethically (in that particular regard), while those that are transitioning to free software are being ethical.