Its amazing to see the Linux fan-boys defending what is commonly known as a serious flaw in Linux. You keep pointing me to this "remote downloading" software installation feature, but that ~ONLY~ works if the distro maker has that software inside their repository rebuild and it is the supported version you want. You know for a people who are supposedly all about freedom of choice and openness you guys see to be espousing developer controlled style application control. And please stop trying to treat me like some lost-in-the-woods kiddy, I'm neither. I live and breath inside Solaris, one of the most archaic UNIX OS's in existence. AIX and HPUX were breezes compared this this monster. At the house I use CentOS as my server OS of choice, primarily because its just RHEL re-branded. Anything designed to work with RHEL will work with CentOS without modification.
And this is the exact type of compatibility I'm talking about. The entire Linux industry needs to get behind one software installation standard. Once location for configuration files, one unified system service method. I shouldn't have to be googleing each distro's method for handling system services if I want to fix / customize something. Get one method for configuring and initializing network adapters cause I swear each distro seems to want to put its net config files in different locations and with different formats.
For all its evils the one thing MS did right, the one thing that set them up for success is they set standards for everything. And while there was wiggle room in implementations, especially by the HW driver manufactures, generally if you designed your program for Windows it was guaranteed to work on 90%+ of the installation base. That "DLL hell" people talking about is what made Windows the biggest desktop OS in the world, because its not just "granny" that is using this. Its sister, its father, its mother, brother, cousin, friend, and stranger. Its the pizza delivery guy, its the car mechanic, the hospital nurse, the doctor, the lawyer, the judge, the school teacher and yes even the lowly computer geek. You don't design your philosophy around the marginalized not-profitable geeky crown, you design it for the largest demographic possible. The reason RHEL got to be the "go-to" Linux OS in the enterprise world is that they sat down and standardized everything, provide materials for that standard and created whole suites of tools to make the enterprise admin's job easier. Ubunto has made impressive headway's to doing this for the "desktop" world but its still lacking in many areas. This is due to every damn linux guy wanting to go off and do things their way, causing all sorts of headache for the average user.
If you can't wrap your head around those concepts then you deserve to be stuck in the dark.