While in college I became a huge fan of the Linux operating system due to the unrestricted freedom it granted me when using it in place of the Windows software I had grown up with. If I wanted to try my hand at a new programming language or play with a new technology, Linux let me me do this with professional grade tools for no cost. This led to an initial period of Linux zealotry, as I tried to convince the masses of my discovery and how it was infinitely superior to anything I had ever used. As I grew older though, my perceptions matured and I began to see Linux through the perspectives of several other groups involved in its creation.
The first perspective I noticed was the “Free as in Cost Group”. This group endorses Linux because it is a way of circumventing the Microsoft tax, which in many cases would put computing out of their reach financially. If I’m setting up a computer lab or cafe in the third world trying to connect locals to the internet for the first time, in an environment where resources are scarce - my options are to pirate copies of Windows (probably an older version too, if I’m having to cobble together whatever machines I can find and performance is going to be an issue) or to run a free operating system. Linux allows me top notch security, a basic office setup, compilers for anything imaginable and web browsers to get onto the internet, and best of all it costs nothing. I will never have to pay anyone a dime to get my operation running, so this makes it incredibly appealing to me.
The perspective group I belonged to I’ll call the “Superior Product Group”. I switched to Linux because it gave me freedom of choice and was infinitely more stable and secure than the software it replaced. The title of this post is a quote from one of my favorite bands - NOFX, this perspective of Linux favors “Freedom like a shopping cart” - I can do whatever I want with my machine and the software it contains. The only limiting factors are how fast my machine will run and how deep my knowledge is of the tasks I’d like my computer to do. Everything I could ever want in a computing platform is available to me, and if it’s not - the documentation for me to write my own fixes is available.
Finally there is the group I’ll call the “Patrick Henry Group” who is very vocal about his famous quote “Give me liberty, or give me death.” This camp is led by Richard Stallman, head of the Free Software Foundation of FSF, who launched the GNU project back in the 80s and is responsible for emacs and the whole GNU toolchain. Stallman and the FSF’s main prerogative is the abolition of proprietary software, they believe that all software should be free of cost, with the accompanying source code open as well, so that whomever receives it is free to change it and redistribute it - provided they do so under the terms that they received the software originally. The license to do this is called the GNU Public License, or GPL for short.
This last group is one lately I’ve found myself at odds with due to their actions to try and bring my favorite distribution of Linux (Ubuntu) completely under their politics. To start with, the biggest issue I have with widespread acceptance of GPL as the dominant way software is published on Earth, is that it will impoverish me. Before I went to engineering school and learned about calculus, physics and computer science, I worked bad minimum wage jobs ranging from getting yelled at all day by angry customers in a video store to my three year tenure scrubbing toilets as a janitor. As a computer programmer by profession, I pay my bills, keep myself fed and a roof over my head due to my ability to write software. The only thing keeping me from living off a couch in my parents’ basement (assuming they’d let me) or flipping burgers to make ends meet is writing proprietary software for customers willing to pay for it. If the profession of Computer Programmer becomes obsolete due to all software being freely created by volunteers, I will be forced to return to jobs similar to the ones I previously held - because I certainly will not have the resources to retrain into another discipline I can make a living at. One common counterclaim to this argument is that a system of bounties will allow programmers to stay employed, where people with deep pockets will offer cash for programmers to work on problems they want solved. I find this ridiculous due to the current realities of this on the internet, bounties are few and far between - and the time investment involved in completing them far outweighs any financial gain. No company is ever going to support this model, because whatever competitive advantage via software they hire people to write them for that company’s domain specific need will immediately fall into the hands of their competitors for free. There is no sustainability in this model, and it is nothing better than pie-in-the-sky, idealistic thinking.
Getting back to the issue I began to address, my Linux distribution of choice - Ubuntu, one which I have been using since its initial 4.10 release, is under increasing pressure by the Patrick Henry group. This group wants to remove from the distribution any code that is not 100% free by their standards, which includes but is not limited to: device drivers distributed in binary form, and media codecs. The alternative to these “not entirely, but mostly free” software packages are ones penned by the free software community that are not as good in terms of performance, features or stability. In my mind this is completely unacceptable.
I happen to have an NVidia graphics card in my Linux workstation (albeit an old, weak 440MX) that I use in conjunction with the official NVidia binary drivers to get acceptable 3d performance in visualizing 3d data and running dual displays. The FSF replacement for which is not complete, and not up to par with features and performance. Buying a new video card right now is not an option, because money is tight - I picked Linux for freedom of choice, and now a 3rd party is telling me how I can use my computer in accordance with their politically imposed restrictions. In my mind, this isn’t much different than Microsoft, except that I’m getting my prison shackles for free instead of paying for them. Similar issues are numerous right now with wireless card drivers, although thankfully this is not a problem for me as my connection is hardwired. The solution in this case is to not use wireless connectivity? Again, completely unacceptable.
The other main fire-fight with this group occurs over the usage of ‘closed’ media codecs. Due to licensing, some media formats are not supported by default in Ubuntu and only “semi-free” packages are capable of playing files encoded with them. If I’m a user migrating from Windows to Linux as I did back in 2003, and I suddenly find out that the hundreds of dollars of music in ITunes I’ve purchased are no longer playable on my machine because of somebody else’s political views regarding ideal codecs, the migration ends before it begins. I’m not going to give up my music and the money I invested in it because its encoding is not politically kosher.
In closing, I am fine with come of these semi-free, non-FSF packages not being installed by default, with their free equivalents being installed in their place to promote the ideals of free software. I am only ok with this, because I still have the option right after a clean install to get rid of all of them and install packages that provide better performance and features as the first order of business. One of the common selling points of Linux to try and convert a Microsoft user is that “it just works”. No viruses, no spyware, or any of the other common problems associated with running Windows. If you check the Launchpad site for Ubuntu, the #1 bug is that Microsoft has a majority market share. In order to undo this, a large majority of the people we need to convert are regular everyday users who just need to get work done. They don’t program, and could care less that the source is open or GPL’d. If they test drive Ubuntu, and nothing works right out of the gate because of politics - the lifespan of Linux on that computer is only as long as the time until reboot, because there’s no way in hell it’s getting moved to the hard drive for even a dual-boot, let alone a Windows replacement. The point of this article is not that I hate free and open software, or that I’m waving a flag for proprietary - it’s that I’ve realized what’s most important to me at the end of the day is the freedom to choose. I’m fairly sure that I’m not alone either.