Livin' La Vida Linux
Last weekend I finished a home project I've been slowly working on for several months. I finally finished converting all the CDs in my collection from physical media to digital files. It turns out that every CD I ever bought, which now comes to somewhere around four hundred, fits within 160 gigabytes of storage. It's hard to buy a new disk that small these days, that's how much storage capacity has increased.
All the photos I've ever taken with my digital cameras fit within 20 gigabytes (I haven't had a digital camera for very long). I have a flatbed scanner but haven't yet spent the time to scan in all my old photos from paper. I'll probably start that task some idle weekend. I'm starting to look at my DvD movie collection with a view to doing the same. A couple of terabyte disks should cover that I think.
Livin' La Vida Linux
My world is slowly but surely moving online, and I'm not alone in that change. I have several hundred books which I obviously can't view digitally, but once a decent viewing device using digital paper comes along (and by decent I mean I can use it safely in the bath) that's only a matter of time.
As I was growing up, analog music storage formats changed from wax 78 revolutions per minute (rpm) records (yes my parents still had several of those) to plastic 33 1/3 “long playing” records (LPs), to 8 track tapes, to cassette tapes, and finally made the change to digital with CDs. Barring worldwide environmental or economic catastrophes, from now on it's going to be different variants of digital format, stored on ever more exotic and smaller devices. I realized recently that not only is my three year old son not going to know what a “record player” is, he isn't going to recognize a CD player either.
All these digital formats will be played and viewed on an amazing variety of devices, and Linux and other Free Software is the ideal platform to power them. None of these things will be a traditional “computer”, in the conventional desktop sense of the word. I'm in a privileged position here at Google and have been able to get my hands on a pre-release version of the “Android” phone. This phone is an amazing multi-function device, powered by Linux and Free Software (http://www.google.com/mobile/android). It's a music player, web browser, video viewer, and GPS positioning device, which also happens to make phone calls. Lest you think I've changed jobs and gone into advertising for Google, it reminds me a lot of my existing Nokia 770 Internet tablet device except that device can't make phone calls without a WiFi connection.
The Nokia 770 (and its replacement, the N800 Internet tablet) are also Linux powered (http://www.maemo.org), and use mostly Free Software/Open Source inside to act as an Internet and communications terminal. It is typical of the new Linux powered devices that are cropping up everywhere. Without even realizing it, I bought a standalone Garmin GPS device that is based on Linux (http://developer.garmin.com/linux). Looking into devices to stream my newly encoded music library to different rooms in my house I found the Sonos multi-room music system, which has great reviews and also happens to run Linux (http://www.sonos.com). When I finally migrate my DvD collection onto my home file server (running Samba on Linux, naturally) and want to set up a digital video recorder I'll probably end up with a high-definition version of the Linux powered Neuros OSD device (http://wiki.neurostechnology.com/index.php/Neuros_OSD).
If I haven't convinced you yet that Linux is going to take over the appliance world, I strongly suggest you look at Sony's web site at http://www.sony.com/linux. There you can find a page full of television models going back to 2003, all of which run on Linux (for those essential moments when you must have the source code to your television, naturally).
So why is “la Vida Linux” going to be the way of the 21st Century? To give an answer to that I'll explain a little more about my weekend project, and why I chose to do it the way I did.
When choosing how to encode my CDs, I decided not to use the most common format, MP3. The problem with MP3 is that it is a “lossy” format which loses sound fidelity, and in addition it can't be freely implemented in Free Software because it is restricted by software patents. I chose to use the FLAC (Free Lossless Audio Codec http://flac.sourceforge.net/) format instead.
I chose FLAC because it's a software patent free, lossless way of encoding music. Using FLAC guarantees that my music will be playable on any device (and most devices support FLAC). I can re-encode it in CD quality sound to make my own mix CDs containing whatever tracks I wish. It is Digital Restrictions Management (DRM) free, so there's no danger of a company turning off a remote server and finding myself in the unpleasant situation of all the music I bought being orphaned and unplayable (http://news.cnet.com/8301-10784_3-9926476-7.html?tag=mncol;txt).
In short, encoding my CDs in a free format gave me the freedom to do what I wanted with the music I had already bought. In the same way, using Free Software gives device manufacturers the freedom to create the devices they think will be the most popular, without any restrictions on what those devices should do or how they should look. There's no proprietary operating system owner who insists on their consumer “experience” being done a certain way. No commandments insisting that certain software components must be included in the device, which is to propagate control of proprietary media formats and web browsers, not to give device designers the flexibility they need.
Freedom matters, whether it be the file formats or the software itself. It is software freedom that allows all these devices to exist and to be sold so cheaply, and software freedom that causes Linux and other Free Software to create and expand into an ecosystem that simply wouldn't exist if proprietary software were all that was available. Designers have the freedom to modify the software and create what they wish from an amazing variety of Free Software source code. The only price for access to this incredible wealth of software is to obey the Free Software licenses and give their customers the same freedoms that they themselves have. All the companies and products I've mentioned here satisfy this requirement, so it's not an unreasonable thing to expect from your device vendor.
However, the Recording Industry Association of America (RIAA) would probably call me a criminal for encoding my CD library. Their claim is that I don't own the music I bought on CD, but have only “licensed” it, and thus have no rights to make a copy of the music on my own home file server. This seems a weak argument to me. I'm not selling my CDs, I'm keeping them safely in a box so I can recover from any deletions or disk failures (although reliably backing up the data comprising my digital life will be the subject for another column). Ironically, since I've started this project I've spent more money on CD's than I used to. I'm getting more use and playability from having all my music available online, without having to scramble to find a specific CD for a room.
In the same way, I expect Free Software devices will ultimately mean more money spent on software and its development (which for a programmer is very good news), as more devices with diverse functionality become available to everyone living “la Vida Linux”.
San Jose, California.
13th October 2008.