Jon Masters is a UK-based embedded Linux developer, writer, and consultant. He has been actively involved with the Linux community since starting his first degree at age 13. Jon is currently a member of more than 50 Linux User Groups around the world.
It's already March as I write this. I'm quite amazed at how time flies if you're not carefully keeping an eye on it. Over the last month, I've been travelling around as usual. In fact, I just got back from the FOSDEM (Free and Open Source Developers' Europen Meeting) conference, which was held in Brussels at the end of February.
FOSDEM is one of those really cool events that you want to go to for so many more reasons than just the high quality and interesting talks. It's a great social experience for geeks the whole world over. (Check out the FOSDEM report on the preceding page.) I met a good friend of mine from Portland, Oregon at the FOSDEM one year, and we've hung out ever since. If you haven't visited the FOSDEM conference yet, check out http://www.fosdem.org/. There are some excellent videos of the main presentations available in the Open Source ogg Theora format.
Aside from the conference circuit, I've been playing with the excellent Crossover Office software from Codeweavers. It's a commercial version of Wine (Wine Is Not an Emulator) that allows me to run certain Microsoft Windows software available on Linux. This allows me to run iTunes and similar software if I so desire. I'm quite happy with Crossover (cxoffice) in general, but I was annoyed to discover an interesting bug/feature that Wine apparently emulates perfectly from Microsoft. It turns out that if you have the right dll libraries in your home directory when you try to load a program, wine will use those by default in place of any that ship with cxoffice. It'll fail silently and bug out into a debugger if you run cxoffice on the command line. I filed a bug roughly along the lines of "please tell users with a nice graphical dialog box when the software fails in this fashion." Silent failure is just nasty, and it's one of the major issues left with the Linux desktop experience that still needs major work.
This month's LUG mailing list activities were pretty average. Discussions of GPL version 3 seem to have temporarily dried up, while a lot of general questions have cropped up. Here's a random sample of the activity taking place at a LUG near you.
Support for the Broadcom 54G wireless chipsets is moving forward in leaps and bounds. As I write this, I have a laptop happily running the bcm43xx driver and am constantly seeing posts to the development mailing list with news of new devices being supported. In fact, one poster served to remind me of how great it is to work with the Linux community. 10 hours ago, Matthew Garret posted a note to say that his Intel Mac had a newer version of the Broadcom chipset sitting on a PCI Express bus. Then, 4 hours ago, he had the driver able to see his chipset. 3 hours ago, it was happily pinging away. 7 hours from nothing to working networking on a new platform isn't too bad.
Looks like someone in Brussels hadn't seen the horrible film Antitrust, as there was some discussion of this film recently. The film was loosely inspired by the US DOJ action against Microsoft but was essentially a conspiracy film that barely understood the technology it was talking about (though it had one or two amusing little jokes in it). It was a bad film when it came out and still is now. I advise against looking it up unless your ideal of writing code is designing your first web page.
Someone brought up religion. This isn't usually a good idea with culturally diverse groups, especially in the Linux community. A rather long and very off topic thread followed. in which different views were pushed around. The group also spent quite some time debating the topic of IBM certifying Ubuntu for their DB2 database technology. This is pretty sweet really, that a community focused distribution can get the level of corporate backing that Ubuntu has is a testament to the hard work that goes on in that project as a whole. For those interested, it might be worth knowing that Canonical (the makers of Ubuntu) is due to file its first round of corporate accounts over the coming weeks.
Meanwhile, 5,000 miles away, my local LUG (the Silicon Corridor LUG) in Reading, UK have been debating long distance WiFi and the physical limits of distances that can be bridged using current technologies. (We're still pretty much pre-WiMAX-being-everywhere these days.) Most amusing was the discussion of legalities and the permissible transmitting power for WiFi. Amusing because, last I heard, there were only a couple of people in the whole of the UK who actually went around enforcing power/channel limits, and even then, only when a complaint was actually filed against an installation. I guess it's the theoretical discussions that I find so much fun. Some of the folks on the list reported achieving many miles of point-to-point links with regular WiFi technology and Pringles cans.
It's almost ten years since I began using Linux. It scares me every time I think about that. Where did all that time go? I've lately found myself contemplating what has changed in the space of a decade of using Linux from the point of view of a typical Linux User. Fortunately, I can happily report that a lot of very positive things have happened over the past 10 years. Linux is now a very modern and user friendly operating system with some truly fantastic graphical desktop environments and some great software (check out the latest GNOME 2.14!) and fantastic community support. We've come a long way, but there's more to do. Who knows where Linux will be in ten years from now?
Ten years ago, I installed Slackware (http://www.slackware.org/) on an old 386 PC that my father gave me because Microsoft's Windows 95 wouldn't run on the machine. It was too old. To think that we'd once spent more than US$ 6,000 on another 386 computer back in the 1980s and now Microsoft was telling us that these machines were too obsolete to run their precious operating system. So what if the hardware was a little old; it had cost a lot of money too. Actually, the problem was somewhat more subtle than this. It came from the lack of good support for hardware in Microsoft Windows.
Now, I'm the first to admit that Linux doesn't always support every piece of hardware available on the market. Sometimes support is notably lacking for some of the features Microsoft Windows users take for granted, for example, the latest wireless chipsets and other bells and whistles (though this happens much less often these days), but back in 1996, I was faced with a Microsoft Windows system that could not use the graphics card within my PC. It didn't fail cleanly either. The software installed just fine using a graphical interface, but then the display started to buzz quite unpleasantly the moment Windows tried to boot for real. I wasn't a hardware hacker in those days. In hindsight, it's possible I could have fixed this problem somehow, but at the time, there certainly didn't seem to be anything I could do.
Contrast this experience with using Slackware. The installation process was certainly far more complex for users of Slackware. It was necessary to know about boot disks, root disks, and all that jazz. It was also necessary to download hundreds of floppy disks over a slow Internet connection and deal with occasional dud disks that would fail silently. The installation was truly painful and unpleasant in comparison with any of the latest distributions available today (even compared with modern Slackware itself - I hope!). But it worked.
I was able to take an otherwise defunct PC and breathe new life into it by using Linux. In fact, the compuer I installed Slackware on outlived Windows 95 and was still in service (albeit with a 6GB disk) until I built a new machine (with my very first CDROM drive!) several years later.
I'm reminded of the old joke in which Microsoft Windows is described as a fancy airplane with all of the latest features, except that it can't actually fly. Linux is described as a plane that you assemble yourself from parts, but it works every time and gets you there safely. There are various other Operating Systems in between. It's fortunate that Linux is a lot easier to use these days, though hardware support is certainly an area where we have our fair share of issues still to work out. A former colleague of mine rightfully points out that his Ubuntu computer is unable to use his wireless USB dongle, and that Linux still has a way to go before the average home user is going to feel comfortable using it.
Ten years on and things have seemingly come full circle. I'm forced to say that we need to avoid getting to the point where people are put off using Linux because all of their hardware won't work again. This used to happen, and we got over it. The community implemented excellent USB support and many other device capabilities in modern Linux. But we're constantly threatened by people who want to make it difficult to use hardware we've paid for.
A recent discussion on the BLU (Boston LUG) ultimately lead me to point this out to a poster extolling the great virtues of the binary Nvidia driver. Yes, it is great. It works fantastically. No, I won't use it because it's not Open Source. It's just a shame that we're getting into a similar situation with ATI as well. At least it's not all doom and gloom (check out the Open Graphics project http://www.opengraphics.org/), but we're getting to the point where the only vendor with good Open Source drivers on Linux is Intel.
I don't want the next person who thinks about installing Linux to be put off because their graphics card doesn't work, just like Windows 95 didn't work on my old 386. When it works, 3D graphics on Linux is insanely cool. Watch for the compositing work being done to give X fancy GL effects (just like Apple Mac OSX and Windows Vista can do), which is making its way into the next releases of your favorite Linux distribution (Figure 3). This is insanely cool, but it won't remain so for too long unless we can provide high quality community support for the next generation of graphics cards. Next time you buy a graphics card, consider mentioning your choice was motivated by the availability of Open Source drivers.