Apt repository interoperability (was: Bug#311188: Debian edu messed up my Ubuntu system.)
On Sun, 20 Apr 2008 10:05:24 +0200, Andreas Tille <firstname.lastname@example.org> wrote:
If you mix up different distributions you can not expect things are
working flawlessly. The only advise we could give is to use plain Debian
if you expect Debian packages working flawlessly. We do not feel
if our packages do not work in Ubuntu as you expect them to work.
Andreas, you are completely right. However, this story is being told
again and again and again. Why? Because it violates assumptions that
many, many users make. Especially those new to Linux.
For a user of "Linux for human beings" (Ubuntu) the principle of least
surprise is violated when an action that is likely to break Ubuntu can
happen without a warning. A big fat warning would suffice, if the
purpose is to wash hands, saying "we told you so!". But washing hands,
either automatically (warning dialog) or manually (Andreas' reply here)
isn't quite what we should aim for in the long run.
Repositories that look alike on the surface may or may not play nice
with each other. They may be binary incompatible. Their maintainers
may not endorse (i.e. support) other repositories that are intended to
be binary compatible, either. Users who add third party repositories
are left to figure out this for themselves. It's as if adding an apt
repository is an expert operation; User Beware!
Apt is an awesome package manager framework. It has a lot of power!
But it is a powertool with few safety features aimed at Joe Average.
I don't think we want to advertise loudly the lack of such safety
features. But unless we do, I think it is the duty of Debian and its
derivatives to improve the safety nets.
Before anyone suggests more onerous warning dialogs telling the users
that they are on their own (more washing of hands) I would like to
propose "upstream" as a metadata item for apt. debian-multimedia.org
would have a debian.org apt source as it's upstream, for example.
Basically, apt sources could declare binary interoperability with
other apt sources. Any thoughts?