In the old school Linux distro world, dependency management is handled by the package manager. This way has benefits and drawbacks:
* there is specific version of the library associated with the OS that the developer can develop against - if the OS updates, the developer also has to update their apps - so they don't leave old bugs and vulns open
* there is specific version of the library associated with the OS that the developer has to develop against - if the OS updates, the developer also has to update their apps - which sometimes can be very annoying if the API breaks
There is more to it, but this is the thing that constantly has me changing my opinion on the matter.
* there is specific version of the library associated with the OS that the developer can develop against - if the OS updates, the developer also has to update their apps - so they don't leave old bugs and vulns open
* there is specific version of the library associated with the OS that the developer has to develop against - if the OS updates, the developer also has to update their apps - which sometimes can be very annoying if the API breaks
There is more to it, but this is the thing that constantly has me changing my opinion on the matter.