Open source's secret ally: Moore's Law
by Glyn Moody
Linux went from being a cool personal hack in a bedroom to software that would eventually change world just over 21 years ago when Linus sent out his famous "Hello everybody out there using minix" message that invited people to join in. As I noted last month, that open, collaborative approach was really quite new and proved key to the uptake and development of Linux.
That was possible because the internet was sufficiently widely available for enough people to join Linus' distributed team of volunteers. In other words, the rise of free software is intimately bound up with the internet. Indeed, the rapid take-off of Linux compared with the rather slower progress of the GNU Project is probably due, at least in part, to the fact that the latter could not take global connectivity for granted. It was thanks to this that Richard Stallman was able to live off the sales of GNU Emacs, which he sent out on tapes.
The symbiotic nature of free software and the internet – with the former using and being used by the latter – is now widely recognised. But another key factor in the rise of open source has been overlooked, and yet Linus himself mentions it in that first, famous post:
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.
Since we have been living in the Intel era for the last two decades – an era which only now may finally be drawing to a close, with the rise of smartphones and tablets, and their different processor families – it's easy to overlook the significance of the fact that Linus wrote Linux for the 80386 chip.
Hard though it may be to believe, Linus' main computer before he wrote Linux was the Sinclair QL, a typically eccentric British micro that used the Motorola 68008 processor (running at 7.5 MHz), came with 128K of RAM, and used the infamous microdrives for storage.
Moving up to a 386-based PC, running at 33Mhz, with 8Mbytes of RAM and a 40Mbyte hard disc, was quite a jump for Linus, and stretched his finances to the limit. In fact, he was only able to buy his first PC, on 5 January 1991, because he received money for Christmas that he could add to a student loan the Finnish government had recently given him. The latter was supposed to pay for his food and lodging while studying at Helsinki University, but since he was still living with his mother during this time, he was able to divert it to more interesting uses.
The fact that he could afford such a relatively powerful system – just – was down to the continual improvements in hardware, coupled with steadily falling prices. That is, it was thanks to Moore's Law, which sees the ratio between performance and price doubling every 18 months or so, that Linus ended up with that 386 system he mentioned in his first Linux post.
Without Moore's Law, he would presumably have been stuck with his Sinclair QL, coding for a system that few other people were interested in. With it, he was able to enter the mainstream of computing, along with many others. All around the world (or at least, the richer parts of it), young people were able to buy serious computers based around Intel 80386 and (later) 80486. That meant that they could run Linus' early Linux code, which also meant that they could contribute.
Again, without Moore's Law placing cheaper PCs in the hands of hackers, Linus would not have been able to build up his global community across the Internet, and the pace of development would have suffered. Indeed, as Moore's Law continued to drive down prices and push up performance, more people in more countries were able to acquire powerful enough PCs to join the Linux project. Faster processors meant shorter compilation time for programs, which also made it easier – and more enjoyable – to hack on the code.
There's an interesting contrast with proprietary software development here. Advances in Moore's Law provide little benefit for programmers in companies, since they will generally have good enough hardware bought for them. Nor does the company benefit that much, since the main cost of programming is paying programmers, not buying them PCs. In the world of free software, the volunteer programmers come for free, and the cost of hardware is the limiting factor. That's why Moore's Law is disproportionately helpful to open source.