IMHO one thing that Linux offered many people/coders/developers, especially
in the early years, was the chance to actually make a contribution and a
difference to the development and growth of the system.
Especially in the early Linux years you could track down bugs or
make improvements, send the patches to Linus and they'd actually end
up in the code in a few days to weeks. How cool was that!?!?
On BSD (at least my experience with NetBSD) it was *hard* to get
fixes incorporated and with new releases only once a year or so
it seemed very 'stale' and boring.
I think this Linux style open-ness of development, the willingness to
accept fixes and patches and perhaps horribly break things along the way,
resonated with a lot of coders and enthousiasts making it popular very
rapidly in those circles.
Heck.. I did some minor low-level and early stuff on the Linux/M68k
kernel port for the Amiga's and even though Linus himself was not interested
in a 'non-i386' port or version of Linux he was also not against it and open to
the idea and did accept fixes for bugs in the mainline kernel that were
exposed by the port (eg. byteorder issues, hardcoded i386 bits, etc.)
and basically sanitized a lot of code.
It also forced some of the early splits in some drivers in platform
independent and dependent pieces because of the vastly different styles
of I/O and interrupt handing between the i386 and the M68k family,
but Linus also saw the merit in such increased abstraction and
portability and accepted such changes even though they did 'nothing'
for the i386.
All in all at the time (early/mid 90's) I feel that the whole 'community'
(a much-abused word these days..) around Linux was much more conductive
and supportive than any of the other *IX-with-source-available options
for those that wanted to help/improve/fix stuff in the OS/kernel so it
drew in more people.
And when the (snow)ball started rolling with the free CD's on magazines
and such then all hell broke loose as far as the popularity goes.
Not saying it's "the best" at all as it can be a horrible mess, but
the earlier mention of 'good enough' (or perhaps being the 'VHS' of
*IX'es) is probably a good description.
Bye, Arno.