"Ethical software" is (currently) a sad joke
Following the re-induction of an old guy into an old guy foundation, people who like ethical software are talking again. There has been an ethical software movement for a while now, which aims to make collaborative software development environments free from discrimination and harassment; and to avoid some possibilities for abuse of free software, such as financial exploitation of free software programmers.
But there is also a vulgar1 ethical software movement, which is contempt on slandering anything which free software programmers have done, and promotes a nonsensical outlook on how software development should continue. This movement, as the title suggests, is a sad joke. Fortunately, it is likely that this nonsense would not permit the production of anything, and the movement will disappear. To make any progress in ethical software would require contradicting the premise set by vulgar ethical software. But if not, we must make clear why one should steer clear of vulgar ethical software.
I should warn the reader of the tone I will occasionally use in this article: there are some statements I have read, and will have to deal with in this article, which are no more than blunt insults; and I am not going to make a conscious attempt to respond any more politely. But that will be the exception to the rule; I want to convince you of my case with what I believe are reasonable arguments, and not by calling my opposition names, but I have no faith that I will get a constructive response from the people perpetuating this crap, so I am not going to bother with them.
Piracy or free software?
According to one very clever person (don't click the link if you want to enjoy your day), piracy has been a much more successful strategy for radicals than free software, because free software is usually associated with groups that tend to be quite awful, and apparently some examples demonstrate that it is impossible to adopt free software in any meaningful way, and that it is a useless aim on its own.
First, piracy cannot stand alone as an "ideology", unlike the old free software. It is totally dependent on the existence of intellectual property. (We may even go as far as to say that free software is the rejection of intellectual property.) But otherwise, it is like, say, anti-fascism, in that anti-fascism without a fascism to defeat is meaningless. In slightly more concrete terms, a utopia cannot commit piracy, nor can it solely be anti-fascist, as it necessarily cannot have the context for those to exist.
Basing a software praxis on piracy is similar to dumpster-diving for resources, as neither is a sustainable strategy on its own. They work now, and they surely provide for the consumer, but they do exactly nothing for the producer. Piracy does not produce programs, sadly, and thus we actually have to do something which allows for production.
The examples provided are also intentionally unfair. The first example is "refurbished pcs […] that you installed some linux distro [… ending] up with a cracked version of windows xp installed". Who would have thought that convincing someone to use another operating system, thus breaking compatibility with all software in the general case, would be difficult? Attempting to find source materials for only the other example of a calculator program is also misleading; it is a much more important task when public infrastructure uses computerised systems, and thus some software. (On the other hand, the inability to write any other programs would follow from the inability to write programs which do simple mathematics, and so a world with no calculator programs would be quite awful.)
Proprietary software grows on trees apparently
Claiming that piracy has done more than free software has also ignores that commercial software developers make use of free (typically permissive) software and libraries. As the Telekommunist Manifesto states "as long as the four conditions [for free software] are met, commercial redistribution of free software is non-proprietary." (p. 37) It is very common for commercial software to use free and open source software, and then give the authors nothing more than the obligatory five-line credit, stashed in some hidden-away legal notice document.
This form of exploitation, where a business is based on re-using public software and paying back nothing, is precisely why groups like Telekommunisten were formed, whom wrote about the short-comings of the old free software, which in turn surely led to this little discussion we are having on vulgar ethical software now. Would free software have achieved nothing of interest, then there would not be a need for a telekommunism or another paradigm shift, and no need for an ethical software at all. But we are in a world where there is a telekommunism and an ethical software movement, and so on, so how free software not have been of any use?
Where does ethical software grow?
As one very old and dead but very wise guy said, "I base my affair on myself." What do I gain from the old free software? I can speak for myself well, but perhaps not for anyone else. However, I am confident that if the claims made by vulgar ethical software were true, we would all be in a much worse situation.
Myself, I am one of those wretched creatures people call programmers, and I have made use of free software in creating ethical and liberatory software, such as the Netfarm suite. This suite would have been quickly discarded if we did not have a fast, free Common Lisp implementation such as SBCL, as it would be difficult to write such a high-level and abstract system with good performance otherwise. There are also countless libraries I used to save myself from having to re-implement everything I needed, and various programming tools I used to write code relatively quickly and efficiently.
As Nosleba Dlorah said, perhaps after predicting the sorts of arguments this vulgarity would put forth in A Parastatal Problem, these facilities are necessary for producing ethical software, and for as long as people need to specialise in programming and call themselves programmers, it will be the case that these facilities only indirectly benefit you. Unless you are going to tell every programmer that they should bootstrap your "ethical" system starting from flipping bits on a hard drive to boot from, then it would be very wise to not claim that free software has done nothing for the ethical software movement.
According to another very clever person2, free software has only achieved "a small handful of nerds being able to see the source code" and nothing else. As previously discussed, making those nerds' lives easier makes yours easier too, as they have to do less extraneous work, and can focus on writing the software you want. I will also add that the authors of such software may or may not be sponsored by some other party. In the case that they are not, and they are doing volunteer work, perhaps even by having been rejected from, say, a lousy support group which partook in the forms of discrimination which you are loudly opposing, then what the actual fuck are you doing by claiming their work is worthless? Are these not the people you are supposed to be supporting? And if their work is worthless, then I would suggest that you immediately destroy your computer and vow to never use anything that is a product of a computerised system, so that you may have half of a reason to claim that it is worthless.
Non-free ethical software?
Finally, I will ask, can non-free ethical software exist? It may sound like, with all the crap the old free software has given us, an ethical software movement must reject free software. Perhaps this reaction is why we have a vulgar ethical software to begin with.
Non-free software is, however, necessarily unethical, because it provides no accountability process, and it makes free association very difficult. The former is relatively simple to explain: if I am provided some ethical non-free software, which I am supposed to provide sensitive information to, how can I verify that it will not do anything with my information which I would not like? Currently, as programs are written with techniques that make it difficult for a non-specialised person to analyse,3 I may have to consult a trusted friend to audit the program, but the analyser's task is made much, much more difficult if they have to use a program such as a disassembler or debugger to analyse the behaviour of the program, rather than being able to draw conclusions from higher-level code.
The latter needs a real-world example to properly explain, because it is based on the power dynamics at play with non-free software. Suppose I need a feature which would make some non-free software more ethical and appropriate, and I suggest it to the maintainers of the software, only to get my suggestion discarded by the maintainers. What can I possibly do, other than start over and produce a completely new clone of the software with that feature I need? It might not sound likely for this kind of situation to occur, but unfortunately it has many times, and I am aware of enough examples to enable me to argue this argument. Such a situation has happened countless times with the maintainers of the Mastodon micro-blogging software, where such a feature is requested, but the maintainers reject it because they cannot sympathise with the experiences of the user(s) requesting it.
"But wait!" I hear, "Mastodon is a free software project - how is this an issue with non-free software and the power dynamics there?" The response many communities have taken instead, which I admit is not ideal, but is much better than the alternative, is to use the provided source code and add and maintain the feature themselves. I say it is not ideal, as it requires other people whom are experienced in programming to do maintenance work; but non-free software makes improving the software more difficult for anyone. How can providing a much, much more difficult solution to a group which wants to improve software be considered "ethical"?
Following the contrapositive of my initial statement, ethical software must be free software, else it has failed to be ethical. As we already wrote in Software and Anarchy, the notions of free software and fair organisation which involves software are inseparable (which is discussed on p. 33). Without free software, the imbalance of information on software necessarily creates unfair power dynamics. A free software which is maintained by discriminatory people has even failed to be free. A prioritisation of "ethics" over "free software" or vice versa rests on some poor attempt to separate the two, and is thus ensured to end up in the failure of both.
The old free software has indeed caused many vile incidents, and it is due for replacement. But I fear more for what could happen with a vulgar approximation of the new ethical software movement. This vulgar movement manifests itself in understating, and even mocking, the work done by many individuals, whom are the same people getting fucked over by capitalism, that we are supposed to be supporting; and in a knee-jerk rejection of the notion that our goals may even coincide partly with those of an abstract free software. Despite the origins of ethical software, and despite the potential the old free software offered us, a particularly loud and illusioned group continues to ramble on about an "ethical" software which, perhaps like the old free software, would become a sad joke of itself quickly.
I mean "vulgar" in the same sense in which https://c4ss.org/content/53016 describes a "vulgar" anarchism. However, the vulgarity of this ethical software is different to the vulgarity of that anarchism. Or perhaps it is not; we both describe systems where "ethics" are derived from unaccountable and forced structures. In any case, the C4SS article may provide some ideas which can be related to the subjects of this article, and I would highly recommend reading it as well.
Of course, this very clever person is almost the subject of A Parastatal Problem, by having made up a separation of interests between programmers and users. And again, this person has nothing better to do than say free software "looks like shit and runs like ass", among other lovely things which will surely help with remedying the situation.
It is surprisingly common for these people to use unnecessarily low-level languages, perhaps C or Rust, with the excuse that any code they could possibly write would not be understandable anyway. Do they want programming to always be a specialised field, so that they can continue their abuse of the current situation?