Paulus E. wrote:
and “suggests” dependencies. (after all, apt is probably the mother of
FWIW, I’d much appreciate adding such a notion to gem.
Which brings up a very interesting question/comment/pet peeve of mine.
Every Linux distro has a package management system, but there really is
no “universal” one. Debian has “apt”, Red Hat and quite a few others
have something based on RPM, Gentoo has Portage, etc. OK … that’s
fine, maybe. Now the languages: Perl has CPAN and tools to make use of
it, plus ActiveState has their own Perl Package Manager and
repositories. Ruby has RubyGems, R has CRAN and its own package
management system. I don’t do much with PHP, Python or Tcl, but I know
they have their own way of doing things, and that in the case ot Tcl/Tk
and Python, there’s also an ActiveState way. That’s decidedly not fine
– I spent two days at my day job recently wrestling with just the CPAN,
Cygwin and ActiveState differences and that’s just Perl! Nobody is going
to take me seriously if I suggest that Ruby is a better way if they have
to learn another package management system and I have to spend my time
teaching people how to use it.
So – why isn’t there a universal open source package management system?
The space is large, but finite, and I don’t think the growth rate, at
least in non-testing-level packages, is so high that it couldn’t be
managed with open source volunteers. After all, that’s the way the dozen
or so major ones are managed now. How much of this precious resource –
open source volunteer time-- is being wasted because:
a. there are three major Linux dependency trees plus the BSD Ports
b. every open source package has to be re-packaged and re-tested in
source form and in binary form for a number of architectures in all the
package management systems,
c. all of the major languages (Perl, Python, PHP, Tcl/Tk, Java, R) have
not only their internal dependency trees to worry about but underlying
OS dependencies as well?
Red Hat has proved in spades that this is something people will pay cold
hard cash for. No matter what anyone thinks about the superiority of
“apt” or Portage or anything else, RPM, up2date and yum are as close to
a “universal” open source package management system as I’ve been able to
find so far. You can load an RPM on a Debian or Gentoo box and tell the
local package manager that you’ve thus satisfied all the dependencies
that package satisfies. So – why can’t a Gem in fact be an RPM? Why
can’t a Perl package, an R package, etc. be an RPM? Why does everyone
have to re-invent the package management system, especially when Red Hat
placed RPM and most of its infrastructure under GPL years ago?
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC§
If God had meant for carrots to be eaten cooked, He would have given