The simple answer (and probably one of the more correct answers) is GNU/Linux won because it works. I love BSD, especially OpenBSD. I buy OpenBSD's CD's to contribute money to the project because I admire the hell out of it, but rarely do I try to run it. OpenSSH? Amazing. And that it came from such a relatively small group, just shows what a complete powerhouse the OpenBSD group is. However, when I got my OpenBSD CD's in the mail, I figured let's do the twice-a-year dance where I attempt to run OpenBSD. Results? On my primary workstation, OpenBSD's X doesn't agree with my video card. On my primary laptop, though I can get OpenBSD to install via CD, once installed, it doesn't recognize my DVD drive, and on my EEE machine, it doesn't recognize my wireless. Now, let's look at one of my favorite GNU/Linux distros, Trisquel. Which uses the linux-libre "deblobbed" kernel. It works, flawlessly, on my workstation and both laptops. Zero un-free drivers, blobs, or software. People can come up with as many theories on why GNU/Linux overshadowed BSD, but in my case, and in the case of many, GNU/Linux works better. BSD might have more elegant, bug free code, but for the vast majority of users, that doesn't matter, working features matter.