Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Linus Torvalds' Greatest Invention (plover.com)
83 points by draegtun on Nov 5, 2010 | hide | past | favorite | 27 comments


I personally know a dozen people who could have written the Linux kernel, at around the time Linus wrote it. What none of them could have done, through, is manage the project when it took off the way Linus did.

I suspect 100 years from now, the place you will hear the name "Linus Torvalds" the most will be in management classes in business and engineering school. His actual software will be a footnote, merely the platform upon which he demonstrated how to manage a large open source project. Kind of like Henry Ford and the automobile--Ford made important contributions to the development of the automobile itself, but it is his figuring out how to make the automobile factory that is the main thing we remember him for.


Using an acyclic graph of chained hashes to represent change history has a long history in revision control - it was used in Monotone (which Linus considered as an option instead of writing git, but rejected as it was written in C++), in OpenCM, in Xanadu, and probably in at least half a dozen other systems I've never heard of.


Small correction, Linus rejected Monotone because it had been horribly slow on the huge Linux source tree. Git was focused on performance from the outset, where Monotone cares more about integrity and correctness than speed.

That said, it's definitely true that Linux has strong and negative opinions on C++.


Well, one of the big problems in Monotone back in the day was that since they (we? I contributed a bit to Monotone, but was never a core contributor) broke people's repos several times with data integrity bugs, and so got very paranoid and added lots of slow integrity checks to make sure that didn't happen any more. Part of the reason for the breakage was that they were still experimenting with the basic representation of history, merge algorithms, and the like, and so had to do data migrations quite often, which sometimes introduced bugs.

Git had the advantage that it could learn from Monotone's mistakes, and focus on speed, and not have to experiment as much since much of the basic design ideas were already there. Git also made several better architectural choices, I believe, going with a much more simple and stable repository format than Monotone had.


I think you have to take what he has said about C++, or OO in general in context. What he said (at least what I've read) was that C++ would never make sense for the kernel, and his reasoning seems sound to me

I've always taken the opinion that OO makes sense where one needs the ability to model abstract systems in a way that can express and even explain them through the code. Modeling an computer doesn't require or benefit as much from such abstractions.


It's not only about kernel, see this thread from the Git mailing list:

"C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C."

http://thread.gmane.org/gmane.comp.version-control.git/57643...


And that may be a fair criticism of C++ specifically, I don't know I don't really use it.


Also, Mercurial 0.1 was released before git was usable: http://mercurial.selenic.com/wiki/Presentations?action=Attac...

All the ideas were already there. Somebody just wanted his damn DVCS to be written in C :-)


I'm pretty sure the head Mercurial developer was subscribed to the Git mailing list and decided to build his own DVCS when he saw Git wasn't heading in the direction he wanted. Mercurial might have been released earlier, but it was definitely a reaction to Git rather than convergent evolution.


As I understand it, Mercurial development was started as a reaction to this mail where Torvalds states that the kernel team is looking for Bitkeeper alternatives: http://lkml.org/lkml/2005/4/6/121

Git didn't exist yet at that point.


>Somebody just wanted his damn DVCS to be written in C :-)

Who can blame him?

Certainly nobody can criticize the decision these days and keep a straight face. Results speak louder than ideaology.


Really? It's still early days in the DVCS "wars". :)

I use git and I love that it's faster than Mercurial (a couple of years ago, I timed 'git log' at 1 second and 'hg log' at 13 seconds on same repo contents).

But precisely because it's written in hard-to-modify, hard-to-library-ize C code with several Linux dependencies (afaik), many companies are choosing Mercurial (Google, Kiln, Atalassian).

I can easily imagine a future where Mercurial has far more plugins/extensions than git (because it's easier to write Mercurial plugins) which will be a huge advantage in Mercurial's favour (a la Firefox). For such reasons, it's likely I will switch to hg one of these days.

It may only be a matter of time before Mercurial catches up with git's performance and becomes the de-facto standard, and git is relegated to the Linux kernel and other early adopters.

Other than the index all my git knowledge directly translated to Mercurial. I myself am planning to switch as soon as I can overcome inertia and go through one of the tutorial.


I would have thought so. Hashes aren't so special as to warrant all that attention.


I'm wondering what other folks think. I mean, as nicely as git's put together.. there was precedence for it as well. It just seems conveniently controversial to put git above Linux.


"conveniently controversial" aka link/flame bait


Git may be more innovative, but Linux is hands-down Linus Torvalds' greatest creation.


Really, Linus's greatest work is the organizing he's done. People can argue about how great Linux or Git are. What really stands out is the community focus on them. They've passed a technical threshold, where their community benefits completely outweigh any competition's technical benefits.


We should be careful about words here. Invention, innovation and creation are all different things.

Linux and git are both innovations, as they made known concepts (Unix kernel, DVCS) useable by the masses. They are hardly inventions, because they did not present new ideas or concepts. If they are creations ist debatable. Linus himself says Linux has "evolved", which means there is no specific creator, hence no creation. On the other hand git is (initially) completely created by Linus.


It did inspires ESR to write the Cathederal and the Bazaar.


Linux inspired ESR's literary output the same way the invention of plastic inspired the proliferation of lawn-ornaments.

The influence is there and non-negligible, but I can think of a billion other things, far more useful and creative, that benefited the same.


I found CatB extremely useful. I've heard a lot of hate for esr's work, and I'm curious about it. Perhaps it's just backlash, from his previous very high popularity.

So, could you elaborate with specific criticisms of CatB?


I think I can write more inspired criticism of cardboard, or styrofoam. Please, let me do those instead.

Or just go to his blog and read the second article:

"Regular readers of this blog are probably pretty clued in about my better-known software projects – gpsd, fetchmail, giflib, libpng, INTERCAL, ncurses, Battle for Wesnoth, Emacs VC and GUD modes, and the like."

The entire place is an altar to the man.

Even Stuxnet, the super interesting piece of industrial hacking. Even it didn't escape ESR's blessing wand:

"[My friend] incited me to blog by asking me the following question: “Would you call the perpetrators of the Stuxnet worm `hackers’, rather than crackers”?"

The entire security scene stood up in awe, given the combination of effort and ingenuity. But not ESR, he found this an opportunity to play pope and bestow titles.


If you have nothing to say but ad hominem and calling his literacy output cardboard without backing it up, maybe you should say nothing at all.

We now know that you hate ESR's self promoting behaviors, but where is the substance?


ESR's self promoting behaviors

The substance is lacking because I am not motivated enough to think harder about the man's writing. Something switched in my head and one day I realized he was the antithesis of the hacker-ethic he preaches. "Real Hackers", much like the real Scotsmen, work silently, are under-appreciated, and often unknown.

Having said that, it takes one to know one; given an audience the size of his, I am 100% certain I would go on a similar journey of self-worship and rampant "blow-hardery".

Ahhh! what wouldn't I do for unearned public recognition and a permanent podium.


OK... I'll just note that that's not a specific criticism of CatB.


Didn't Linus himself mention that bitkeeper was where Git's inspiration came from? Just like UNIX, bitkeeper was proprietary but it did work out many things for Git to use.


I've wondered about that too (http://news.ycombinator.com/item?id=455864).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: