Today is Software Freedom Day, and I thought it only fitting to write an article on a subject that has been bugging me for some time now. I was going to use this opportunity to cover off the talk that Richard Stallman (rms) held at Nottingham Hackspace on August 24. However, I’m going to save that one for another day.
So instead, I want to cover off my own opinion on the balance between Software Freedom and Usability.
According to the Free Software Foundation, software can be classified as “free” (as in freedom) if the software’s users have the following 4 freedoms:
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
taken from http://www.gnu.org/philosophy/free-sw.html
A side-note to acknowledge the zero-based nature of the freedoms. I liked that.
Now, I would like to go on record that I support these freedoms wholeheartedly. I would personally prefer to use Free Software (using initial caps to highlight the definition above) than a proprietary alternative, if a free version is available. This fits in line with my preference of Ubuntu as an operating system.
No, I will not be going into the GNU/Linux debate here. Nor will I be addressing the argument that Ubuntu is not Free Software.
Now, the ideology of Free Software is sound, but it really is an ideal-ology, and in my mind not entirely practical with the Free Software that is currently available to us. In his talk, rms effectively said that if you cannot find a Free Software alternative for what you are trying to achieve, you should not fall back to the proprietary alternative – i.e. the use of Free Software should be 100% use of Free Software. Again, something that I support, but we need to remain in the real world here.
I run a Free operating system, however I am aware of the fact that it runs non-Free Software. If I run the vrms (virtual Richard M Stallman) command in a terminal, I can see that I currently have the following packages installed (this is not the complete list):
- picasa – Image management application from Google
- w32codecs – win32 binary codecs
- flashplugin-installer – Adobe Flash Player plugin installer
- virtualbox-4.0 – Oracle VM VirtualBox
Now, think about this for a second. The w32codecs are for playing back Windows Media Audio and Video files. (I’ve just realised that the MP3 codec isn’t mentioned in vrms… hmm) But you need to take a pragmatic approach to this. Why do I have the WMA and MP3 codecs installed on my laptop? For exactly the same reason that I have the Adobe Flash player installed. Because there is content out there on the internet (and let’s face it, most of what we do nowadays is on the internet) that uses those proprietary standards. These are closed standards folks, even if there was a suitable free alternative for playing these formats (don’t even mention Gnash, it’s not a full-featured replacement for Flash), the standards behind the formats in non-Free and, according to rms, you should not use them.
The question of usability
On an early episode of the Ubuntu UK Podcast (UUPC), a listener asked the (approximate) question, “Why do you release your podcast in MP3 format when it’s closed, patent-encumbered, and with Free alternatives available?” The answer that UUPC gave was utterly spot-on. How can you educate and inform people about something new when all they can hear is something old. In some circumstances, Ogg (or more correctly, Ogg Vorbis) is far-superior to MP3 in both terms of audio quality and file size. However, not all operating systems support Ogg Vorbis out of the box, and not many people know that Ogg Vorbis actually exists. The likes of Microsoft and Apple are doing an exceptionally good job in ensuring that it stays that way.
An alternative to the listener’s question could be, “Why do you use an operating system that is closed, patent-encumbered, and with Free alternatives available?”
The answer is rather straight-forward, it’s a case of usability. Windows and MacOS are the two prevalent operating systems in the world today. Therefore, there is more software for it, and more support available for it, and more hardware designed for it. MP3 and AAC are the two prevalent audio codec in the world today. Therefore, there is more software, support and hardware, etc.
In the same way that the Linux (no, I said I wasn’t going into that now!) is fighting a battle to become known, respected, and a key player in the desktop operating system space (Linux already has roughly 70% of the market share of web servers incidentally – source), so Free Software such as Ogg Vorbis and FLAC codecs, LibreOffice, and countless others, can actually compete fairly in the mainstream software space.
And, of course, I can’t leave out Flash. For as much as Flash is a fairly nasty piece of bloatware, it does what it does and it actually does it quite well. From what I can tell, it’s only iOS out of all of the popular operating systems that doesn’t/won’t support Flash. It has a place in the world, and will probably do so for some time. HTML5 is geared up to be the catalyst for the functional replacement for most of Flash’s capability (which is part of Apple’s argument for not including it in iOS)… but it doesn’t look like HTML5-compatible presentation formats, like H.264 for example, are capable of providing the level of user interactivity that Flash can. Comparison of HTML5 and Flash at Wikipedia.
The question of free choice
Despite being a Linux user and advocate, I’m also a strong believer in free choice. Therefore, I am not one of those people who will blindly say, “you must use Linux and this is why”… if a user is using Windows, and it serves their needs, and they use WMA and they’re happy with it, and they use Microsoft Office and they’re happy with it… I’ll probably suggest that they stay where they are. I see absolutely no point in trying to convert someone over to a system that they probably don’t actually need. That won’t stop me in explaining the reasons why I use the software that I do, and explaining (to those people who are running unlicensed copies of proprietary software because they can’t afford the licence) the benefits of switching to a Free Software alternative.
Free Software is good. Very few would argue with that.
The exclusive use of Free Software is good. However, we’re not there yet.
I believe that the exclusive use of Free Software depends on a number of factors including (but not limited to):
- Free choice
- The right tool for the job
Subjectivity cannot be ignored, because – as a Free Software community – we have absolutely no control over it. Who is to say whether a piece of software is right for a given user? The 4 Software Freedoms at the top of this article do not take the three factors that I’ve mentioned here into account.
The adoption of Free Software will happen, and it’ll happen in its own time. We can help it on its way, but the unconditional enforcement of an idealistic philosophy is going to win no favour whatsoever.