On Monday 13 March 2006 17:27, Les Mikesell wrote:
On Mon, 2006-03-13 at 15:26, Lamar Owen wrote:
Let me make a minor edit to this well-thought-out paragraph, Les. The change is from 'distribution' to 'upstream open-source developers who have a NIH attitude and who insist on their required version of any given library as being The Only Acceptable Version'.
I'm not sure I even care about that. While I'd rather not have every app statically link every library, I can afford the disk space to have versioned shared libs for everything that really needs them.
Can you afford the bandwidth? Updates are already 2-3GB per year. I'll say again; if Microsoft were to require 2GB per year to stay up-to-date people would be up in arms....
That seems to be more reasonable than to expect Linux developers to accept the definition of interfaces as contracts among programmers that aren't supposed to ever change.
It's not even interface definitions. It's whole languages. It's whole libraries; GTK1.2 versus GTK2 or QT3 versus QT4, for instance. Those are setup now to coexist.
I can live with that. That doesn't explain why I can't have an RPM-installed evolution 2.x alongside the stock Centos 3.x version.
To do this you need to keep all dependencies of all programs that you wish to do this with. I would think there aren't enough packagers in the typical distribution's shop to handle that many packages.
Also, the upstream has to respect the multiple version capability. Things like, oh, maildirs need to be intelligently addressed and not blindly upconverted.
Respecting existing interfaces in existing libraries during new development would pretty much eliminate the need to keep old versions around, but I don't see much hope for that. A better workaround to let multiple versions of everything co-exist is probably the best we might see.
Multiple versions of everything....good thing disks are getting bigger...
That is probably the best we'll see. But we also have to come to grip with the idea that there is no ideal Linux distribution; not just for all users, but even for all programs.