GnuCash - A Call For Help
sedition writes "GnuCash developer Benoit Gregoire has written the State of the GnuCash Project. It is a call for help to the Open Source community regarding the open-source accounting software for Linux, Mac OSX, and more. GnuCash is one of the largest (287,853 lines of code), but least publicized Open Source projects. Now it needs developer support, as its future is uncertain."
How did it get so many lines of code if it isn't very well known? Do we have one coder slaving away on this one?
I personally like the idea of having alternatives to proprietary software.
I tried to get my wife to use it. She was taking a personal finance class that required Quicken. I thought we could give GnuCash a try and maybe save some dough/impress the teacher.
Boy was I wrong. I figured out the take-out-of-one-account-to-credit-another system, but I couldn't figure out how to put money into the system.
Anyway, we spent a few hours on it, but eventually just forked over the dough for Quicken and rebooted into Windows.
I'm not wishing death to GnuCash, but it is in need of huge improvements to be up their with the other accounting (personal and otherwise) that I've seen.
I'd rather have someone respond than be modded up.
Thus, I think the ideal solution would be for the project team to generate revenue, either by support or find a paying customer (who would allow release of the source). Suppose they wrote a book and released a free CD of the source code with it? Would that generate enough royalties? This may be hard in the current economic climate, but I think it would give them their best chances. Would vendors who are making big Linux pushes be interested? Have the project leaders directly solicited input (and contributions) from these vendors (e.g. IBM)?
Maybe you could write a sort of "Why-To" - explain to people why to use a double-entry system like Gnucash as opposed to single-entry systems out there.
You could give folks some good advice as to what sort of accounts to set up so that when tax time comes around, they can better track what's what.
www.eFax.com are spammers
There are other projects that need help, to succeed they need all the help they can get. Heres just a small list of desperate projects.
1) Mozilla, one of the largest projects in open source, bigger than KDE and Xfree86 combined.
2) GNOME, the popular desktop. It needs more help in polishing its rough spots and needs features.
3) XFree86, this thing needs a lot of help in cleaning up its messy codebase.
4) Konqueror. The web browser partially developed by Apple for KDE. Its getting good at rendering websites but it needs a clean up and a good debugging.
6) Bochs. If you want to be able to emulate more than a 640x480x4 display, then give it your code.
7) Abiword. This word processor needs better Msword support and proper table support.
8) Kbounce. Its the best game for linux! help those balls roll!
9) gnu/hurd. Will this thing ever get usb support? Maybe you could help.
10) Linux kernel. Want it to keep running reliable and support all the new goodies. Then download 2.6.0-test3-bk2 tonight!
And theres hundreds more. Instead of complaining on slashdot that your favourite probram isn't working properly, help fix it!
Why is Gnucash unpopular? Because 3 out of every 4 people I've talked with who've wanted to try it couldn't satisfy the dependencies for their distribution (most of these people aren't newbies to Linux either.)
That said, it truly is in a league of its own in the Linux software world, and I hope it finds what it's looking for in new developers.
Disclaimer: I haven't used it for a year or more, so it may have overcome some of this already
Damn, imagine what I could do with a quarter of a million lines of python code. Seriously C is a great language for systems work, but writing accounting packages in C is just not the way to go.
Got Code?
So since it looks, smells and acts like popular apps it must be good right? I hate this attitude because it stifles innovation. If you are always trying to play catch-up to the latest version of the hot software of the moment you will never become the hot app.
GnuCash brings a new method of money management to the table (accounts) and one I prefer much more to Quickens less organized check book clone. GnuCash is the best money management out there for Windows or Linux because it innovates, which is more then I can say for most software (especialy Kapps).
Wherever you go, there you are!
Maybe with a financial donation? Perhaps the GNUcash people could set up a pledge system where a bunch of folks can promise to pay some money and then when a certain number of pledges are made, everyone donates their part. The "keep GNUCash alive" fund or something.
And before anyone says that paying for open source software is backwards, remember that you're paying for software freedom. That is, you could spend $100 on a commercial accounting program for one copy, or you could spend $100 on GNUCash and have unlimited copies, plus way better support (you get to talk to the developers themselves, they actually listen to your feature requests, etc). Which would you rather have?
Most folks can't hack code. And even if they can, most projects have enough coders (remember what they say about too many cooks). However, the remaining 99.99% of the population can easily help by simply donating money. Not code. It's ok that you can't code. In fact, they'd rather you didn't. OSS projects need m-o-n-e-y.
GnuCash brings a new method of money management to the table (accounts)
How is this new? I took an accounting course back in high school, and Gnucash works almost exactly like what I learned (general ledger, accounts, etc.).
How do other popular applications handle things?
Potential? GnuCash _works_. It has 250k lines of code written already. Frankly, it's one of the best Linux apps I've ever used, and has a very sane interface. Then again, I've never used Quicken, so what do I know?
Why you're advocating throwing away a perfectly good program that just needs some more developers and documentation is totally beyond me. A dedicated documentation effort for GnuCash would probably only take a month to do, max.
If I had to hazard a guess, you're not a software developer. Re-inventing the wheel every ten minutes is a bigger waste of time than trying to fix a slightly old, good one.
-Erwos
Plausible conjecture should not be misrepresented as proof positive.
Yes one feature I would like to see is .....
I=2;
I++;
if(I==4) {
printf("This would solve most of my problems\n");
else
printf("I can't change the rules\n");
}
A good test of a new program is how easy it is to use the first time you sit down with it.
;)), everything seemed logical, easy to use, and down right intuitive. Sure, they weren't perfect and they is plenty of room for improvement, but it was a good program that was almost fun to use.
With MS Money (now there's a scary term
With GnuCash, I had to fight to use the program. The whole layout/ideology seemed very odd if not completely stupid. I didn't want to spend half a day fighting with the program on setting up accounts or entering transactions just to do what MS money let me do in just a few minutes of setup. And just FYI, I hadn't used MS Money is about 3 years when I sat down with GnuCas just a few months ago, so the reason I was fighting the program was not because I was used the the MS way.
Make the money management program simple to use for simple things, and let it make complex things doable. GnuCash does not do this. Neither does MS Money. But at least MS Money let me do the simple things simply without having to fight it. I for one would be glad to see GnuCash follow MS Money in that respect, and then watch it surpass MS Money.
Space for rent, inquire within
Hmm, I'm wondering how does Red Hat makes money. They sell only open source software. WAIT! Wait!!!! What did I say? They sell some free software!!!?!?!
Excerpt from the GPL:
When we speak of free software, we are referring to freedom, not price
Write boring code, not shiny code!
I am not sure what affords GnuCash the title of "least publicized," as I've heard the title many times and infact it came with RedHat whenever I last installed that.
/. that two major things keeping me away from using Linux is the lack of any sort of decent finance management software and an Outlook-type thing. My whole life is in MS Money and Outlook.
Some months ago I said on
I heard things about GnuCash being hopeless to install unless it came packaged with your distro, so I was excited when I found out that the version of RH about to come out will include it.
Thus began my most-recent attempt to switch to Linux. I exported my Outlook archives into Evolution, and my Ms Money accounts into GnuCash.
It lasted about a week. By the end of the week I was thoroughly dissapointed with the mediocrity of both of the pieces of software. Yes, they are usable. yes, GnuCash added up numbers together, but no,the user experience was mediocre compared to what I was used to with my Microsoft applications. That, and the shitty sound support, eventually made me say "fuck it" and switch back to Win2k and I'm happily using it since.
I think most everyone agrees that GnuCash is a critical piece of software for the Linux desktop. Yes. Absolutely....
GnuCash is a long program (well at work we deal with about 150 times that much code..) but from a user perspective of someone who's known better, it sucks. I am glad that the focus isn't only to find more coders. What this thing needs is some normal human beings using it and saying "you know what, it's NOT acceptable that window A obscures window B and freezes while window B is waiting for input from me." It needs, I am sorry to say, Quicken or MS Money users, who say "It was really easy to do X, Y, and Z, but here, I can't even figure out if it's possible,"
Good luck to this project, absolutely. Maybe - evnetually - projects like this will mature and become useful to people who don't care about open source and don't hate Microsoft. Yes, GnuCash appeals if you're maniacal about those things. It does not appeal if you're looking for better and more useable software. Unfortunately, a lot of Linux stuff can be described thusly.
Ecce Europa - Web Design for Business
It seems silly to have to install an entire (or at least most of) an old version of a "complete desktop environment" just to run one app.
Never tried to use Windows have we?
I was thinking of writing the exact same thing.
:)
If it were in Python, I might volunteer to help myself.
Seriously, can anyone name ONE SINGLE advantage that C (or even C++) has over Python for this type of app? Certainly, Python is fast enough -- so what if it has to cycle through all your records once in a while. That's not going to take all day. With C/C++ you have to worry about all kinds of low level crap like buffer overflows. You shouldn't have to think about that kind of thing when writing applications that involve business logic. You should only have to focus on the application logic, something Python lets you do much better than C/C++ does.
Some other companies exploit users as well. Not for their ethics but for some other reasons. As long as people are ok to be exploited there will be people to do it.
Open source is just another way, nothing more.
Write boring code, not shiny code!
Now, don't get me wrong, I like building stuff from source as much as the next Slashdotter, but these guys just use way too many external libraries.
There current "Software Requirements" page lists these dependencies (some or all of which may be required):
- Gtk+, Gnome, Glade -- I have no problem with these as they're pretty much standard issue now
- Guile -- This is a complete bitch to build and install, in my experience. I understand the need for scripting in an application like this, but why not pick a good language like Perl
:)
- G-wrap, slib -- some more Scheme stuff that just seems like crap they needed because they were too lazy to write some of their own code
- GtkHTML -- do you really need a HTML parser in an accounting program? Why not just use Mozilla to display your HTML?
- libghttp -- same thing here. HTTP isn't THAT complicated, especially for what they're using it for. Write it yourself and save us a download.
- Gnome XML -- No one NEEDS to save their accounting data in some XML file format? What's wrong with the standard Quicken format that everyone is used to or even a nice, simple text file that I can munge with vi?
Okay, I'm done complaining now.I've actually been using Moneydance for the last few months to manage my finances. I know that it is Satan's accounting program, being written in Java and all, but you have to admit that its quite easy to download and install, especially if all you're interested in is balancing your checkbook a couple of times a year.
This fits into my pet theory of successful open-source projects rather nicely; every single flaw except one boils down to a lack of documentation.
"Work on the developer documentation problem" - obvious
"Fix core capabilities in the engine" - the exception, though one could stretch and observe that a lot of the problem is probably that nobody has a clue what is broken due to lack of documentation.
"Improve interoperability with other software or new modules" - fundamentally, the fact it was "non-interoperable" in the first place boils down to a lack of documentation, because why bother adding hooks to anything if nobody can figure out how to use them in less then a year? Adding hooks is easy, relatively speaking, and the payback is huge; the only reason to not do it is if you realize nobody could possibly use them if you added them.
"Make sure the mailing lists are easily searchable" - obvious
"Get more people write access to the website" - obvious
"Quickly implement a Wiki or similar system" - obvious
"Spend less time answering some types of questions" - they should be able to point people at a FAQ, a common type of documentation
If it isn't documented, it doesn't exist. GnuCash's problem is an excess of non-existence, which is rather odd considering how many lines of code it has.
It is so much easier to start the documentation in the first place, and keep it up, then to get to 250,000 LOC and just then try to start. Sometimes clever coders can actually be a liability to a project, because they can plow on where lesser men and women would have needed to pause, document, possibly re-organize, and simplify.
my $s = 'DEVELOPERS, DEVELOPERS, DEVELOPERS, DEVELOPERS';
$s =~ s/DEVELOPERS/DOCUMENT IT/g;
Well, I am a professional coder, but I'll be the first to admit: I know next to squat about accounting. So it is hard for me to contemplate jumping into a project like GNUCash. I can find obvious bugs in a program (i.e. crashes, UI issues) but I don't know the intricate details of using this app.
I think as an accountant, you could be extremely useful if the powers-that-be on the GNUCash project teamed you up with a programmer (somewhat like a programmer - tester team). You can document how things *should* work, and explain it to the programmer who probably doesn't know accounting very well. Then he can get in there with the wrench and make those changes happen.
The programmer and the accountant would need to communicate on a regular basis but it wouldn't have to be anything more complex than email, really.
If you're really interested in the project, offer them a hand, even if you're coming at it from the accounting side. They might need you more than you think.
Quicken sucks, the missing hole in the linux software array is a quickbooks/peachtree type app for accountants. This is what stops linux from entering the small business arena.
Most folks can't hack code. And even if they can, most projects have enough coders (remember what they say about too many cooks).
RTFA
The big problem is that they don't have enough coders! Money is not the issue, fixing bugs and documenting the interface is.
Under capitalism man exploits man. Under communism it's the other way around.
You're complaining they use libraries for HTTP and XML? I say "good on them". Libraries are a way of pooling resources. If you use libraries instead of rolling your own, you get
1. More testing
2. More bugs fixed, more correct implementation
3. More features
4. More programmers who understand your HTTP/XML/whatever code
ahem, I just installed gnucash, it was difficult,
open synaptic
click update lists (not needed, but hey it's a habit).
click applications/productivity
select gnucash and postgresql backend, click install on each
click the do it button
done.
that was the "user friendly way"
I could have used the nasty command line everybody says is hard:
apt-get install gnucash
As you command master, do you want me to orally pleasure you 81mb times as well? *sigh* if you must
done.
GnuCash, from the begining, has suffered from a major disconnect between the developers and its (potential) users. Besides the absurd dependency problem which makes installing it nearly impossible, after six years in development, it STILL has no true online banking capability... how is this possible?
Yes, there are many barriers to implementing this capability. But the project has never given it the priority it needs (and seems to still be unlikely to... Gregoire says he will work on it "if I can just find time").
"GnuCash [...] has a very sane interface."
You're kidding me? It's using that abomination (GTK???) that GIMP, Ethereal, Every Buddy, etc use. I took one look at the screenshots the other day when I was looking for a free alternative to Quicken and went running and screaming from their site. I cannot stand that tool kit and its awlful UI and behaviour. I ended looking at the KDE apps, but nothing really stood out with the same stature. I guess I'm going to just have to make do without a open source solution. As with the GIMP, the UI is definitely a huge stumbling block, and I won't touch it whilst it looks and behaves like that.
Is double-entry bookkeepping necessary for personal finance?
Is computerized bookkeepping necessary for personal finance? After all, you could just use a shoebox and rubberbands - that's all some people use.
However, the nice thing about DE is that you can immediately see if you've screwed up somewhere, as it will show up as an imbalance.
You can directly see how much money flows through your credit cards.
You can directly print out what is tax deductable, and should the Infernal Robbery System ask to see the records, quickly dispatch them with your Report, +5 of Audit Slaying.
www.eFax.com are spammers
I gave up on trying to use GnuCash long ago due to the impossibility of compiling it, and getting it to run.
Yes. I am an economist turned coder. I understand investment theory and accounting, I've been building enterprise software for the past decade, and I have been looking for a finance/accounting project to hack on in order to add support for high-end investment management problems. GNU/Cash seemed ideal until I tried to build it. Bah! These guys don't seem to have any real experience with software design of medium sized systems.
GC needs to broken up into smaller pieces that can be independently studied and built with limited dependencies on external packages. I should be able to build a command line accounting system using a base set of transaction libraries without needing to have much else installed except the libs and precompiler for my chosen backend database. Same for reports. They should need only the db support libs and an XML lib for parsing XML defined reports. Everything else is just GUI convenience or eye candy.
FreeSpeech.org
It's how you know when you're winning!
If businesses are going to run their books on this software, they're going to want someone to call when it doesn't work right, not poke around the internet for 6 hours.
I would say that applies to just about any Open Source business package or business package wannabe out there - and there's the problem: businesses want to know that there is a depenable, reliable, on-call support staff whenever they have a problem. You can buy some packages preconfigured (Apache, PHP, etc.) but accounting is not a fire and forget type of application. RedHat is off on the right foot and they seem to be doing pretty well, so in about ten years or so, businesses will trust them in the same way they trust Microsoft now, for better or for worse.
To a certain extent, this applies to all software that runs on Linux - when the tech support is finally there, then we'll see more and more businesses adopting it, but until then they're gonna rely on what they know - which is Windows and it's applications.
As for the marketroids, etc. those are absolutely necessary to hammer whatever message you have into the customer's head. It takes a lot of hammering (something that Microsoft doesn't have to do anymore because they've done it for so long that it's become the safe choice - and don't say you don't know what I mean).
It may be wrong, but the business world moves way more slowly than the tech world in certain areas and way faster in others. That's something that the Open Source community needs to learn.
Patience.
To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
I'm not sure just how much of a part you played in GnuCash's development but your attitude confirms my opinion that it would be very dangerous indeed to use an open source product to store important dfinancial data
...
And this is backed up by your later arguments how ? please give rational, technical justifications for your claim.
The fact of life is that using the industry standard file format is incredibly important to acceptance of a product like this.
Gravity is a "fact of life". What you made was an estimate w.r.t. an engineering+marketting decision. Does have (perhaps) empirical implications, but, fact it is not.
(In the following I use "naive" in the SW-devellopment context:)
For which I will give you a competing estimate: File formats are, by themselves, not directly important to the naive user; as long as you provide the tools to transform between them.
Formats are, however, exteremely important to the knowledgable user (a.k.a. developper). And this is indirectly important to the users, as simpler, cleaner formats make for easier developpment and maintainance.
Try and get your head around two facts:
Again, saying something is a fact does not make it so.
Most accountants could hardly understand a word of your posting.
Most music lovers wouldn't understand the technical discussion between two conductors either, that does not mean they couldn't enjoy their music
All they would understand is that you think they are stupid for wanting Quicken compatibility.
No, they would understand there are things they do not know w.r.t. SW-dev. which is not the same as being stupid !
Importance of open-formats and vendor-lockdown can be explained to laymen just the same, though.
Most of GnuCash's "customers" are accountants.
Can you back this statement up with numbers ? A reference ?
I'm not saying you're wrong, I truly don't know.
I must say this will surprize me, b/c gnucash is a personal finance software.
Working for necessity's mother.
That's essentially my point, that RMS insists that GNU forms a good bit of the OS simply because it really does.
People like to rag on RMS and the GNU thing, but if you take away GNU, you really don't have much of an OS left.
Somebody get that guy an ambulance!
I don't know GnuCash's architecture, but what I'd like to see is a clean separation of front- and back-ends (perhaps into completely separate projects). A double-entry accounting system is a Good Thing (TM), IMHO, and if they just concentrated on the back-end, giving it a well-defined API, etc., we'd see front-ends all over the place.
I really like GnuCash, and I want to help out, but I don't have time to grok a quarter million lines of code.
Let's replace a few words:
"But many people have said [that] Linux is NOT a replacement for a desktop operating system, thus Linux does not satisfy the home user or the business user's needs. And look how many years it's taken already. I say move on and write a new program."
I say eat it. I took accounting in school, I keep track of every last cent that passes through my life, and GNUcash is excellent. It took maybe 30 minutes to get started, and several more to figure out split transactions, but that was definitely worth it. Yes, there are areas that could use improvement, but saying "I don't like it, my friends say it's bad, start over" is idiotic.
[On a side note, it's a major failing of the educational system in the US that NOTHING is taught about budgets, finances, etc. in grade school. At least the importance of keeping records should be impressed. GNUcash, a program that keeps track of things correctly, should be much more popular.]
WMBC freeform/independent online radio.
I'm going to assume from your use of the word "we" that you're one of the seven (if not, my apologies). My question is this: are the front-end and back-end severable? That is: would it be reasonably simple for someone to write a front-end that uses the KDE libraries, if only to silence the critics? Something like:
"Download gnucash-back-2.0.0.tar.gz and your choice of gnucash-front-gnome-2.0.0.tar.gz, gnucash-front-kde-2.0.0.tar.gz, or gnucash-front-ncurses-2.0.0.tar.gz"
I use GnuCash all the time; I certainly hope there's something I can do to keep it alive.