Hacker News new | ask | show | jobs
by betterunix 4766 days ago
By this logic, janitorial work should trump the Linux kernel -- there are far more janitors out there than Linux developers. Janitors are everywhere. We rely on them all the time.

The difference between the lunar missions and the Linux kernel is easy to see, if you bother to pay attention. Decades of research in numerous fields were required before the Apollo missions could happen. Experts in numerous fields had to collaborate on the mission. There were no mistakes to learn from -- nobody had done a lunar mission before. By comparison, the Linux kernel only represents expertise in one particular field, it is certainly not the result of cutting-edge research, and there is nothing particularly special about writing a kernel.

3 comments

Decades of research in numerous fields were required before the Apollo missions could happen.

Actually, it was less than one decade of research post-Kennedy's-announcement, and a lot of groundwork had already been laid by then. The whole thing was standing on the shoulders of giants from day one. It's really difficult to pick any single ground-breaking development in the Apollo project; it was more like a lot of R&D trickle in disparate areas converging on a solution for a single goal, all of which was being built on a solid foundation we had already had by that time.

For example, the Apollo Guidance Computer was, AFAIK, the first serially produced digital computer made of integrated circuits, and I believe that for quite some time, the manufacturers of ACGs in the Charles Stark Draper Laboratory (an offshoot of MIT) were the single largest purchaser of ICs on this planet. The consequence was that the use of ICs in complex computers had been validated, Fairchild Semiconductor (who provided the NOR gates used in the computer) amortized their investments and went on churning them out in ever increasing numbers. You know what followed. But this was more about speeding up the adoption rather then stimulating the development of something completely new.

Experts in numerous fields had to collaborate on the mission.

Since it's a software project, you could also argue that you need experts in various fields of programming. The guy who writes a driver for a new device manufactured by his employer to be included in the mainline kernel probably isn't somenone who you're going to trust with redesigning the kernel memory allocator.

> and there is nothing particularly special about writing a kernel.

My support on this phrase, I had had discussions about this and can get very controversial.

I agree with you. Linux is possibly a bad example, there's nothing special about writing it.

That said, we have made major progress in many fields and I disagree that nothing important is done anymore. Consumer aviation comes to mind. The safety standards they have met is truly mind boggling. Wireless and Internet Connectivity is another - wimax has a huge impact in developing countries. IMO, just these two things have made massive impact on how we do things in everyday life. Much more than the space program to daily life.

I suppose it depends on how you interpret the term "big project." Deploying wireless networking seems comparable to the Interstate Highway System -- you are laying down a new infrastructure to make a particular technology more efficient. It is certainly ambitious and it certainly has a lasting impact, and you definitely need expertise and a commitment to finish it. On the other hand, you do not need the breadth of expertise that Apollo required, which is where I think the line is drawn here.

An example of something comparable to Apollo (one that does not involve outer space) would be a hypothetical switch away from fossil fuels -- completely renewable energy. Imagine a government project to replace every internal combustion engine with electric, to deploy rapid (on the scale of minutes) charging infrastructure, to build wind and solar farms to replace coal/gas power, to find new ways to heat blast furnaces, etc. You would need research in numerous science and engineering fields, and you would need experts in those fields working together. You would need a commitment to doing this, the way we committed to Apollo -- not a wishy-washy federal effort or a lot of poorly-organized local efforts.

I agree with you. Linux is possibly a bad example, there's nothing special about writing it.

Are you sure about it? Wasn't it one of the first really large software projects with the distributed development model? (Were there any predecessors to that?)

By the time Linux was born, the GNU project had produced a large collection of tools, enough to have its founder claim that the last major missing piece for it to be a complete OS was a kernel.
Well, yes, but the individual GNU tools are to a large degree independent. I'm not an insider, but to me it seemed that the kernel development effort really pushed the limits in the area of distributed development of a single large code base. (I'm not sure, though, how exactly did the kernel code base measure with the contemporary GCC code base, which is probably the closest in complexity from all the GNU stuff.)
Yes, GCC is most likely the single largest of all GNU tools (~6 million SLOC).