For perspective, I've programmed since well before the first personal computers. When they came out I had to buy compilers and development tools from Microsoft, Borland, and others (for the Apple systems and MS-DOS and early Windows) in order to program at home. I estimate that is cost me thousands of dollars over the years; I even had to buy Emacs-like editors so I could program on a PC. Around 1985 I bought Epsilon from Lugaru Software, its a nice Emacs-like editor still sold today!! I always wonder how profitable that product has been over the last thirty years.
Because I wanted do do document preparation on something other than Word I ended up buying a number of word processors (XYWrite, WordPerfect, MS Word for MSDOS); finally, I found a MSDOS markup based system by Mark of the Unicorn (which now sells high end Midi audio gear[2]). Mark of the Unicorn's markup system was based on Scribe (described in Brian Reid's influential CMU PhD 1980 dissertation[3] for which he won the ACM Grace Murray Hopper Award) that ran on PC's.
My first personal Unix system was a Dec Workstation, I think it cost me over $20,000 in 1990 for disk drive (maybe 300MB), monitor, and computer!! I put it to good use doing consulting and development, but nevertheless I am so so grateful to the open-source community for gcc, freebsd, linux, tex, and every other tool I use not just because it doesn't cost me as much to try out new things but because it has made it possible for people all over the world to access the power of computers.
[3] http://reports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-81-10...
It attracted people to the project, just because it was fun and wasn't trying to initially displace anything in particular. I find it interesting that the FSF still wants to own the entire stack, given the movement that they started with the GPL.
GNU got a kernel, it's Linux.
Motivation, because it was solving a problem that didn't need to be solved by the people working on it. Specifically they had access to other UNIX systems but they "wanted" one which was open source. Linus on the other hand was a kid without access to such operating systems and he wanted to learn about them and play with them. His motivation was to simply build something he could play with.
Egos were another interesting part of the problem, at the time the great micro kernel / monolithic kernel debate was going strong. "Big brains" were arguing one side or the other and it was an area of research. So on Hurd, what had been thrust very much into the local spotlight, if it was going to be "big" then the people working on it wanted to be "right" and arguing over what was the right way to do it consumed an amazing amount of time and energy.
And finally effectiveness. By far the most effective thing to come out of the free software project is gcc (and by proxy the binary utilities binutils). These were tools that were built so that the "real project" could be built, and as such were just re-implementing an existing thing (C and C++ compiler) which was a little more than a senior undergraduate project in most universities. But gcc was useful because people could get operating systems when they bought hardware but the industry was really trying to make money by selling them the compiler tools.
So gcc/binutils came into the world with little ego (it wasn't changing the world, just re-implementing it). Was highly effective, and people were motivated to use it because it was an alternative to an expensive compiler suite. But Hurd, was no better, and significantly worse in that it was less developed than, the OS that came with the hardware that these folks bought (workstations) it was just that it had source and you probably didn't have source to the OS you were using (or you did but you couldn't share it).
Linux on the other hand, while still a toy was a better OS than MS-DOS in that it was already more 'unix like' than DOS was, and more useful than Minix because rather than just teach concepts Linus was using them to make the other parts of the OS as well. So the motivation was there to try it, Linus was not the egotistical "expert" who didn't listen to alternate ideas, and it was at least as effective an OS as MS-DOS if you didn't care too much about applications. As a result it was much more successful.