For our April 2018 “Community Choice” Project of the Month, the community elected GnuCash, a personal and small-business finance manager.
GnuCash has a check-book like register GUI to enter and track bank accounts, stocks, income and expenses. It is designed to be simple and easy to use but still based on formal accounting principles. Its features include Double-Entry Accounting, Stock/Bond/Mutual Fund Accounts, Reports and Graphs, QIF/OFX/HBCI Import, Transaction Matching and much more.
GnuCash was previously elected “Community Choice” Project of the Month in March of 2015 and again in September 2016, where developer John Ralls spoke about the project’s developments and direction. Recently we caught up with John to find out how the project has been doing since then.
SourceForge (SF): Congratulations on becoming “Community Choice” Project of the Month for a third time!
John Ralls (JR): Thanks for the opportunity. We’re a couple of weeks away from releasing GnuCash 3.0, our next major version.
SF: What significant changes have occurred with your project since you were chosen Project of the Month in September 2016?
JR: The headline change is that we’ve upgraded the toolkit to Gtk+-3. This is well ahead of plan but was pushed on us by Linux distros dropping support for WebKit1; WebKit2 works only with Gtk+-3 so we had to upgrade or be dropped from the distributions.
SF: Have any of your project goals changed since then?
JR: Not really, but I’d like to express the goals a little more broadly: We want to transform GnuCash into a transactional database application that can run on any platform, not just the desktop platforms supported by Gnome. To get there we need to create a core platform that can work with any GUI at one end and any transactional database at the other. Traditional desktop users will see multiple user access as the primary benefit of that transition, but it will also make GnuCash accessible to users of other platforms like tablets and Chromebooks. We also want to separate that core platform from the program to make it easier for other projects to be able to directly and safely access a GnuCash database for use cases outside of GnuCash’s mission.
SF: What project goals have you achieved so far?
JR: GnuCash 3.0 includes a rewritten SQL backend that we think is worthy of production use–in the past we’ve told users that it’s experimental. The next step is to shift the older XML backend to create an in-memory SQL database and to convert the query mechanism on which the report system is based to query that database instead of hash tables.
SF: What can we look forward to with GnuCash?
JR: GnuCash 3.0 has several enhancements beyond the Gtk+-3 upgrade and new SQL backend. The numeric system has been rewritten for more precision and the hard-coded 6-digit rounding removed allowing accounting in commodities like Bitcoin which use 9-digit fractional parts. There’s a new CSV file importer that’s a lot more flexible, including handling multiple-split transactions; there’s also a new importer for historical security prices. The Transaction Report is hugely expanded thanks to a new contributor, Chris Lam.
We’re planning to shorten the development cycle by a year, so expect GnuCash 4.0 around the end of 2020. We also plan to be more flexible about introducing features into the 3.x series than we have been in the past as long as the features don’t impact storage database compatibility.
SF: Is there anything else we should know?
JR: There’s a lot of work still to do and we welcome developers with experience in C++ and Scheme to join us.
[ Download GnuCash ]