Greetings John, Thanks for pointing out the licensing issue. I completely missed the incompatibility between Apache 2.0 and GPLv2.
I will get this sorted out and replace the LICENSE file with the GPL COPYING and add the notice to the source files. Regards, Niranjan On Mon, May 18, 2026 at 3:29 PM John Ralls <[email protected]> wrote: > Impressive work. > > Just one minor detail: GnuCash is licensed under the GNU General Public > License V2 or later, and one condition of that license is that any > derivative work must also be released under that license. You’re including > our headers and linking our libraries, so your library is a derivative > work. The Apache License 2.0 does *not* meet the requirements of the GPL > (though the reverse is true for GPL V3) so Apache Licensed projects can > *not* be derivative of GPL-licensed code [1]. Please replace the LICENSE > file in your repo with the GPL COPYING and place a comment with the GPL > notice at the top of each source file. > > Regards, > John Ralls > > [1] https://www.apache.org/licenses/GPL-compatibility.html > > > On May 18, 2026, at 13:35, NH Rao <[email protected]> wrote: > > > > Greetings, > > > > https://github.com/nhrdl/java-gnucash > > > > This started with my own need, it has been tested on only one real life > > GNUcash datafile - mine, so if you choose to use it, please be careful > and > > make sure you have adequate backups. > > For my use cases it seems to work the way I want it to work. If you are > > comfortable with Java and want to play around, please feel free. > > > > I am especially looking for experience on other operating systems and > other > > forms of gnucash data such as databases etc. Technically it should work > as > > it's just a URI, but practically it might not behave. It has been only > > tested on a platform available to me - Ubuntu 24.04 and gnucash version > 5.5 > > > > This library is Java binding for gnucash API. While there are multiple > Java > > libraries available, as far as I know, none of the libraries use the API > > exposed by gnucash. This library uses the same technique sample python > > scripts included with gnucash use - load the shared library and call > > functions from the library. > > > > So far, I am able to achieve most of what python utilities do, may not be > > exactly the same approach, but functionality is there. > > > > I'd some specific needs, some related to reports, some related to data > > input. For the reports, I've invested in the same mutual fund in multiple > > accounts. It was getting harder for me to keep track of total investment > > because of my account structure. There is a utility that outputs the > > information for a given commodity as gnucash calls it, from all the > > accounts. > > > > For input, I wanted to read my paystub PDF file and create entries > > automatically. This includes gross/net pay, taxes and deductions splits. > > Similar story for my mortgage. Read the PDF statement and create splits > > automatically based on information coming from the PDF. > > > > Lastly, updating the stock/fund prices. I found an API from Twelve data > and > > used it to update the prices. I've no relationship with Twelve data apart > > from creating the API key and using the free version of API. Twelve data > > throttles the calls, so code will notice the throttling and wait until > > throttling timeout is done. > > > > While sample utilities are working, it's very hard to illustrate with > > examples as this is real life confidential data. For PDF files, generally > > speaking there are two parts, a part which reads data from PDF and > another > > part that actually creates the transaction and splits. For splits, code > > uses a simple mapping file that maps relevant entries from PDF to account > > GUID. These mapping files are available in code. > > > > Hope you also enjoy, > > > > Niranjan > > _______________________________________________ > > gnucash-user mailing list > > [email protected] > > To update your subscription preferences or to unsubscribe: > > https://lists.gnucash.org/mailman/listinfo/gnucash-user > > ----- > > Please remember to CC this list on all your replies. > > You can do this by using Reply-To-List or Reply-All. > > _______________________________________________ gnucash-user mailing list [email protected] To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.
