The Ethics of Open Source

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.

Definitions

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?