LWN.net Logo

Just NOW fragmenting? Sure...

Just NOW fragmenting? Sure...

Posted Mar 1, 2006 0:29 UTC (Wed) by bk (guest, #25617)
In reply to: Just NOW fragmenting? Sure... by elanthis
Parent article: Linux fragmenting at last?

Getting a binary that runs on multiple Linux distros isn't as easy as it should be.

This seems like an irrelevant argument to me. Binary distribution is basically broken. Unless you are a proprietary software vendor (and I don't believe that their priorities should be a free software concern) there is little reason to concentrate on binary distribution.

Major distributions are (slowly) converging upon the repository/package-manager modality. There's a master package tree maintained by the distribution (who usually handles compilation and integration) and a suite of tools for end users to utilize that repository. Consequently, there is less and less justification for individual developers or projects to worry about the details of binary packaging. Let the distributions worry about that; after all, they are the experts in how their system works.

Furthermore I think it is often (but not necessarily) more secure for users to install software from an authenticated upstream repository as opposed to downloading and installing binary blobs from random websites. That is the Windows way of doing things and it's antiquated and, arguably, technically inferior.


(Log in to post comments)

Just NOW fragmenting? Sure...

Posted Mar 1, 2006 1:05 UTC (Wed) by cventers (subscriber, #31465) [Link]

Exactly. One thing that I always saw as great value in systems like
Portage is that a user who uses Portage exclusively simply isn't
vulnerable to most things out there. You can mount your CDs noexec, emerge
all of your software (which is MD5 hashed [and slowly becoming PGP
signed]), etc.

And while I'm still one of those punks that uses root for everything under
the sun (hey, I'm allowed to because I know my system), I'm glad that
distributions like Ubuntu are working to make people regular users on
their own systems.

Security is fantastic in our source code only world.

Just NOW fragmenting? Sure...

Posted Mar 1, 2006 11:43 UTC (Wed) by dmantione (guest, #4640) [Link]

Perhaps there exist users that don't want to handle compilers, but do
want to install external software? Being author of such software (Free
Pascal compiler) I can say it ain't easy to support a lot of
distributions. And we're one of the few projects that can support
multiple Linux distributions with a single download, because we do not
depend on the compatibility horror that libc is.

Just NOW fragmenting? Sure...

Posted Mar 1, 2006 17:13 UTC (Wed) by ewan (subscriber, #5533) [Link]

And how many users that don't want to handle compilers find themselves
installing your compiler?

Just NOW fragmenting? Sure...

Posted Mar 1, 2006 17:26 UTC (Wed) by dmantione (guest, #4640) [Link]

Ok, lets test it, you sound like a professional user, which is able to
install a program from source code. Here is documentation how to compile
it from source:

http://www.stack.nl/~marcov/buildfaq.pdf

... and the source code:

ftp://ftp.freepascal.org/pub/fpc/dist/source-2.0.2

You can find a distribution independend binary distribution here:

ftp://ftp.freepascal.org/pub/fpc/dist/i386-linux-2.0.2

... which one do you prefer?

Oh, and you don't want to tell to someone who needs to learn programming
that he's going to need to compile Free Pascal from source code to
install it.

Just NOW fragmenting? Sure...

Posted Mar 1, 2006 19:35 UTC (Wed) by wilck (subscriber, #29844) [Link]

As Elanthis already said, the problem not only applies to binaries, but shell scripts as well. Writing an app that correctly installs e.g. rc scripts with dependencies on Red Hat, Suse, and Debian is a nightmare.

While the priorities of proprietary vendors may not be a "free software concern", they are a distribution concern, and they should be. Unfortunately, at the current state of fragmentation, it's often impossible for authors to support more than RedHat and SUSE Enterprise distros, and the rest of the world must see for themselves.

Having everything a user might need in a distibution repository is impossible. Even with Debian's 15000 or so packages you encounter stuff they don't have. In the enterprise market where the distibutions need to _support_ all official packages, there is a strong trend towards "less is more" (compare the package lists for SLES9 and SUSE 9.1, for example).

And please, explain why downloading a binary installer that smoothly integrates a software into your system is "technically inferior" to "configure; make; make install".

Just NOW fragmenting? Sure...

Posted Mar 2, 2006 0:23 UTC (Thu) by bk (guest, #25617) [Link]

You are missing the point entirely. The goal of developers should not be getting their software into the hands of users but rather into the hands of the distributors. Make your application as easy to package (use autoconf and not some homebrew build system if possible) as possible and let the packagers do their job. Whether it is written in C/C++ or Perl or Ada is irrelevant.

And please, explain why downloading a binary installer that smoothly integrates a software into your system is "technically inferior" to "configure; make; make install".

If you re-read my original post you'll see that that is precisely the opposite of what I wrote.

Just NOW fragmenting? Sure...

Posted Mar 2, 2006 17:42 UTC (Thu) by wilck (subscriber, #29844) [Link]

You are right, using official packages from the distribution is always first choice. But...

Being "easy to package" in the way you describe doesn't warrant that a distribution will package an application. Distributors can't package everything, and they make their own choices about what applications and which versions thereof they include. The SELinux/Apparmor example in the original article illustrates this.

Moreover, once a distribution is released, most distributions don't update the packages. If you stick with packages, you are soon forced to either use outdated software or upgrade the entire distribution every few months - or use a 3rd party package. (Talking about "stable" distributions of course. Gentoo or Sid users aren't affected, but they have other problems).

What do you do if your favourite distribution just won't ship the app you like, or sticks with an old version that doesn't have the features you need? Change the distribution? Or build the app from source?

I, at least, prefer a clean 3rd party binary package, and I'd find it highly desirable to have standards would make it possible for skilled 3rd party developers to build clean packages that actually work on different distributions.

A few years ago, that used to be fairly simple. It's getting harder every year. That's the road to fragmentation.

Just NOW fragmenting? Sure...

Posted Mar 3, 2006 1:07 UTC (Fri) by bk (guest, #25617) [Link]

My broader point was that distributions in general are moving toward a dynamic repository approach (and this is a good thing). The packages available constantly update as software becomes available. Even static commercial distributions (with the eternal exception of Slackware) may even get 3rd party repository support, so that even if you pay for RHEL you can get bleeding edge packages (and void your expensive support contract...).

Just NOW fragmenting? Sure...

Posted Mar 3, 2006 17:21 UTC (Fri) by wilck (subscriber, #29844) [Link]

Fedora and OpenSuse may have a "dynamic" approach, but the derived enterprise products most probably won't. They are "frozen", and my guess is that a large part of their target customers appreciates that.

Just NOW fragmenting? Sure...

Posted Mar 4, 2006 17:01 UTC (Sat) by arafel (subscriber, #18557) [Link]

> What do you do if your favourite distribution just won't ship the app
> you like, or sticks with an old version that doesn't have the features
> you need? Change the distribution? Or build the app from source?

Personally, I use apps in this order:

a) from distribution servers, unless there's a compelling reason to move to a version they don't have, in which case
b) build from source

Using a pre-built binary is something which I almost never do. I think the only non-distro, free software pre-built binaries I have on here are Wine and transcode.

If there are a sufficient number of programs which either aren't available, or I'm fed up with having an old version, I'll migrate distribution. This is one reason why moving back to Debian from Kubuntu is on my list of things to do.

Just NOW fragmenting? Sure...

Posted Mar 3, 2006 17:07 UTC (Fri) by KaiRo (subscriber, #1987) [Link]

You mean, if I'm developing a new app, and no distributor does (yet) include my package, my project is completely doomed?

Thanks, that's not what I have in mind thinking of an open software community.

In this case, I rather set up some box with a really old distro to compile binaries that are still working on newer systems, and distribute them as tarball or whatever.

And yes, I know what I'm talking about, I'm running build machines for the SeaMonkey project, that has just recently released its first stable version...

Just NOW fragmenting? Sure...

Posted Mar 9, 2006 16:15 UTC (Thu) by markhb (guest, #1003) [Link]

Furthermore I think it is often (but not necessarily) more secure for users to install software from an authenticated upstream repository as opposed to downloading and installing binary blobs from random websites.
"Random websites" are one thing, but what of off-the-shelf, shrinkwrapped software? I know you don't think much of proprietary software, but I for one know many people who use their computers regularly for World of Warcraft, or Jumpstart 2nd Grade, or Punch Home Design, none of which I see as likely to be replaced by superior (or even equivalent) FLOSS alternatives in the near-to-midterm future. The lack of binary filesystem consistency is probably a major barrier to greater off-the-shelf availability, and the lack of Linux software on the shelves of Best Buy is yet another reason for home users to view Linux as "on the fringes" for their wants/needs.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds