[buug] Gentoo, Bluecurve and Linux too!
Rob Helmer
robert at namodn.com
Fri Oct 18 20:04:10 PDT 2002
On Fri, Oct 18, 2002 at 06:27:56PM -0700, Rick Moen wrote:
> Quoting f.johan.beisser (jan at caustic.org):
>
> > my current area of frustration is things like xmms requiring GNOME (not
> > just GTK) when you compile it from ports. it's almost enough to make me
> > switch to using linux.
>
> Yeah, I hear you on that. I despise gratuitous GNOME dependencies, too.
I've heard this alot, and I don't get it. Where is the line
on what's gratuitous?
Just as an aside, you can compile XMMS without GNOME if you want to.
I have no idea what features you lose, but it's doable.
( http://bsdvault.net/viewtopic.php?topic=270&forum=2 )
Anyway, if you have (let's say) 5 applications which all depend on the same
particular GNOME library, you've probably started to save space and compile
time rather than having the applications all have redundant code.
Not that you have the GNOME desktop installed, just apps that use code
generated by the GNOME project.
That argument is somewhat analagous to the old "static vs. dynamic binary"
debate, it makes sense to dynamically link most binaries to ( at least )
libc in most cases.
Using more generic libraries also increases reusability, modularity
and ( given enough time and energy ) stability.
So, as a general rule using the GNOME libs instead of writing your
own ( from a developer's standpoint ) gives you more-or-less stable,
documented, working code that you can plug into your program easily.
Usually the burden of maintaining and improving that code is on someone else,
making some of the work that is secondary to your application not your problem.
From the user, as a general rule you have -
* smaller binaries, fewer libraries overall ( less total disk space used )
* less overall compile time ( assuming you compile each gnome lib once )
* more overall stability
* more consistency ( from a UI point of view )
Admittedly, this is "ideal world" stuff.
For example, if you update gnome libs frequently out of CVS, the
stability/compile time factors may not be there ( CVS/CVSup do
a good job of preserving bandwidth at least ).
Also, there's no guarantee that the libraries are stable, documented,
or any good at all.
However, I feel that those libraries that are part of the GNOME
project have been steadily improving over time, and I think
it's better to put a little effort into an already existing project
than to rewrite all the code yourself.
As it stands today, the core GNOME libs are pretty good. So are the core
KDE libs, and GNUStep is coming along nicely as well. I don't see a point
in writing everything from scratch, especially when there is no benefit to
the user, whether they download source or binaries.
Thanks,
Rob
More information about the buug
mailing list