currently I'm thinking about switching completly to a Linux Distribution. I actually like Ubuntu alot, but I have some concerns about outdated (user) applications.
It's recommended to use the official repositories to install any kind of software (I'm aware, that there are other possibilities like ppas etc.). As far as I know, applications which are in this repository aren't updated for a specific Ubuntu version (e.g. App A Ver 1.6 is available in Ubuntu 12.10, devs create version 1.7 (no securityfixes, just a functional update) and it wouldn't be available in the official repository til Ubuntu 13.04). There are some exceptions like Firefox, but for the majority of the apps, there are no (functional) updates within 1 Ubuntu iteration. I'm also aware, that there are distributions which follow a rolling release model. There you get updates very soon after they are released. The downside there is the stability. It's possible, that you break your system with an update.
I just wanted to ask, what leads to this situation on the technical side. In my understandig it should be possible to update every kind of user application (Chromium, Gimp, ... - everything which is not part of the operating system itself), without breaking any essential system functionality (Like it's the case in Windows/Mac OS X, it's very unlikly to break your system with an update to some user applications).
Is it because backward compatibilty issues with some libraries?
So e.g. App X requires a function from Lib A (Ver 1.0). App Y requires another function from Lib A (Ver 1.1). The devs of Lib A decided to drop the specific function, which is needed in App X in version 1.1. If a user installs App Y, which requires Lib A in version 1.1, Lib A will be updated from 1.0 to 1.1. In this case you would break the functionality for App X.
- Is this an situation which could occure?
- How's the update mechanism for libraries in Linux? Would an update overwrite the previous version of a library?
- Do systemcritical parts use libraries which are used in user applications too? (So if a library is updated in terms of a user application update, could it break system functionality?)
If the situation has nothing to do with libraries, could you explain which possible problems lead to this situation?