Slashdot Log In
GnuCash Developer Robert Merkel Responds
from the follow-the-money dept.
1) Why the GPL?
by noz
I'm not sure if this will be a very popular question, but I'm always
interested in why people have chosen the GNU GPL.
Developed under the GPL, you have no need to worry about obsolescence: GnuCash will be there for you.
The GPL expresses many ideals, and there is a differing philosophy between Free Software the Open Source. Perhaps that's a bit broad, but what are your ideals and how do they relate to the GPL?
Robert:
The simple answer is that GnuCash is based on the X-Accountant codebase,
which was GPL'd when Robin Clark released it based way back in 1997.
If we wanted to use that code, we were obliged to use the GPL.
If that code had been released under another DFSG-free license, I'm sure the
developers would
have been happy to continue under the same license.
There's more to it, though, as you have indicated in your question. I like the GPL, would generally use it on a project of my own, and I believe the GPL has been very good for GnuCash's development and will continue to be so.
The GPL it makes it clear to people who contribute code to GnuCash that their code will remain free forever. There's nothing wrong with corporate sponsorship of free software; in fact most of the core GnuCash developers work for the Linux Developers Group, which is sponsoring GnuCash development and intends to sell, extend, and support it. The entire management of LDG is GnuCash developers, so there's not much question of Bad People doing Bad Things within the corporate framework, but sometimes Bad Things happen anyway, and in those cases the GPL's protection is very valuable. And, for us, Bad Things really did happen.
Gnumatic sponsored GnuCash development for about a year. Like a lot of other small companies, Gnumatic got in financial trouble during the Bust. Thanks to the GPL, the work done on GnuCash during 2000 was not lost, and the developers were able to start a new company (LDG) to continue the work. This was an inconvenient distraction, but not a fatal blow to the project, as it was to the products of many other companies who went out of business during the current downturn.
Also, having GnuCash under the GPL helps us at the Linux Developers Group continually improve our tools without having to argue with clients about it. We are aiming to make the GnuCash code base a useful tool set for small-business accounting, ecommerce, and general financial solutions consulting. When we talk to clients, we don't have to try to convince them to like the GPL, since there's no choice involved. If we start from our tools, the work is under the GPL, period; that's the way the license works. We don't have any choice but to put our improvements back under the GPL, and clients seem to understand "we have to do it this way" better than "we really, really think it's a good idea to do it this way".
2) Online Banking Plugins?
by Tin Weasil
Online banking is a great feature that I would love to see incorporated
into GnuCash. I realize that there are probably a ton of obsticles to
making this a reality, so here is my question:
Would it be possible to incorporate some sort of perl plugin to GnuCash that would go out to a bank's web site, access the banking account information on the site, access the relevant data and then format it in a way that could be pasted into the existing GnuCash data?
My bank, Region Bank, allows customers to access their checking account via a web browser. I hate to see this resource going to waste.
Robert:
Banks generally provide machine-readable account information in a
couple of formats: QIF (Quicken Interchange Format), which is an old
and broken text export format used by just about every personal
finance program, and OFX (Online Financial Xchange), with its first
cousin QFX (Quicken Financial Xchange), which is an SGML/XML protocol
for both getting information and initiating on-line banking activity
such as funds transfers.
If your bank provides downloadable QIF files, as many do, you can import them into GnuCash easily right now. We are working on the ability to use GnuCash's built-in web browser to log on to the bank with SSL and download the QIF directly into GnuCash without having to save to a file, but until then, it won't break your arm to download with a normal browser and import the file into GnuCash.
At the moment, GnuCash doesn't support OFX, but we are working on it. OFX support is definitely in the top 10 most demanded features; however, it's a very large and complicated specification and will take some time to get right.
Non-US users have other protocols that will have to be addressed one at a time. For example, Germany uses a system called HBCI. At least one German GnuCash developer (Christian Stimming) is working on HBCI support now, but I have no idea how long it will take.
Even given significant developer and user interest, it's going to be challenging to get environments where we can test any implementation (you need some kind of test account with somebody who runs the kind of server you wish to talk to, and they don't just give those accounts away willy-nilly). Having corporate sponsorship of GnuCash will hopefully prove to be useful here. We might also run into the kind of NDA-type issues that I'll discuss in my answer to question 5, which might get a little nasty.
So, in summary, you can do some things now to get information from on-line sources in QIF format. OFX downloads and interactive banking activity are in the nearby but not immediate future.
3) Custom Reports
by jmauro
Is there any possiblity or chance that custom reporting mechnisms can be
added into GNUCash? (I.E. A number of rules can be set up to group
certain transactions into groups and generate different reports based on
other sets of rules.) It is the one thing in the 1.4 release that I
thought was needed. The reports that were there seemed limited and I
resorted to copying data into gnumeric to generate the reports I wanted.
Does 1.6 correct this, or am I still limited to a number of default
reports? Is there currently work on this area, or if not where in the
code can I best look to start to add this capablity.
Robert:
The GnuCash reporting system is designed to provide both a bunch of
reports that are broadly customizable and a straightforward framework
for adding your own totally custom reports. We are partway there on
both counts, but in any case the improvement since 1.4 is pretty
great.
The set of reports that ships with gnucash-1.6 is much better than the set that shipped with 1.4, and includes several totally new features, like piecharts and bargraphs, style sheets, and save/restore of your customized reports. You can do most of the standard reporting stuff to look at your income, expenses, and assets by category and within date ranges, or list transactions matching certain patterns. The reports and graphs related to stock portfolios are pretty limited, but we are trying to find interested folks to work on these and other "sophisticated investor" features during the current development cycle.
You can customize every report through a GUI configuration interface, which generally allows you to control the appearance of the report, date ranges, what accounts are examined, etc. You can also select a "style sheet" for each report. The style sheets are separately editable, so you can build and save a "business" style sheet with your company logo and so on that you can apply to any report.
Writing custom reports requires a little knowledge of Scheme at the moment, but the ability is there and there are good examples to work from. The Scheme report generation system is very powerful and allows you to do absolutely any kind of analysis that you want to do, but it's a little intimidating for new users.
We are looking at a simplified interface using something like KDE's Kugar system, which is a simple report specification language. It's open-source so we may just steal it directly. There's a useful customization "sweet spot" that we haven't hit yet (more powerful than changing colors and titles, but less than a complete new report).
4) XML and billing
by LL
Currently there are a number of XML billing initiatives such as XMLPay,
VisaXML, etc... How do you see these trends influencing the design and
development of GNUcash ... in particular do you think that your users
are only looking for a simple view/format/verify client (think IMAP
server + XML extensions) while GNUcash moves towards being the agent of
record (aka a specialised ASP?) Of you do see GNUcash as a drop-in
replacement for existing monolithic accounting packages? In summary,
given that the market for electronic businesses and purchases (greater
use of international currency, direct attachment to electronic
settlement, near real-time risk management) is going to change, how do
you think GNUcash should respond?
Robert:
The issues here are similar to those in the online banking question
above. We're working on supporting a lot of this stuff but it's a bit
tricky.
We are talking to people from CheckFree and PayTrust about direct integration with their services, and we have a bit of code called gPal by Alp Toker which is a GTK Paypal interface; we're going to try to steal parts of it to add direct Paypal support in the soon-ish timeframe.
Right now, GnuCash doesn't really have the infrastructure needed for a "Make it so" button; it's designed to be a record of financial transactions you've done, not an agent for actually performing the transactions. We want to change that because people are really foaming at the mouth to get online bill payment working.
As far as the XML-based initiatives you mention, I'm not familiar with them. If they look like they will be widely used, it makes sense to try to support them; I'm guessing they will be at least kissing cousins to OFX/QFX, which means that once we get those working we should be able to reuse some work.
5) Cool stuff, but...
by RareHeintz
Is anything being done to make GnuCash competitive with Quicken and
other products? The tour at the web site depicts a competitive feature
set, but there's more to it than auto-incrementing check numbers: I, for
one, would rather use the GPL'ed alternative, but most consumers will
look for convenience-related features - for example, integration with
their favorite online bill-paying service.
Though my question is about GnuCash specifically, I guess it does address the larger issue about how Open Source projects compete for market share and mind share with the products of well-capitalized corporations that can form strategic partnerships that (despite the shortcomings of Closed Source software generally) offer real value to consumers. Any thoughts?
Robert:
Everything we do with GnuCash is aimed at making it competitive
(ultimately, superior) to Quicken and other products. We want our
program to be people's choice because it's the best available, not
just because it's free (in both senses). Quicken is still ahead of
GnuCash in many areas, and as you point out, sometimes closed-source
companies have big advantages. All I can say is "We're working on
it".
The Linux Developers Group, as a company, can make the kinds of partnerships you describe and pass the results on to our clients and the GnuCash community as a whole... but we won't be in the business of violating other people's copyrights, and that will probably mean controlling access to information we receive from third parties.
For example, people want real-time stock quotes. Well, you have to pay for that, and we would get our pants sued off if we tried to buy a feed from Reuters and redistribute it to everybody and their dog for free. We are in the process of setting up direct integration of real-time quotes in Gnucash as a paid service for our customers; the code to get the quotes is free software, but you have to have authentication to use the service. That means we can have a meaningful agreement with an information source to get the quotes and pass the cost on to our customers.
This may end up happening for other services as well. We won't write proprietary extensions to Gnucash, but there may well be information that we don't own that we can only share with customers under a specific agreement with an outside party. In these cases, the code to get the information will be free but the information won't be.
6) Documentation
by quartz
Will the next major release feature some decent documentation? Extensive
documentation is the only thing I miss from GNUCash. Having only
recently come to live in the US, I have enough trouble understanding the
local economics, so it would be good to have a nice tutorial for my
personal finance management program as a starting point.
Robert:
Hey, I've *never* lived in the US, so I still have a great deal of
trouble understanding just what those crazy Yanks* are up to :)
As to the documentation, we do our best, and, to be honest, I think our best is better than many of the open source projects out there. I revised, with help, a fair bit of the documentation for this release, and as well as documenting just about every new feature, we wrote a quickstart guide for new users, as well as a "what's new" guide for people upgrading for 1.6. Now, if only I can figure out a way of speeding up the process of taking a squillion new screenshots (didn't get that finished, but I'll try to get them done for 1.6.1) I'll be happy.
However, what people like yourself seem to be asking for is a tutorial on basic personal accounting, using GnuCash for the examples. We provide a little of this in the documentation (for instance, Chris Browne wrote some nice clear explanations of depreciation expenses) but there's certainly room for a lot more of that kind of thing. What would be *really* ideal is if somebody wrote a book on "managing your personal finances with GnuCash" and possibly even bundled a GnuCash CD. Hmmm, there's an idea . . .
I also wrote an introductory tutorial-style article for the April Linux Journal. Unfortunately, it's not online (unless you're an LJ subscriber), and it talks about GnuCash 1.4.x so some things are a little out of date, but if people can find it, it might help a little.
7) Palm Conduit?*To an Aussie, a "Yank" (or "Seppo", the derivation of which is kind of amusing but a little difficult to explain) is a citizen of the US. While it's often prefixed with "crazy", "loony" or a variety of epithets, we're casting slurs on all US citizens rather than a subset :)
by woggo
I'm likely not alone in my need to be able to sync my finance software with my Visor. Are there any plans to link GnuCash to a Palm-based money manager program, a la Quicken and PocketQuicken? Or are there any plans to develop a new, GPLed "PocketGnuCash"?
Robert:
I have a Palm myself, and I'd really like this feature. I looked
at doing something about it ages ago (just using the Palm's builtin
expense tracker), but the old 1.4.x binary file format didn't support
storing the required metadata (whereas storing metadata with the new
XML file format and the engine improvements is almost trivially easy).
However, by the time the new file format arrived, I was too busy
trying to write reports and other stuff.
The PalmCoins project, moreover, is working on a proper GPL'd Palm-based financial application. Their stated goal is to fully support synchronization with GnuCash, and we'd be overjoyed to have that kind of functionality available. If you really want it too, go help these guys out!
Another possibility that we have started thinking seriously about is raised by the availability of Linux-based handhelds. The GUI-independent parts of the GnuCash codebase are actually pretty small and wouldn't tax a reasonably well-specified handheld device. Combined with a stripped-down GUI, a handheld version of GnuCash would IMHO make a pretty enticing application for handheld users and manufacturers . . .
8) Integer based currency type
by kbrown1
A while ago I was hesitant to use GnuCash because I discovered that it
uses floating-point numbers instead of integers to store currency
values. What have you done to work around the round-off errors inherent
in such a system, and do you plan to migrate to an integer based system?
If so, when?
Robert:
GnuCash 1.6 stores all quantities and performs all calculations
using an exact (integer-based) numeric representation. Our code was
the result of extended, er, "discussions" on issues of currency
representation and rounding, and consequently it provides pretty
comprehensive facilities for determining and specifying the
appropriate precision, and exactly how results should be rounded (or
not) to that precision, if required.
In practice, errors that were actually the fault of the floating-point representation were very rare, but "very rare" doesn't really cut it if we want GnuCash to become a <buzzword>enterprise-ready</buzzword> business accounting system. Getting this stuff right took a lot of time and effort, and doesn't result in any new user-visible features. We really have tried very hard to get the bedrock good, so that we can add even more gloss in future releases.
9) Taxes
by ichimunki
Moreso than simple home accounting software, I'm interested in
electronic tax filing. Any plans to integrate GnuCash with any
existing filing services, or to integrate tax features into the
program (if there are any, I apologize for overlooking them)? As tax
preparation and filing are services many of us are comfortable paying
a fee for (especially online), I don't wonder if there isn't a revenue
stream in there somewhere, as well.
Robert:
There are some tax-preparation features in GnuCash 1.6 (via the Tax
Report and TAXTXF export), and we hope to get more soon. The problem
with tax preparation is that the rules are constantly changing and
they are different for every town, state/province, and country.
We haven't really looked at integration with existing filing services, but that sounds like a pretty reasonable approach. You'd have to ask the author of the Tax Report, Richard "Gilligan" Uschold, how his current work could lead to that.
My only concern with electronically submitting tax forms is that I'd imagine you could face large fines (or, highly unlikely as it may be) prison, for submitting an incorrect tax return, not to mention the risk of security holes . . . so it's a feature that you'd have to plan with some considerable care. However, I'm not sure what the other developers, particularly US-based ones, think of the idea.
One area of tax preparation which I do personally intend to look at is GST/VAT/Sales Tax. In jurisdictions with a value-added tax, the ability to track and conveniently report the amounts of that tax collected at sales time, and included in goods purchased by your business is essential. There has been some debate on the lists as to how we tackle it, and hopefully soon we'll be able to resolve such debate and actually get on with implementation.
10) Illuminati & Mafia (+5, funny)
by FortKnox
I heard that GnuCash is the Accounting program of choice for the Mafia
and Illuminati (the whole Trilateral Commission, I believe). My
question is: Do you plan on adding features for efficent money
laundering to help your best customers?
Robert:
/me checks over his shoulder to make sure no-one's looking
Well, actually, the true world conspiracy is cricket. The Mafia and Illuminati are really just small pieces in the plan - as is Linux. While big US corporations attempt to lock up American sports in pay-per-view and sponsorship deals, we're steadily working on open-source server and streaming media solutions, which we'll spread far and wide . . . and all that will be left to broadcast is . . . cricket. We'll make ourselves incredibly rich selling cheap-n-nasty sports memorabilia to every sports bar in America (cricket has such long periods between any action, it's perfect for lots of advertising slots), as well as online betting with reputable subcontinental and middle eastern bookmakers - and that's where GnuCash fits in . . .
oh wait, there's a bunch of guys in suits and sunglasses at the door, oh, f*&Y*&, help me please, they're dragging me away from the keyb67*
---------------
- Robert Merkel
rgmerk@mira.net
Nice interview (Score:3)
Slashdot should start doing a series of interviews with "important" Linux/BSD developers/groups. Just to start things off, I'd like to see interviews with the main people behind MySQL, The GIMP, and maybe some of the unknown-to-most-of-us heroes in the Linux kernel hacking arena. What developers would others like to see?
Re:Standard GPL FUD (Score:3)
So what you're saying is that you can take contributed changes into your proprietary product and not have to reimburse the people who have helped make your program better. You make millions (*taptaptap* no Flower that's billions) and when the guy who contributed the code needs function X which you only offer in your proprietary product you can jack him for a licensing fee.
And to counter the standard BSD rant you can sell a GPL'd product. The FSF has been doing it for years.
You forgot about marketing. I don't need to be better than you to hijack your product. I just need to convince the general populace that I'm better than you are. Then it's just a matter of time to get my ducks in row to be "good enough." For all the bitching about MS and Bill Gates I'll say this. Bill knows business and how to work it. What MS did to other businesses an equally savy entreprenuer could do to you.
And if your OSS product is so hot it's likely that you have a developer list. If Dr. Evil's software company can't figure out the code, just make a few Yahoo accounts and ask.
Which again begs the question "Why can't you do the same thing under the GPL?" Just because you have to supply source if the client requests it doesn't mean you can't charge to distribute it or to support it. Unless you are adding stuff to the propriety product that you aren't adding to the BSD licensed product there is nothing preventing your product from being available for free as in beer. You wind up being in the same boat as the GPL'd crowd. Your money won't be coming in from the product but from the support you can provide.
The only way I can see you making "profit" from your OSS project is if you make the free version less functional than the proprietary one. And getting back on topic, if this had happened to the company developing GnuCash they may have had to sell off their proprietary extensions and the project would have been out up to a years worth of work.
I do think the BSD license is good and useful but you haven't sold me on why it should be the prefered way of developing OSS for profit.
Re:ummmm (Score:3)
--
Re:Seppo? (Score:4)
Rhyming slang - 'Yank' 'Septic Tank' - full of [most slashdot posts]
Re:Sponsorship? (Score:4)
If somebody ported the GNOME libraries to Cygwin, I think you'd see a GnuCash port in fairly short order. Somebody already did this, but used a non-free compatibility library rather than Cygwin, so it wasn't any use to us anyway.
Go you big red fire engine!
Re:Online payment (Score:4)
Web browser... (Score:4)
I KNEW IT!! (Score:4)
The illuminati & mafia are teamming up for "project cricket"!
Now all we need to do is get sexy women to play cricket in tiny bikini's & thongs.....
--
Tax preparation and liability (Score:4)
The tax laws, and even the tax forms, make it very clear that all liability for an incorrect return is on the filer. This is true even if you have a professional accountant prepare your taxes for you. There are plenty of people who've faced fines and even gone to prison because their accountant was crooked or incompetent.
On the whole, I think this is a bad state of affairs, but at least it should remove the GnuCash developers' legal concerns.
Of course, the real problem with tax preparation is the complexity and variety of the statutes, so teaming with an existing automated tax preparer is probably the wisest course.
Re:Web browser... (Score:5)
For online help and such, using another web browser would have been fine. However, the main use of HTML in GnuCash is not to actually surf, it's for financial reports, and the reports use HTML in non-standard ways.
For example, in an account summary report there will be an anchor attached to the name of each account, and clicking it causes that account's transaction register to open. Also, we use HTML <object> blocks to embed live (interactive) Guppi graphs and charts directly in reports. So we needed to integrate the browser pretty closely with the app.
We use GtkHTML to handle the display of the HTML, which is pretty much a browser-in-a-library, so we aren't reinventing that, and gnome-http to do all the network stuff. In the near future there will be online services provided for free and/or by subscription that integrate with the app in the same way that reports do now, and that requires more-or-less complete web capability within the program.
So the short answer is, "We need it."
Bill Gribble
Linux Developers Group (http://www.linuxdevel.com)
Re:Great argument for GPL (Score:5)
You don't know what you're talking about.
Gnumatic didn't "blow through" their "millions" in startup funding. They never got the money to start with, just a term sheet, a promise, and a firm (but meaningless) handshake from the "investors" whose name I won't give any press to by a mention.
Gnumatic never got a chance to try to make money. It was less than a year between incorporation and the complete departure of staff, a year when GnuCash was still in the development phase. Gnumatic never spent money foolishly... almost the whole staff was developers, with below-standard salaries. The plan was to spend on marketing and so on when the product was nearer to being ready. Without the money that was promised, there was no chance. At the end, developers stuck around for months without pay because they loved what they were doing and wanted to give the "investors" every opportunity to come through.
Personally, I agree that trying to make money from sales of an end-user software product for Linux is an iffy proposition. That's why the Linux Developers Group is trying to make a living doing financial/ebusiness consulting using the GnuCash code base as a toolset. We're going to sell and support GnuCash for end users, but IMO it will be more of a calling card and advertisement for our consulting services than an attempt to be Intuit. If the Linux desktop space takes off, GREAT! We'll already be there. If not, I'll personally be disappointed but the business doesn't hinge on it.
BTW, do you think you could have possibly squeezed any more rumors and gossip in there? You're nearly up to 1 rumor/sentence.
Bill Gribble
Linux Developers Group (http://www.linuxdevel.com)
I'm glad's it's GTK/GNOME... (Score:5)
P.S. Re: the hub-bub about 60+ add-on libraries: add-on libraries could be statically linked in or included in the GNUCash source tree for everything except the service providers (ie CORBA service providers). Example: many image tools include a release of libjpeg and libtiff which are then statically compiled into the executable.
P.S. Excessive use of things like CORBA provide multiple entry points for snooping points by malicious outsiders.
how about a Mac OS X version? (Score:5)
Apple in fact goes out of its way to highlight not one but two alternatives to Quicken products on its Mac OS X apps list: MoneyDance [apple.com] and MYOB [apple.com]. Check out this direct quote from the MYOB page:
"Rather than settling for outdated, unsupported Mac versions of the leading PC accounting software..." [emphasis added]
So clearly there's a bit of pent-up demand for alternatives to Quicken. IMHO A Mac OS X port could help lessen Quicken's relevance in the market.
--
Great argument for GPL (Score:5)
Seriously. GPL allows the work to survive any individual company. If you're really serious about making the work available as widely as possible, and you understand how turbulent the tech business is (and has always been), it's an excellent choice - one that shows your commitment to the product.
Were I a developer (I'm not) I would be much more willing to use it, given this point.
Sponsorship? (Score:5)
Given the availability of a free, GPL'd piece of software that they could give away, I'm sure they'd lend support to port the new transaction data and bill payment protocols. They'd then have the software forever.