In my last post, I briefly mentioned that there is an ethical discussion in the software community about the relationship between ethics and free software. The crux of this ethical discussion is the relationship between software and civil liberties. Much of this discussion centres around the use of the word ‘free’; or, alternatively, the phrase ‘open source’.
I would like, briefly, to delve into this ethical nightmare, to try to illuminate the various difficulties people have with the creation and use of software, both free, open source and proprietary.
Let’s begin with the definition of some terms. Some are simple. Proprietary Software, for instance, is fairly obvious. Proprietary software is any software which is provided under a license, where the majority of the rights are reserved to the software owner and the remainder are licensed to the user and can be revoked at the desire of the software owner.
Open source Software is also easily defined. Open source software is any software for which the program source is provided to the public. There are a few important corollaries to note, however. Firstly, any software that provides its complete source code is by definition available free of charge to a sufficiently intelligent individual with the correct tools. This is because the program can always be built from source, and that source is available for free. Secondly, once a program has been open-sourced it (or at least the versions for which the source was available) is functionally open source forever. It is likely that at least one person has a mirrored copy of the source available which can always be rehosted.
Free software is less clear. The confusion around the term is summarised in the phrase “free as in freedom, not free as in beer”. Relating to the definition of open source software, all open source software is by definition “free as in beer”. This is not a point of contention in the open source community.
The point of contention falls around the idea of “free as in freedom”. This is a fundamentally different notion to the idea of “free as in beer”. By way of example, consider Microsoft’s Visual Studio IDE. If you want a copy that is free of charge, you can get one. Visual Studio Express can be downloaded for free, which makes it “free as in beer”. However, it is absolutely not “free as in freedom”. Try installing a copy and digging through the insanely long license agreement to get an idea of exactly how many rights you don’t have when using Visual Studio.
The Crux of the Issue
It is this distinction that is the source of the ethical issues surrounding open source software. The first argument is whether or not there is an ethical problem with proprietary software. The second is whether open source software addresses the ethical concerns with proprietary software (if any), or whether it is not enough to make the source code available.
Let’s start with the first issue (that’s usually a good plan). It is unambiguously clear that proprietary software provides some pretty alarming license agreements. I find it odd that software is one of the few products we can create that is not owned, merely rented. The fact that the approximately £50 I paid Microsoft for Windows 7 (there are many perks to being a student) only provides a license to Windows, one that Microsoft may take from me at Steve Ballmer’s slightest whim, does make me quite uncomfortable.
What is not as clear is whether or not this makes proprietary software unethical. It is rare that we are forced into these license agreements: we enter them willingly and with full knowledge (or at least, we are expected to). Certainly this is not as unethical as some of the other less-than-savoury practices of software companies, like the silent without-permission collection of personal data performed by many (or even most) mobile phone apps.
Let’s consider the second issue. If you consider the ethical issue with proprietary software to be the restriction of the rights of users, it is obvious that simply open sourcing software does not necessarily alleviate the difficulty. I can make the software open source under a license that requires anyone who uses the source code to adhere to the same license as the users who purchase the software from me.
That said, I’m inclined to say that software which has the source code made available is not as bad as proprietary software, so long as the license under which the code is made available allows me to make personal changes to it. In this case, at least, I can edit the code for my own personal use, which is a freedom that is not available to me with proprietary closed-source software.
Where Do I Stand?
So where do I stand on these thorny ethical issues? Personally, I have no particular problem with proprietary software. I’ve bought proprietary software in the past and I will inevitably do so in the future, and I do not feel as though I have been ‘worked over’ or otherwise abused by having done so.
With that said, I think that open source software projects provide a great deal of value, particularly for developers. I am doing my best to contribute to open source projects, and hope to contribute even more in the future. In some ways, I believe that developers have something of a responsibility to contribute their skills for free to others. Obviously, this is a personal position, but there are so many highly skilled developers in the world whose work is hidden behind license agreements and NDAs, and I think this is a crying shame.
I think the existence of a popular, widely-supported open source operating system (Linux, in case you hadn’t noticed) is excellent. I’ve worked with Linux before, and I expect I will do so again. I’m even considering switching one or both of my operating systems over to Linux full-time.
However, I find the faintly overwhelming nature of the ‘free software’ community to be excessive. I do not believe that Microsoft, Apple and Google are of the devil (although Oracle might be). I do not believe that intentionally purchasing and using Windows is tantamount to the voluntary waiving of some kind of intrinsic right. For this reason, I find the GPL’s infectious nature to be very nearly as rude as the proprietary code being ‘loaned’ to me. I’m not big on forcing my ethics on others, and fundamentally I believe that the GPL is overbearing in this regard. The LGPL is less problematic for me: at least I can link to that code without having to kowtow to someone else’s definition of right and wrong.
But screw it: it’s only software, right?