[GNC-dev] How to contribute to GnuCash?

John Ralls jralls at ceridwen.us
Sat Apr 27 10:05:42 EDT 2019

> On Apr 26, 2019, at 10:55 PM, Geert Janssens <geert.gnucash at kobaltwit.be> wrote:
> Op zaterdag 27 april 2019 01:01:38 CEST schreef John Ralls:
>> What Geert meant is that our current engine code *isn't* particularly
>> portable, though I think that since it compiles OK on MacOS it shouldn't
>> have too much trouble with iOS either. It's a mix of C and C++ and the main
>> dependencies are Boost and Gnome Glib; the XML file backend also depends on
>> libxml2 and the SQL backend depends on libdbi.
>> The public mirror for our git repository is at
>> https://github.com/gnucash/gnucash. Note that the stable branch is "maint".
>> Doxygen API docs are at https://code.gnucash.org/docs/MAINT.
>> Regards,
>> John Ralls
> The devil is in the details... The engine code currently still depends on 
> guile as well, which is a scripting language. Doesn't Apple impose 
> restrictions on that ?
> I currently don't have a full overview of where guile is used in the engine 
> code. I know the option system is heavily dependent on it, but that's 
> primarily used by the report system.

There's no guile in the backends, and only a little in engine, core utils, and gnc-module for facilitating the wrappers. App-utils is heavy with scheme but that's to support application features like options and the financial functions for scheduled transactions, and price-quote is scheme. I think John's team can set up a build of just engine and the backends they want to support without swigging and so without guile. That should be enough for a companion project similar to GfA.

John Ralls

>>> On Apr 26, 2019, at 12:56 PM, John <john at vicinno.com> wrote:
>>> Thanks for bringing it up. A portable engine code is definitely more
>>> meaningful. Can you point me at some document or source code on portable
>>> engine code? we just want to get more details and estimate the work load.
>>> Thanks,
>>> John
>>> On Fri, Apr 26, 2019 at 9:33 AM Geert Janssens
>>> <geert.gnucash at kobaltwit.be> wrote: Hi,
>>> An iOS companion app would be great.
>>> The android app took the approach of reimplementing all the business logic
>>> required to read (and write?) a gnucash data file rather than using the
>>> gnucash engine code.
>>> I can understand why as the engine code is currently difficult to port to
>>> different platforms. It is one of our goals to make this easier, but
>>> there's still a lot of work ahead to get to that state.
>>> If you feel like joining that effort it would be very welcome as a
>>> portable
>>> engine would greatly benefit gnucash and all derived apps on all platforms
>>> (including the android app and a future ios app).
>>> Don't feel obliged of course. I did want to bring it up anyway so you know
>>> this goal exists and may be useful for your app in the future.
>>> Regards,
>>> geert
>>> Op donderdag 25 april 2019 17:41:00 CEST schreef John Ralls:
>>>>> On Apr 24, 2019, at 10:13 PM, John <john at vicinno.com> wrote:
>>>>> Hello,
>>>>> I am the founder of a mobile app startup and a big fan of GnuCash.  My
>>>>> team
>>>>> has some free time now. I wonder if we can contribute to develop an
>>>>> iOS
>>>>> companion app like current Android one. Can you let me know if you
>>>>> think
>>>>> that's a good idea? and if yes, how to start?
>>>>> Thanks,
>>>>> John
>>>> It's a good idea if you're going to commit to maintaining and supporting
>>>> it
>>>> for a reasonable value of forever.  The GnuCash team hasn't the time nor
>>>> expertise to accept such an app as a contribution.
>>>> To get started I'd think it best to contact Ngewi via the
>>>> GnuCash-for-Android support channels and discuss whether his design is
>>>> portable to iOS and what lessons he's learned and improvements he might
>>>> make.
>>>> Once you're ready to start work I expect you'll want to recruit users
>>>> for
>>>> usability testing of your UI mockups and later for beta-testing. I'm
>>>> sure
>>>> some of our users will be interested in helping, though if you're
>>>> contemplating a commercial product you'll need to figure out the right
>>>> way
>>>> to engage with a FLOSS community.
>>>> Regards,
>>>> John Ralls
>>>> _______________________________________________
>>>> gnucash-devel mailing list
>>>> gnucash-devel at gnucash.org
>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

More information about the gnucash-devel mailing list