Attention Conan O’Brien

Linux inventor Linus Torvalds has a new skit for you:

“I think the OpenBSD crowd is a bunch of masturbating monkeys, in that they make such a big deal about concentrating on security to the point where they pretty much admit that nothing else matters to them. To me, security is important. But it’s no less important than everything else that is also important!” Torvalds concluded.

Torvalds’ comments drew various reactions from the OpenBSD developer community. In an e-mail exchange with ZDNet.co.uk, developer Ken Westerback wrote that an interest in security should lead to fixing all bugs.

“As far as I am concerned OpenBSD is the project with the most demonstrated interest in fixing all bugs found, no matter how trivial, and to systematically examine all source code for instances of bugs encountered,” wrote Westerback. “I believe that this is the bedrock principle of pursuing security–software that ‘just works’ rather than software with Rube Goldberg constructs of knobs and security theater scenery.”

Granted, some will say that Linus’ monkey is derivative of Conan’s bear, but it’s GPL’ed and that makes all the difference in the world.

Adobe software on Linux

This is the first in a series on things that don’t work right.

Fedora 7 is the latest release of Linux in the Red Hat line. It includes the 2.6.21 kernel, which has kernel-resident KVM virtual machine support, Firefox 2, and the latest versions of the Gnu toolchain and all that. It’s the first Linux that’s seemed to me like a credible alternative to Windows for general-purpose desktop use, but it’s got some problems. My first shot at installation was on an Asrock ConRoe1333-DVI/H R2.0 motherboard, which uses an Intel chipset and has on-board video with DVI, in the form of the Intel Graphics Media Accelerator 950. Intel is alleged to be super-supportive of open source, so I expected this configuration to work even though it breaks the one-year rule (never install Linux on hardware less than one year old.) Installation was smooth, but when the system booted I got a black screen.

So no problem, I put Windows on that machine and moved on to an MSI K9AGM2-FIH motherboard. Like the Asrock, it has on-board video and support for a dual-core CPU, but it uses the AMD/ATI Radeon X1250 graphics controller. Both motherboards support HDCP so they’ll be usable with the new Blu-Ray drive from Pioneer that’s supposed to be here any day now. Installation on the MSI was easy, and unlike the Intel motherboard, it actually ran. The system doesn’t know what to do with the Radeon yet, but that’s another story.

As soon as you have an operating system, the next thing you want to do is get to the web, and that’s where things get interesting. Like most people, I use Adobe Acrobat and the Adobe Flash player, but neither of them is up to snuff for Linux.

Acrobat has a bug that makes it go hard loop on any computer with the latest version of GTK, one of the graphics libraries it uses. It’s a simple bug to fix, requiring a one-character change in the /usr/bin/acroread script, but Adobe hasn’t figured out how to do it and in fact has re-released the same bug several times. It’s simply a matter of changing this line:

echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)00.
\([0-9]*\)\|\(.*\)/\1\2\3/g'

to this line:

echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]*\)00.
\([0-9]*\)\|\(.*\)/\1\2\3/g'

Can you see the difference? right after the middle of the line there’s an extra ‘*’ after one of the [0-9]’s. That’s not too hard, is it? Of course not, any moron can fix that.

Now the situation with the Flash player is a little more interesting. These new AMD and Intel processors have 64-bit instructions, so Linux has both 32-bit versions and 64-bit versions. For most applications, supporting 64-bit Linux is simply a re-compile with the 64-bit flag turned on. This is too much for Adobe to handle, so they only offer Flash in a 32-bit version. Since this is the tool that plays YouTube, it seems like a nice thing to have. But what happens if you install the Flash plugin for Firefox on 64-bit Linux is interesting: Firefox doesn’t see it, and you’re nagged to install it again, and again, until your patience runs out.

It turns out the issue here is that Fedora 7 includes both the 32-bit and the 64-bit versions of Firefox, in different locations. The basic /usr/bin/firefox is a script, and it runs code out of /usr/lib or /usr/lib64 as appropriate. The Flash plugin goes into the 32-bit code library, but as you’re running the 64-bit code you never see it. So the solution is to erase Firefox from your system:

sudo yum erase firefox*

and install the 32-bit version only:

sudo yum install firefox.i386*

Then your Flash install will work (after you repeat it), but now you’ve got yet another problem, as all the plugins that have real 64-bit versions aren’t going to run, so you have to play more games to get things like Java running under a 32-bit plugin. …install a nice little wrapper that allows you to run 32-bit plugins under 64-bit binaries.

More on that later, but for now Adobe is officially inept at Linux.

Linux in trouble

Crazy Richard Stallman’s temper tantrum over GPLv3 threatens to split Linux into two warring camps. Forbes.com has the skinny:

Despite that utopian anticapitalist bent, Linux and the “open-source” software movement have lured billions of dollars of investment from IBM, Hewlett-Packard, Red Hat and other tech vendors, plus corporate customers such as Wall Street banks, Google and Amazon and Hollywood special-effects shops. IBM has spent a billion dollars embracing Linux, using it as a counterweight to the Microsoft Windows monopoly and to Sun Microsystems’ Unix-based business.

Now Stallman is waging a new crusade that could end up toppling the revolution he helped create. He aims to impose new restrictions on IBM and any other tech firm that distributes software using even a single line of Linux code. They would be forbidden from using Linux software to block users from infringing on copyright and intellectual-property rights (“digital rights management”); and they would be barred from suing over alleged patent infringements related to Linux.

Stallman’s hold on the Linux movement stems from the radical group he formed in 1985: the Free Software Foundation. The Boston outfit, which he still runs, is guided by a “manifesto” he published that year, urging programmers (hackers) to join his socialist crusade. The group made Stallman a cult hero among hackers–and ended up holding licensing rights to crucial software components that make up the Linux system.

Stallman hopes to use that licensing power to slap the new restraints on the big tech vendors he so reviles. At worst it could split the Linux movement in two–one set of suppliers and customers deploying an older Linux version under the easier rules and a second world using a newer version governed by the new restrictions. That would threaten billions of dollars in Linux investment by customers and vendors alike.

It seems to me that the Forbes article is fundamentally correct. Stallman is a nutcase, and he’s trying to force the Linux community to do things his way, on penalty of losing the GNU tools. Stallman is trying to impose his concept of DRM on the Linux community, and a heck of a lot of very important people aren’t buying what he’s selling. So this will inevitably lead to a split between Stallmanized code and non-Stallmanized code.

It’s unpleasant to think about this, but it’s very likely to happen. Nobody can get Stallman under control, and he has enough fanatical followers to cause a serious split.

H/T IP Central.

Free Software Communists

I used to spend a lot of time in the Indian state of Kerala, so this article in Salon by Andrew Leonard caught my eye:

Richard Stallman must be sleeping well this week. Eight years ago, I accompanied the free software pioneer on a visit to the Bill Gates-funded computer science building on the Stanford campus. To get in we had to pass through an entrance that sported the Microsoft founder’s name engraved on high. Stallman gave Bill the finger, and then tried to convince some passersby that they should likewise flip Bill off. They looked at him like he was crazy.

Crazy like a fox. This week, the New York Times reported that the Communist state government of Kerala, India, “is campaigning to eliminate Microsoft from use in public institutions.” The government wants state-funded entities, such as public schools, to switch to free software, such as Linux-based operating systems. And guess what? Richard Stallman was very much involved.

Stallman has been pushing free software in India for years. In 2001 he chose Kerala as the headquarters for the Indian affiliate of the Free Software Foundation, the nonprofit he founded to promote software that users can freely copy and modify. Not long after the socialist Left Democratic Front won control of Kerala’s state assembly in May 2006, he was back, lobbying the government with his trademark indefatigability. A few weeks ago, the government banned Coca-Cola and Pepsi, on the grounds that an environmental watchdog had found high levels of pesticides in the products. Now it’s tackling Microsoft.
Continue reading “Free Software Communists”

Linux: A tale of woe

I’ve been using Linux on my desktop at work for years, and during that time I’ve maintained a doggy slow Linux box at home mainly for remote work on the desktop. So when I did my latest hardware upgrade of the home computer, I decided to switch over from Windows 2000 to Fedora Core Linux, thinking it would simplify things and all that. I also wanted to roll a home HDTV recorder/server using MythTV and some of the other open source stuff. So my plan was to build up a nice machine that I could use for software development, web stuff, and TV hooked into my home network and attached through the Internet to the company.

It turns out it wasn’t so easy.

The hardware I selected is all the latest and greatest stuff: ASUS A8N-VM/CSM motherboard, with an on-board nVidia video adapter with DVI out, S/PDIF out, Gig Ethernet, lots of USB, dual channel DDR, AMD’s 64 bit processor, and Serial ATA-II; a 300 GB Maxtor drive with Serial ATA-II, a DVD-RAM burner (that can handle all the other formats as well) . Windows XP installed on my system without incident, connected to Microsoft and downloaded updates. It runs great.

Linux was another story. I started with Fedora Core 4, the latest “stable” version and by most accounts a flawed distribution. Never mind that Fedora ripped out all the video stuff out of fear of the FCC, you can add it in later. The trouble with Fedora Core 4 is that it didn’t know what to do with my hardware. Sure, it was able to run its install program Anaconda from the CDs that I burned. But Anaconda didn’t recognize my disk drive, and actually told me my hardware was defective. Now I can understand that some software may not support some hardware, but the current Linux recovery tools can see SATA-II drives attached to nVidia controllers and format and partition them; just try Gnu parted or QtParted. Apparently you can trick the installer into using current technology with the “device” command, but this isn’t immediately obvious.

So rather than screw around with all that (there are multiple problems with FC4 and nVidia), I decided to jump right into Fedora Core 5, currently in the final testing phase and reasonably stable. It turns out that was probably a good move, as the standard set of CDs for Test 3 (4.92) installed on my system without incident and booted up.

But that’s when the fun starts. It turns out that the Ethernet won’t work if you’ve run Windows on it previously and haven’t done a cold start (disconnecting the power cord from the wall.) And it turns out you don’t get a mouse cursor in X – from your login screen and beyond – and it turns out that your keyboard and network will die within minutes of startup. These issues are all well known, as is the failure of Kudzu (the new hardware scanner) and some other nice things, but the Fedora people are heads-down to release the first “Release Candidate” on Monday.

I already know it won’t run on any system with an ATI or NVidia chipset, however. One of the developers introduced a new bug after testing closed that causes these drivers not to load, and he plans to roll out a fix a few days after the release on Monday. This points to a couple of problems with the Open Source way of doing things:

1. A programmer shouldn’t be allowed to check code into the project that hasn’t been tested. And code that hasn’t been tested shouldn’t be distributed to mirrors all over the world. This is the “adult supervision” problem.

2. Open Source doesn’t interact well with advanced hardware. The vendors are reluctant to share detailed specs with open source developers because such specs are cookbooks to copy shops that want to clone the hardware. Today the competition is between ATI and nVidia, and a few years ago it was between 3Com and Intel. So these guys release enough information for the Open Source people to write drivers that perform OK but not great, and they release their own binary drivers that run fast and don’t disclose the tricks they did in the hardware to boost performance. That’s reasonable.

This is the way it has to be, and it’s perfectly consistent with “free as in speech, not as in beer.” You don’t get free hardware with Linux, you just get free sofware. Sorry.

So all of this tells me that my new computer isn’t going to be running Linux anytime soon, and I’ll probably have to stick with Windows, relegating Linux to the last generation of hardware as before.

Can Linux ever catch up with Windows or is it doomed to be the red-headed stepchild of software engineering? My guess is that there’s a structual flaw in the Open Source model, and I’ve just hit it.

UPDATE: OK, it wasn’t really all that hard. I went back to Fedora Core 4 since Core 5 isn’t there yet. You have to invoke the installer using “linux noprobe” so that you can tell it what driver to use to find the SATA-II drive (sata_nv). After it installs, you then have to edit the GRUB bootloader to add “noapic” to the OS command line, and you can cement that into /boot/grub/grub.conf so you don’t have to do it each time you boot.

Synchronizing the nVidia drivers with the kernel version is a trick, so more on that later.

I said FC5 ain’t there yet, and this is why:

A note for users of ati-fglrx and nvidia-glx: Due to a bug in the FC5 release kernel users of non-GPLed kernel modules will have to wait for an errata kernel; that should happen soon. BTW, the driver packages got renamed; they are now xorg-x11-drv-fglr and xorg-x11-drv-nvidia.

The official Fedora web site is silent on this problem, much to their shame.