As an entrepreneur myself, I really do not subscribe to the "all software should be free" mentality. It's a retarded notion and in fact unamerican.
OMG!? If you support free software you support the terrorists? How did I not know this!?
Since most sensible people are not willing to work for free, and hey there's nothing wrong with that, making linux work with the rest of the world does require cooperation with commercial companies. As you may have deduced, commercial companies operate with the priority of making a profit.
I guess there's a helluva lot of unsensible people out there then because while there is a lot of commercial involvement these days, most, if not all, of it started without any commercial backing or involvement. And while there is currently a lot of commercial involvement in the big projects, most of them still have a decent number of people contributing for free in their spare time.
Obviously not every app or feature would've been developed without commercial support, some of them even require special hardware that most people couldn't afford, but that doesn't mean the entire project is now dependent on commercial support.
Did you really think some hygienically-challenged European dude living in mother's basement made linux what it is today? Hell no...he simply planted a seed and it grew into what it is today with A LOT OF COMMERCIAL HELP.
The hygienically-challenged comment, while kind of funny because of the stereo-type, is mildly offensive.
And while there's obviously been commercial involvement in Linux for years now, they would'nt have gotten involved if it wasn't already mature enough for them to use and develop. Discounting the early efforts of the Linux developers is either ignorant about what they've done or hostile towards them.
Read the license under which linux is distributed...it requires that the source to any changes made are provided to the community.
Actually it says they need to be made available to those that you distribute binaries to, not upstream or the community at large.
Fortunately it supports enough tech to be useful...but it's still not where Windows Server was 2 years ago...and only recently is its kernel able to support SMP effectively as well as maintain decent I/O performance (guess why...yeah, that's right, more commercial code contributed to the community).
IME the I/O and process schedulers in Linux have been much, much better than that of Windows for many years now.
Does usage somehow indicate quality...?
Obviously not, otherwise Windows would be relegated to a few niche roles like domain controllers.