Hacker News new | past | comments | ask | show | jobs | submit login

This is an interesting question. I'd say it's a mix of technical and social factors. Technically it's a solid abstraction (versioned directories), it's ridiculously fast (specially when compared to most alternatives at the time, even local ones), and somewhat space efficient (if you're not keeping binaries around). Because the format has been specified from the beginning it's easy to build all sorts of tools on top of it and add as much knowledge as you want, including line-by-line diffs, rename tracking, etc. It also ignores some hard problems people were focusing on at the time (merges, for example).

Socially, it first had a big userbase because the kernel is a large enough project and the switch was made top-down as far as I remember (not everybody was forced to do it but it was much easier if you could). This means a lot of people had to get acquainted with it, and this set of people turned out to be somewhat competent at changing it to make it faster, more stable, and easier to use (up to a point). Linus's personality played an important role here, as he entertainingly made a case for why it was good, which created a certain "cool factor". Second, there was the github factor which allowed this user base to explode exponentially by making it really cheap and easy to use.




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

Search: