when it comes to software, what determines if it's ready to go for a certain distro? the distro itself, or the desktop environment? I'm confused because desktop environments to me sound like they are just "skins" for the OS.
-superboyac
It's really a mix
What really determines if a software can run on some distro is if the OS has the dependencies and can compile the software, than it can run on that OS.
Sometimes, the dependencies are 1) at the OS level (a certain version of a library), or 2)at the desktop environment level (a version of KDE or Gnome) (or both?
).
If 1), and the OS does not have the dependencies pre-installed, there are two options: you either install the dependencies from some repository (this is what package managers do automatically when you ask them to install something -hence why when you ask it to install something it may say "will install 100 other packages"), or if it's not compiled in any repository, you can install it from source.
From my experience, the DE doesn't actually limit your choices in software. If some software depends on a DE that you do not have installed, any package manager will install your software and the whole DE along with it. You'll be able to use that software on your regular DE, it will only look different from the rest of the stuff you're running. However, if it's something tied with the look of the OS (for example a taskbar clock), it will only show up if you start the correct DE.