On Thursday 21 February 2008 07:47, Helge Hafting wrote:
> Steve Litt wrote:
> > Makes perfect sense to me, and I couldn't have said it better myself. A
> > person should not have to upgrade their distro every few months in order
> > to compile the latest apps.
>
> If you want to compile the very _latest_ apps, then you will sometimes
> need the _latest_ tools and libraries too. If that is inconvenient,
> stay with an older version of the app a little longer until the
> distro catches up. That's what I do. I compile my own LyX and a few
> other programs - but the wast majority of my software stays
> at the debian testing level. I.e. not the latest.
[clip]
> A fine philosophy - but some people don't make the extra effort of
> following it
> to the same extent as you do. LyX don't force you to use the
> latest TeX or qt, but doesn't work with arbitrarily old versions either.
Hi Helge,
I think what we're discussing is a matter of degree. I certainly don't want to
saddle developers with 5 years of backward compatibility. I doubt you'd
approve of requiring a tool that just came out a week ago -- everyone would
have to upgrade their tools just to compile your app.
So the question is -- how much backward compatibility?
I think the answer depends on two factors:
1) How much of a hassle is it for the developers to go with an older tool?
2) How much of a hassle is it for the user to upgrade his tool?
Hypothetically, if the tool is larrysLittleOutline that nobody's heard of, the
user will have absolutely no problem installing larrysLittleOutline, always
assuming larrysLittleOutline doesn't have nasty dependencies of its own. In
that case, why not use the latest and greatest tool?
But if the tool is Qt, or gcc, or pyGTK, upgrading puts the user in a
spaghetti bowl of entangled dependencies, and on many distros the likelihood
is the upgrade will fail, or worse, break some of his existing software. In
this case, backward compatibility should be the priority.
How much backward compatibility? Here's my belief:
Age of tools when distro is created: 6 months
Age of distro when installed: 4 months
Time between distro upgrades 24 months
-------------
Desireable backward compatibility: 34 months
Yeah, I know, most people upgrade their distros more often than every 2 years,
but there are many that wait 2 years, and I don't think that's outside the
realm of reason, assuming they have a good firewall and are on a standalone
machine or a very trusted LAN.
Dependencies aren't fun for anyone. By going back a little farther with
backward compatibility, especially on packages that are completely interwoven
with large numbers of programs in the distribution, the application developer
can make it much easier on the user who needs the features of the newer
program (in my case, outline view).
Thanks
SteveT
Steve Litt
Author: Universal Troubleshooting Process books and courseware
http://www.troubleshooters.com/