2 October 2008

Open source religion

Filed under: free software, Open Source — David Wood @ 9:52 pm

Roger Nolan, my long-time former colleague from both Psion and Symbian, raised some challenging points in his recent piece “Symbian’s open source challenge” on the VisionMobile blog. As Roger sees it, the challenge for Symbian is to get the best out of open source without becoming so fixated by the idea of open source that we fail to address the burning requirement for improved user experience. The worry is that technological or process considerations will get in the way of creating simply delightful products.

In Roger’s own words – comparing the possible future evolution of Symbian software with the history of Nokia’s Linux-based “maemo” platform for mobile Internet tablets:

Sadly Maemo is … driven from a technology soapbox. This time, it’s not a features arms race, it’s open-source-or-die. The Maemo team did not sit down and say “Let’s build a great UI for an internet tablet” they sat down and said “What can we do with open source” – open source is the religion, not ease of use and making great devices that are delightful to use.

As Symbian becomes the Symbian foundation and transitions to an open source model, I hope that the open source community will take some of the burden of implementing every last codec and piece of middle-ware and the Symbian foundation can focus on UIs and ease of use. Unfortunately, I fear that they will be overcome following Maemo’s open-source religion.

In other words, is Symbian going on an free software crusade, or are we adopting open source for solidly pragmatic reasons?

My answer is that it’s a bit of both, but with a strong emphasis on the pragmatic side of the scale.

The archetypal free software crusader, of course, is Richard Stallman. The 2002 book “Free as in Freedom” by Sam Williams is a sympathetic, interesting and easy-to-read account of Stallman and his very considerable impact on the world of software – but it’s no hagiography.

The early chapters in the book take a friendly approach to Stallman’s personal idiosyncracies. Reading these chapters, it’s easy to develop a strong liking for this pioneering crusader. To my surprise, I found a lot of resonance between Stallman’s life experiences and, in smaller scale, my own; for example, we share backgrounds as prodigious mathematicians who were not afraid to be outsiders. (And it seems we’re both interested in life extension.)

The last few chapters provide a kind of balance, by highlighting some of the problems caused within the Free and Open Source movements by Stallman’s inflexibility, apparent micro-management, and under-developed project management skills.

The narrative in the book jumps around a lot, moving backwards and forwards in time all over the place. Some readers may find that distracting, but I liked it, since it helps to show the remarkable wholeness and integrity to Stallman’s conceptions.

The entire text of this book is available online at http://www.faifzilla.org/. Chapter 8 contains a stark example of the clash between the “quasi-religious” approach and the pragmatic one:

Stallman says competitive performance and price, two areas where free software operating systems such as GNU/Linux and FreeBSD already hold a distinct advantage over their proprietary counterparts, are red herrings compared to the large issues of user and developer freedom.“It’s not because we don’t have the talent to make better software,” says Stallman. “It’s because we don’t have the right. Somebody has prohibited us from serving the public. So what’s going to happen when users encounter these gaps in free software? Well, if they have been persuaded by the open source movement that these freedoms are good because they lead to more-powerful reliable software, they’re likely to say, ‘You didn’t deliver what you promised. This software’s not more powerful. It’s missing this feature. You lied to me.’ But if they have come to agree with the free software movement, that the freedom is important in itself, then they will say, ‘How dare those people stop me from having this feature and my freedom too.’ …”

…the underlying logic of Stallman’s argument – that open source advocates emphasize the utilitarian advantages of free software over the political advantages – remains uncontested. Rather than stress the political significance of free software programs, open source advocates have chosen to stress the engineering integrity of the hacker development model. Citing the power of peer review, the open source argument paints programs such as GNU/Linux or FreeBSD as better built, better inspected and, by extension, more trustworthy to the average user…

When an audience member asks if, in shunning proprietary software, free software proponents lose the ability to keep up with the latest technological advancements, Stallman answers the question in terms of his own personal beliefs. “I think that freedom is more important than mere technical advance,” he says. “I would always choose a less advanced free program rather than a more advanced nonfree program, because I won’t give up my freedom for something like that. My rule is, if I can’t share it with you, I won’t take it.”

Such answers, however, reinforce the quasi-religious nature of the Stallman message. Like a Jew keeping kosher or a Mormon refusing to drink alcohol, Stallman paints his decision to use free software in the place of proprietary in the color of tradition and personal belief. As software evangelists go, Stallman avoids forcing those beliefs down listeners’ throats. Then again, a listener rarely leaves a Stallman speech not knowing where the true path to software righteousness lies.

Now the nearest thing to a Symbian religion is the published list of our corporate values: Excellence, Innovation, Passion, Integrity, Collaboration, People. We take these values very seriously – as we do our vision – that Symbian OS will be the most widely used software platform on the planet.

Questions such as the extent of our adoption of open source, or usage of proprietary software, are, in the end, weighed up against that list of values. Open source will lead, we believe, to greater collaboration, and to more innovation. That’s a good reason to support it. But it’s not an end in itself.

Indeed, adopting selected open source principles is only one of the big change initiatives that are taking place in Symbian. As I’ve mentioned before, we’re also adopting selected principles of enterprise agile. What’s more, we’re looking forward to significantly closer inter-working between the development teams in Symbian and in S60, which will allow faster delivery of important new technology to the market. And last – but definitely not least – there’s a whole series of measures to enable improved user experience on Symbian-powered phones. The UI that’s on the just-announced Nokia 5800 XpressMusic device is a significant step in this direction.

6 August 2008

Two fallacies on the value of software

Filed under: free software, Highlife entertainment, Moore's Law — David Wood @ 8:55 am

Software is everywhere. Unfortunately, buggy software is everywhere too.

I’m writing this en route to a family holiday in South America – four countries in 15 days. The holiday starts with a BA flight across the Atlantic. At first sight, the onboard “highlife” entertainment system is impressive. My son asks: do they really have all these music CDs and movies available? “Moore’s Law in action” was my complacent reply.

The first sign of trouble was when the flight attendant welcome announcement, along with the usual stuff about “if you sleep, please ensure your fastened seat belt is visible on top of your blanket“, contained a lengthy dire warning that no one should try to interact with the video screens in any way, while the system was going through its lengthy startup activity. Otherwise the system would be prone to freeze or some other malfunction.

It seems the warning was in vain. From my vantage point in the very back row of seats on the plane, as the flight progressed I could see lots of passengers calling over the flight attendants to point out problems with their individual systems. Films weren’t available, touchscreen interactions were random, etc. The attendants tried resetting individual screens, but then announced that, because so many screens were experiencing problems, the whole system would be restarted. And, by the way, it would take 30 minutes to reboot. All passengers would need to keep their hands off the screen throughout that period of time, even through many tempting buttons advertising features of the entertainment system would be displayed on the screen during that time.

One flight attendant forlornly tried to explain the situation to me: “it’s like when you’re starting up a computer, you have to wait until it’s completely ready before you can start using it”.Well, no. If software draws a button on the screen, it ought to cope with a user doing what comes naturally and pressing that button. That’s one of the very first rules of GUI architecture. In any case, what on earth is the entire system doing, taking 30 minutes to reboot?

To be fair, BA’s inflight entertainment system is hardly alone in having this kind of defect. I’ve often seen various bizarre technobollocks messages scrolling on screens on the back of aeroplane seats. I also remember a Lufthansa flight in which the software controlling the reclining chairs (I was flying business class on that occasion) was clearly faulty – it would freeze, and all subsequent attempts to adjust the chair position would be ignored. The flight attendants that day let me into the secret that holding down three of the buttons simultaneously for a couple of seconds would forcibly reboot the system. It was a useful piece of knowledge!

And to be fair, when the system does work, it’s great to have in-flight access to so much entertainment and information.

But I draw the following conclusion: Moore’s Law is not enough. Moore’s Law enables enormous amounts of data – and enormous amounts of software – to be stored on increasingly inexpensive storage mediums. But you need deep and wide-ranging skills in software creation if the resulting compex systems will actually meet the expectations of reasonable end users. Software development, when done right, is going to remain as high value add for the foreseeable future.

“Moore’s Law” is enough is the first fallacy on the value of software. Hot on its heels comes a second idea, equally fallacious:

The value of software is declining towards zero.

This second fallacy is wrapped up with a couple of ideas:

  1. The apparent belief of some people that all software ought to be sold free-of-charge
  2. The observation that the price of a fixed piece of software does tend to decline over time.

However, the second observation misses the important fact that the total amount of software is itself rapidly increasing – both in terms of bulk, and in terms of functionality and performance. Multiply one function which is slowly declining (the average price of a fixed piece of software) with another one that is booming (the total amount of all software) and you get an answer that refutes the claim that the value of software itself is declining towards zero.

Yes, it’s reasonable to expect that individual pieces of software (especially those that have stopped evolving, or which are evolving slowly) will tend to become sold for free. But as new software is made available, and as software keeps on being improved, there’s huge scope for value to be made, and for a portion of that value to be retained by first-rate developers.

Footnote: Even after the BA entertainment system restarted, there were still plenty of problems. Fast-forwarding through a film to try to get to the previous location was a very hit-and-miss affair: there was far too much latency in the system. The team responsible for this system should be hanging their heads in shame. But, alas, they’re in plenty of company.

Blog at WordPress.com.