This entry is my opinion and may not represent the views of my employer, Canonical.
Recently there has been a lot of discussion bubbling up regarding the possibility that Ubuntu will ship proprietary 3D drivers by default for some video cards. My aim here is not to discuss the specifics of that decision, which is still being fleshed out and ratified, but to instead define my views on the bigger picture behind the discussion – features vs. freedom.
I will warn you now people, my views and opinions on this are not exactly simple. While discussing this view with many friends and colleagues, I have been informed in words of single syllables that my position is complex and multi-faceted. I have had largely the same view on this subject since I got into free software, but I have been working to better define it, and here I want to document it. So, hang in there with me. I may give you a cracker at the end if you are still paying attention…
For some years now I have been expecting a show-down between freedom and features. That is, our community would need to make an important decision between freedom and a closed source technology that is deemed important. In this showdown each of us draw a line in the sand, but our lines vary hugely. In the past, the issue was largely moot – few closed source technologies were deemed important by the wider free software community. Today though we have a bling-tastic desktop just over the horizon, but for many of us the transparent-rounded-wobbly-shadowed masterpiece (!) is inaccessible without some closed-source driver wizardry being poured into your computer. The debate here is not really the specifics of closed-source 3D graphics drivers, but whether we are willing to compromise our freedom for closed source drivers that will ultimately get more people using Linux. Are we?
Compromise is an interesting word, and everyone’s definition of it and the freedom they defend with it differs vastly. It seems that for many people, their definition of freedom is closely interwoven with their ability or willingness to compromise on certain features. Although we have many holier-than-thou bloggers who demand freedom and “no compromise” as cornerstones of their philosophy, far too many of these people don’t themselves practise what they preach. Many of these people place freedom as the single most important aspect of Linux and free software, but crank up the wireless firmware, binary blobs in their kernel, send pithy emails of complaint about incursions to their freedom from their Gmail account and go to work every day in a Microsoft-shop. When queried about such abundant compromises in their own philosophy, the response is often that “you totally need a wireless network card to get stuff done”, “web applications are different”, “firmware is different” or “I have no control over my choice of career”. Each of these indiscretions are compromises, and many of the people who claim them do have control and the ability to change them, but the changes are simply too inconvenient. But hey, the “no compromise” lifestyle is not typically one befitted with ease and luxury – the ethos is to pucker up and suck it up in the name of ethics and free software.
My opinion on this is simple. I believe that people should simply practise what they preach. If your opinion is “no compromise”, then there should be no compromise. You don’t get to choose what is more ethically acceptable here, this is the point of “no compromise”. From the outset I have always stated that I believe in free software, but I do acknowledge that I sometimes use non-free software – as many of you know, my studio is currently non-free until we all feel the big Jokosher love. I have explicitly not taken a “no compromise” position because I know I could not maintain a “no compromise” lifestyle. As I made clear in a previous entry, I think sensationalism is an enemy in the free software world, but unfortunately much of the discussion about features vs. freedom seems to boil down to very vocal outbursts by the holier-than-thou brigade who often step beyond sage fact and fall into headlines and rhetoric to grab Planet
Those who shout the loudest are not always the best barometer of opinion.
Will the features work?
Today we live in a competitive industry. Although dominated by Microsoft, all vendors, including our friends in Seattle, are working hard to create features and innovations to keep them in the game. As the world learns to talk to each other over the Internet, computers become more centrally placed in our lives, and we spend more time caring about computers than we used to. They are no longer the ugly beige boxes shoved under a desk in a cold office, they are must-have items that help us run our lives, define our style and allow us to share and communicate with each other.
As computers have become so central to us, the vendors have ramped up the bling to provide a more aesthetically pleasing experience. These improvements not only make computers more attractive to use, but more usable too. Irrespective of the arguments behind freedom, having a sane bling-enabled desktop does create a better experience for the user. Microsoft and Apple have invested in this, and as such having a bling-enabled desktop is part and parcel of the competitive market. This is what happens when dominant market players define direction – to stay in the game, you need to compete on the same playing field.
Bling is important, not specifically for the features it gives us, but for the competitive advantage it gives us. If we can’t compete, we will lose. Simple. Now, some of you may be happy for Linux to always remain a niche Operating System that only a small subset of people of use, but I see things differently. I want us to win, and I get up every single day with the intention of helping us to win. Many of us talk about World Domination, but achieving World Domination is something that can only happen if we too keep ourselves in the game. When we step too far away from the competitive industry, we risk becoming an historical reflection in the computing timeline, not entirely dissimilar from BeOS or OS/2. Its tempting to get on our collective high-horses and snub the rest of the industry that they don’t follow our ethos and perspective, but while admirable in a puritanical sense, it is destructive in a competitive “lets kick some arse” sense.
So here we face the challenge – we have a clear conflict of interest between moving forward and being relevant and a conflict with the freedoms that underpin our whole community. I don’t see this conflict any easier than anyone else, and I too hold the values of software freedom close to my heart. But while it is tempting to pontificate, I would rather spend my energy trying to help us win. There are basically two options that I see here. We can either sacrifice our freedom a little bit to be competitive, or stick to our guns and stick with freedom, but potentially sacrifice the ability to compete. One way or another, something wins and something loses. Lets look at the possible outcomes, all pushed through my own notch filter of how I suspect it would turn out:
- We allow 3D proprietary drivers and sacrifice part of our freedom – by including the driver support for some cards, we will allow Linux to compete with Vista and Mac OS X, and stay relevant in the game. As we remain competitive, more people get to know about Linux and more people get to taste the freedom that is secured in 99% of most Linux distributions. As such, by remaining competitive, we get the ability to push out the message to more users and we get a bigger net win of people using free software. Essentially, our sacrifice of freedom in one aspect of the system (3D drivers) would result in a much bigger net win of users enjoying freedom in other aspects of the system (the rest of the distribution). This would result in more users, and importantly more contributors to the free software community, helping us to create more free software.
- We deny inclusion of the 3D proprietary drivers by default for reasons of freedom – if this happens we would be secure in that freedom is preserved in the 3D aspect of the distribution, but we would lose our ability to compete on the 3D level, which while not exclusively bling-related, would impede our competitive ability. This would give our competitors the ability to steam ahead of us, leaving our comparatively boring and flat looking OS in the dust. As our competitors grow they will increase their assault on other parts where we do win, and this would put more pressure on Linux distributors. This increased pressure could involve layoffs and result in less time being invested in distributions and less time being invested in upstream development. As such, our current standard of living would begin to drop and less time and money would be invested in Linux.
Now, of course, I am not suggesting the world is going to come crashing down if we don’t include the bling, but the world will come crashing down if we don’t keep Linux competitive. Sure, on the server we have things mostly sewn up, but on the desktop it is an entirely different game and a different set of rules.
What I believe is critically important is that we never stop fighting for Open Source 3D graphics drivers. A comprimise in freedom in part of the wider Linux distribution needs to be backed up with a confidence that the freedom will continue to be the priority as market share grows. The key difference here is our approach to getting this freedom – it will only happen with market pressure. The fight for free drivers for reasons of freedom has not proved successful, and the choice to only buy Intel will have some impact, but not a huge impact due to lower market share. We need to become a large and relavent player, a player that can mandate decisions at a market level that will truly affect the market. Sure, there are plenty of challenges to this approach – when we get a large market share, would Linux distributions really want to rock the boat and demand Open Source drivers? Well, this is the proof of the pudding. I expect companies such as Canonical, Red Hat, Linspire and Novell to always place consistant market pressure on the hardware manufacturors to understand and migrate to the ethos of free software.
Although the decision about binary 3D drivers in Ubuntu is not yet concluded, the bigger picture encroaches many other areas. Of all, I would love to see our community get a better, more representated voice when it comes to issues of freedom. We all hold freedom close to our hearts, but sometimes the very loud voices of the few can blur the general opinion of the masses. We each have one voice in the choir.