m.hearn at signal.qinetiq.com
Mon Aug 9 19:25:07 EEST 2004
> Well, if packaging as an RPM, you simply
> Requires: lsb >= 2.0
> Or whatever is appropriate. If people start actively taking advantage
> of the LSB, I'm sure it will get moved into the base package set.
That'd be good, but it's a chicken and egg:
- Open source developers won't build LSB RPMs, because the build process
is a pain and they'd have to statically link everything making for a
huge download (which may not integrate with themes and such?). Even if
they did, the RPMs put into the package sets of distros like Fedora/SuSE
won't be LSB packages.
- Commercial desktop developers won't build LSB RPMs because they
really, really want installing their program to be easy and having a
failed dependency is bad. In fact, using RPMs at all is fairly bad, "out
of the box" as far as I'm aware neither Debian nor Gentoo have the rpm
program installed. Yes they *can* be installed, but you just raised the
barrier-to-entry for these users even more.
- Distributions like Fedora won't include a non-application package into
the base set if it's not a dependency of anything else. This policy
makes sense, but as no open source packages do depend on it (because
they are always repackaged for the distro) it won't enter the base sets
of popular distros, and so commercial desktop ISVs won't use it.
Another issue is that most commercial desktop developers provide
distro-neutral installers using eg, Loki Setup or a custom self
extracting shellscript. The statistics seem to indicate that even when
native packages are provided as well as the custom installers remain the
most popular form.
So, I can't see commercial desktop ISVs aborting an install if
/etc/lsb-release is missing anytime soon - not the ones that sell end
user widgets for <$100/$200 anyway, as straightforward hassle-free
setup is too important.
That's why I am concerned about it.
> I see this as very much a one-way-or-the-other
> - If you want an app that is binary compatible across distributions
> then you should restrict yourself to the LSB.
> - If you don't care about cross-distribution binary compatibility then
> you can use whatever you like on the platform you want to run on.
> Open-source apps typically don't need to be binary compatible across
> distributions because there are always people out there eager to
> rebuild for their favorite distribution.
If only that were true. Unfortunately, once you leave the premier league
it often isn't. Missing, out of date or flat out broken packages are common.
> I honestly don't know what the interest is in cross-distro binary
> compatibility in general.
If you accept the proposition that Fedora Linux, SuSE Linux, Mandrake
Linux and Debian GNU/Linux are all fundamentally the same operating
system, then I'd say binary compatibility between them is fundamental.
Every other OS can do this, why can't we?
I've seen some people argue that the latest release of SuSE is actually
not the same OS as the latest release of Fedora, but IMHO this is just
playing with words: they are made up of the same software and if distro
patches are actually breaking interfaces then the patch needs very
careful review indeed.
Regardless, if they *aren't* seen as the same operating system, then we
are all basically screwed w.r.t non open source software, as the desktop
market is much more fragmented than the server market - you can't just
say "We support RHEL X and SLES Y" and be done with it, not unless you
want to alienate a large number of potential customers. None of the
existing desktop distros have a market share high enough to justify
ports or new development, whereas in a few cases the market share of
"Linux" is getting high enough.
More information about the xdg