Wednesday, February 23, 2005

Open Source or Open Binaries?

Why is open source - or specifically Linux - successful?

Is it the ideals behind the license? Is open source better software? Or is it simply that most people are cheapskates and want something for nothing?

I think that it's not really any of those. I think it has a lot to do with ease of access.

And getting hold of a copy of Linux is as easy as falling off a log. There are mirrors of dozens of Linux distributions all over the net. So you can download it, for free, without a nag screen or any application process. Or you can get it on the cover of any of half a dozen magazines in your local bookstore. And you can install it - and there's a good chance it will mostly work, after a fashion - on pretty well anything and have a play with it.

And that's the point. It's not that it's got a license that allows you to see how it's done and change it. Most users couldn't care less. It's not that it's better or worse than commercial software. It's not even that it's free - most people will happily pay for something if they think it's worthwhile - but that includes trying it out for free. The important thing is that the barriers to entry - to trying it out - are essentially zero.

Of course, the more people who try something the more are likely to use it. (I find the same thing with games. I'll happily fork out large sums of cash for a PC game if I know I like it, and I find that out by installing the demo version. No demo - no sale.)

And there are other recent open source success stories. Firefox is being used by millions of people, and I'm willing to bet that only a vanishingly small handful have used the source or built it themselves. It's not access to source that matters here, it's being able to get hold of the binaries with ease.

Increasingly, as well, source access is becoming useless. I build a lot of software from source. Or try to, anyway. And it's hard work. Trawling through prerequisites and resolving the dependency hell is almost impossible. (Haven't open source deveoplers heard of the concept of stable APIs?) Then you have to watch configure make a large bunch of wild and unsubstantiated guesses about the state of your system and then libtool demonstrate how not to build software. And (at a time when the diversity of systems used to be much greater) we used to manage without all this. It used to take a simple make and you were done. No more. Failure is now more common than success.

There are initiatives that aim to address these issues. For Solaris, Sun supply some software with the OS itself, and additional material on the companion CD. Then there's sunfreeware and blastwave. In both cases someone else has had to suffer the pain (and the build time...). Then gentoo and portaris aim to automate the build process. And Eric Boutillier is actively investigating pkgsrc based solutions.

With these last few exceptions, though, it seems that the source part of open source is becoming irrelevant, and what matters is open access to binaries.


Phillip Fayers said...

With these last few exceptions, though, it seems that the source part of open source is becoming irrelevant, and what matters is open access to binaries.I'm not sure I agree with that.

I would not class myself as an Open Source advocate, at least not in the "it's not Open Source therefore it deserves to die" way. But I still think it makes a difference.

Think back to many years ago, before Linux took off. UNIX apps tended to be built from source on many platforms, PC apps were distributed as binaries. The former seemed to create an environment where the apps were either commercial (and expensive) or completely free, the latter created an environment where almost everything was commercial or shareware - you had to pay for everything. PC people marvelled at the fact that you could get free stuff on UNIX.

If the Open Source part disappears I think the same thing would happen again and the open (ie. free) binaries would disappear too.

Peter Tribble said...


Note that I never said that the irrelevance of the source code to the majority of users was a good thing, just that it was the way things have been evolving.

In fact, I'm one of those people who does like to build from source. But I'm having to admit defeat more and more frequently as more software simply won't build without enormous effort, and you're increasingly reliant on someone else's packaged binaries.

Furthermore, recent spectacular successes of open source (read firefox, primarily) are largely on OS platforms where source code is completely irrelevant.

It isn't good, but it's happening.