gnucash's dependencies criticized

Paul Lussier pll@mclinux.com
Fri, 15 Jun 2001 11:43:13 -0400


In a message dated: Fri, 15 Jun 2001 11:10:59 EDT
"Michael P. Soulier" said:

>    In case you missed /.,
>
>    http://slashdot.org/article.pl?sid=3D01/06/15/0128247&mode=3Dthread
>
>    I have to say, I tend to agree. I do not choose to run Gnome, I prefer
>KDE, and just like I don't want to run Winblows to get their applications, =
>I'd rather not have a ton of libs installed just to use Gnucash.=20

I read /., and I read the LWN article before that.  Personally I 
thought the person who wrote the LWN article was way off base.  I got 
GnuCash installed pretty easily and nothing broke as a result of the 
upgrades I made.

<begin rant>

Sure, 1.6.0 requireed a number of upgrades, but they make it sound 
like like the number was ridiculously high by stating it as "requires 
60 different shared libraries".

I upgrade 23 packages.  And while that is a lot of package upgrading, 
most of them weren't related to GnuCash, but because of the "domino 
effect" (i.e. I upgraded package A because of GnuCash, but package A 
depended upon packages B, C, and D, and B, C, and D, depended upon 
packages E and F, etc.)  Additionally, there were packages in those 
23 that had nothing to do with any of this, but rather, since I was 
upgrading a bunch of stuff anyway, I went ahead and upgraded some 
others.

The number 23 actually came from:

	ls -lrt /var/lib/dpkg/info/*list | grep 'Jun 13' | wc -l

Jun 13 being the date I installed GnuCash.  Therefore, there's really 
no telling how many packages I actually installed just for gnucash, 
just that I installed/upgraded 23 different packages that particular 
day.

I don't use Gnome a whole lot (nor KDE for that matter), but with 
today's ridiculously low prices for ridiculously large hard-drives, I 
load both environments on anyway, because they both come with apps I 
might want to use sooner or later.

And since you brought up /., here are a few choice quotes I found 
that pretty much some it up:

-	It's not really DLL hell, since you can have multiple copies
	of the same library installed for use by different apps. DLL
	hell would be if gnucash blew away the libs that gnumeric needs,
	and then reinstalling gnumeric screwed up the libs that nautilus
	wants, etc.

-	You forget the other part of the equation.

	[...]

	Part of the DLL hell is the vast amount of them that are
	unnecessarily created by people who don't understand when
	static linking will work just fine. I still hear people claim
	that DLL's magically keep the executable size small. DUH! All
	it does is unnecessarily chunk up your program, increase file
	count, and increase loading time.

	So far under Linux I have hardly seen any abuses of
	this. Shared libraries are generally reserved for geniunely
	sharable code, and the rest is statically linked the way it
	should be.

	It sounds like GNU Cash is using shared libs correctly and
	once the distros catch up we'll wonder what the fuss was
	about.
	
And last, but not least:

-	Once this software becomes part of a Linux distribution, the
	package dependencies will take care of those 60 libraries for
	you. At least that's the case with Debian, if Red Hat doesn't
	put this in their official distribution it might be a bit
	harder.

Besides, regardless of how many dependancies it has, IT'S FREE.  All 
of it, dependancies and all.  Not only that, it's the only completely 
free (in all senses of the word) fincancial package for Linux out 
there.  Personally, that means a lot to me, and most of the people 
following GnuCash development, and we'd like to keep it that way.

The alternative to such a great application with lots of dependencies
is a program with few or no external dependencies because the 
development team wrote all the code themselves for everything the app 
does.

Personally I'd much rather have the app with a lot of dependencies 
that was frequently released and updated than one which was huge, 
monolithic, and released once every, oh 3 years or so because the 
developers were off writing code for the charting module.  If I 
wanted that, I'd switch back to MS and Intuit.

Btw, I know there's room on the development team for those willing to 
contribute some of their free time to making GnuCash a better FREE 
application.

<end rant>

Okay, the soap box is free for someone else now :)

P.S.	I am not a GnuCash developer, just an avid user who really 
	likes the app, and really think the developers have done an 
	outstanding job, and should be commended, not criticized
	by those who want everything for nothing and are unwilling to
	experience a little discomfort now and then.


-- 

Seeya,
Paul
----
	If we spent half as much time coding as we do bashing
	 others for not supporting Free/Open Source Software,
	      just imagine how much cooler we would be!

	 If you're not having fun, you're not doing it right!