The Trouble With Open Source: My Sage Saga

Sage logoAt a recent conference of mathematicians, I heard a lot of talk about Sage, an open-source project designed to create an alternative to powerful but pricey mathematics packages such as Wolfram’s Mathematica, Maplesoft’s Maple, and MathWorks’ MatLab. Do I decided to give it a try. The resulting struggle is a powerful indication of why open source will continue to struggle to find a place on the systems of all but the most dedicated users.

Sage, which is available free under the General Public License v. 2+, is an impressive piece of work. It falls  far short of the polish of its commercial competitors, but offers a wealth of tools with its broad range of mathematical functions and commands and its Python-based programming language. But, as has so often been the case with open source projects, it falls drastically short on user experience, starting with an installation process so difficult that most people are likely to give up long before they get it running. First, although Sage claims to be available for Windows, Mac, and Linux, it only runs natively on Linux or UNIX systems. On the Mac, it is installed to run directly on Darwin, OS X’s BSD UNIX-based kernel, rather than the normal Mac user interface. On Windows, it requires an Oracle Virtual Box virtual machine.

I tried the Mac version first, but ran into total failure installing it. It starts with a normal-looking DMG disk-image file, but the process quickly requires the use of the Terminal command line. My problems is probably explained by the warning in the readme file: “These binaries are only for the OS X version that is indicated by the package .dmg name. They generally will not work on any other OS X version (unless explicitly stated otherwise).” The latest version I could find was for OS X 10.6 (Snow Leopard) and I’m running Mountain Lion. Scratch that attempt.

I figured a native installation in Linux might go better so I tried the Ubuntu version. People accustomed to Windows or Mac software installations will find installing most programs in Linux more than a little intimidating because Linux lacks standardized installers. Fortunately, an Ubuntu forum offers a very detailed guide to installation that includes command line steps such as:

sudo chmod -R 755 /usr/local/src/sage-3.1.4-ubuntu32-intel-XEON-x86-i686-Linux

(Acting as the superuser, change the rights of the files in this directory and all its subdirectories to read-write-execute for the user and read-execute for everyone else.)

Alas, after faithfully following the instructions, Sage still didn’t work:

(I think there something wrong with the path, but I’m not enough of a Linux guru to figure it out or fix it.)

Finally, the Windows version came to the rescue. It’s a lot more complicated than a normal Windows install, but after all I’d been through., it seemed like a snap. First, you have to download and install VirtualBox. You download the Sage package, which is actually a Red Hat Fedora virtual machine preconfigured with Sage and import it into VirtualBox. Then you fire u the VM. It takes a bit longer than launching a normal Windows program since it actually has to boot Linux, but Sage loaded and ran fine.

The point of all this is that the folks behind Sage, like  they participants in many other open source projects, have failed to tackle the critical issues of usability. They have not transcended the “real men use command line interfaces” mentality and show little interest in the hard, but to most hackers, unrewarding, work of providing a great, or even a satisfactory, user experience. As a result they end up writing code mostly for themselves and each other. This helps explain why open source has had great success on the server (for example, Linux, the Apache web server, and squid proxy server) and tools for pros (for example, the Wireshark packet sniffer)  but has had little impact on the broader world of applications.

This is a shame because the open source model has both produced some great software and provides an important alternative to traditional commercial development. But for both individuals and institutions, the initial cost of software represents a small part of the total cost over its life, whether that is measured in dollars or hours of frustration. That means that free is not enough to drive user acceptance; the convenience and polish has to be there too.


Open Source webOS: A Nice Gesture, but a Sad End

In the end, Hewlett-Packard could neither use webOS to gain a foothold in the smartphone and tablet market, nor could it sell the operating system it acquired as part of the $1.2 billion purchase of Palm last year. So it is giving it away, releasing the code and the application framework under an open source license. The sad truth is that we are unlikely to ever again see webOS in a commercially viable smartphone or tablet.

Sad face TouchPadFor webOS to have a real life after HP, some hardware maker would have had to snap it up. But the likeliest suspects, Samsung and HTC, already have their hands full with Android and Windows Phone, and perhaps Windows 8 too. Amazon was a rumored buyer, but it has little interest in taking on a major OS development project; it’s doing just fine with an old version of Android.

The problem is that successful mobile software has to be co-developed with the hardware it runs on. Of the current mobile players, the one pure software company, Google, is getting into hardware with the purchase of Motorola Mobility. And it continues to work intimately with its leading hardware partners on design. Microsoft gives its Windows Phone hardware partners very limited freedom in their design choices. Apple, of course, is the maestro of integrated mobile hardware and software, and it was in an attempt to emulate Apple’s success that HP bought Palm in the first place.

There’s a good reason for this. The mobile user experience depends to a huge degree on how smoothly the hardware and software work together. A huge part of Apple’s success is based on the fact that it and third-party iOS developers know every detail of the very limited variety of devices they write for. In that environment, the hardware and software become one, and this makes for happy users.

Attempts to develop mobile operating systems in isolation have a sorry history. Intel and various partners tried with Moblin, MeeGo, and Tizen and left us with nothing but a pile of odd names.  The LiMo Foundation had no greater success with its attempt to create a mobile Linux.

I’m sure open source webOS will attract a bunch of enthusiastic developers, who will succeed in getting it to run on commodity hardware. But if there were a real chance of getting a product out of this, someone would have shown interest in buying webOS for what I am sure was a bargain-basement price. Instead, they saw a pit full of Pres and TouchPads and 3 billion of HP shareholders’ dollars.

The sad end of webOS is a terrible shame. It was an extremely promising operating system that never really got a chance, hobbled as it was first by the financial weakness of Palm and then by the incompetence and lack of staying power of HP. It deserved much better.