An Interview with Steven Pemberton

Tell us something about yourself

I'm a researcher at the CWI, the Dutch national research centre for Mathematics and Computer Science. The CWI was the first European internet site, well, the first non-military one anyway, and was also responsible for spinning off two organisations for setting up the internet in the Netherlands and Europe. It's incredible to think that in the beginning the whole European continent was connected to the USA via a single 64kb link!

At that time, at the end of the 80's, I was doing research in active documents, and we had produced a system that if you saw it now you would call a browser: it has an extensible markup language, style sheets, vector graphics, client-side scripting and so on. As a result, when the Web came along, we understood what it was about, and got involved. Since then I've been collaborating with the World Wide Web Consortium, W3C, and have helped to produce HTML, XHTML, CSS, and a number of other specifications.

How long have you been involved with Open Source?

From very early on. I was a Unix user in the 70's, it wasn't open source then of course, but it is one of the foundations of the open source movement. I wrote a book in 1982 on the Pascal P4 compiler, which was an early piece of open source software, before the term was even invented. In fact most free software was public domain in those days, meaning you could do anything you liked with it, including making changes and keeping the changes to yourself. It was mainly thanks to Richard Stallman who made free software viral, by insisting that if you made changes that you shared the result as well. And so was born Open Source.

Once day when Richard Stallman was visiting, I showed him a program that I was writing that automatically determined all sorts of properties of the machine it was running on, such as properties of the floating point unit, properties that are actually quite hard to determine. He said that he needed exactly such a program for his new compiler gcc in order to generate some of the header files that C programs use. So I rewrote the program, and donated it to GNU. It is still in use to this day.

I was also one of the designers of the programming language ABC that Python was based on. Guido van Rossum, Python's creator was working at the CWI in those days.

What are the challenges you see for Open Source?

Much of the strength of open source is thanks to the scratch your own itch principle expounded originally by Eric Raymond in his seminal The Cathedral and the Bazaar paper, where if you don't like something in a program, you grab the source and fix it. This however is paradoxically also one of open source's weaknesses. Basically, not everyone can program, and non-programmers are likely to be affected by different things than programmers. Usability is a prime example: the programmer is unlikely to spot usability problems because he or she will have written the program to suit their own needs. Non-programmers are likely to have different sorts of usability problems, and will be unable to fix them themselves. To be really successful, Open Source needs to be better than the alternatives, not just imitate them. We have to find a way to achieve that.

What is the message of your keynote at the Transfer Summit?

I'm pretty sure that Metcalfe's law applies to software as well as networks. Metcalfe's law surmises that the value of a network is the square of the number of nodes it has. If you do the maths you can see that if you take an existing network, and split it into two unconnected networks, even though you have exactly the same number of nodes, it halves the value of the whole. This why it is bad we have so many different instant messenger services, and so many different social networking sites, and good that there is only one Web.

We need to consider the open source ecosphere as much more of a unity, so that programs function together rather than as islands. Our data needs to be open as well as our software.