2019-04-27 GnuCash IRC logs

00:36:18 *** Aussie_matt has joined #gnucash
00:44:55 *** Cuare has joined #gnucash
00:44:55 *** ChanServ sets mode: +v Cuare
00:47:23 *** fell_laptop has joined #gnucash
00:47:23 *** fell has quit IRC
00:47:23 *** ChanServ sets mode: +o fell_laptop
01:21:53 *** fell_laptop has quit IRC
01:22:45 *** fell_laptop has joined #gnucash
01:22:45 *** ChanServ sets mode: +o fell_laptop
01:26:26 *** nimish2711 has quit IRC
01:51:15 *** gjanssens has joined #gnucash
01:51:15 *** ChanServ sets mode: +o gjanssens
02:18:25 *** fell_laptop has quit IRC
02:20:04 *** Mechtilde has joined #gnucash
02:20:05 *** ChanServ sets mode: +v Mechtilde
02:24:24 *** fell has joined #gnucash
02:24:24 *** ChanServ sets mode: +o fell
03:00:51 *** nimish2711 has joined #gnucash
03:11:45 *** gnomey has quit IRC
03:16:46 *** gnomey has joined #gnucash
03:24:32 *** Aussie_matt has quit IRC
03:38:06 *** nicoroumeau has joined #gnucash
03:42:20 *** nicoroumeau has quit IRC
04:37:31 *** warlord has quit IRC
04:38:21 *** nicoroumeau has joined #gnucash
04:41:28 *** warlord has joined #gnucash
04:41:28 *** gncbot sets mode: +o warlord
04:41:55 *** nicoroumeau has quit IRC
05:02:44 <chris> gjanssens / jralls: so would you prefer remove guile-json for now? see https://github.com/aconchillo/guile-json/issues/14
05:03:34 <chris> to fix distcheck i can add COPYING
05:15:36 *** fabior has joined #gnucash
05:16:04 <chris> and INSTALL
05:16:37 <gjanssens> chris: I'm surprised the author agreed to dual license in May 2018 and then in August reverted these changes.
05:16:47 <gjanssens> Can you inquire what the motivation was ?
05:17:29 <gjanssens> For now add these files to distcheck.
05:17:35 <gjanssens> I still hope we can use it.
05:24:12 <chris> Ok
05:30:45 <gjanssens> jralls, chris: meanwhile I found this FAQ entry on the fsf website: https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
05:31:30 <gjanssens> It clearly states that gnucash being GPL2 or later can use a library that's GPL3 only (the resulting work will effectively be under GPL3)
05:31:58 <gjanssens> I believe the FSF as guardian of the GPL licenses should know
05:34:25 <gjanssens> I'm not sure how to interpret the related footnote though: https://www.gnu.org/licenses/gpl-faq.html#compat-matrix-footnote-3
05:35:14 <Simon> that applies to "copy code" only
05:35:45 <Simon> effectively it is GPLv2+ until someone compiles and links it; the resulting binary can then only be distributed under GPLv3+
05:36:56 <Simon> although that would imply someone distributing the binary can't also distribute the source code under GPLv2+...
05:37:15 <chris> FWIW the work of saving options into book benefits from guile-json because, although most options use a simple data structure internally e.g. number->number, date -> (cons 'relative 'symbol) or (cons 'absolute time64), the annoying make-query-option saves as a complex scm object which includes nested-lists with arbitrary number of sublists.
05:37:52 <Simon> try asking Debian what would happen, they're probably already doing this for something
05:38:35 <gjanssens> Simon: so by copying that code into our source tree under "borrowed" we're effectively making our source tree GPLv3 ?
05:38:37 <chris> most non-query options can be serialized/deserialized easily however query-options cannot. I know if I did manually I'd do it wrong. Hence guile-json transforms the whole SCM object into a nested list representation. I *dont* think this query SCM will survive SWIG easily.
05:40:04 <gjanssens> Which means we would require q relicensing.
05:40:41 <Simon> gjanssens: but you're not copying the library, you're only linking to it
05:40:47 <gjanssens> Though that's not what the FAQ entry states
05:41:09 <Simon> imagine your project was dual BSD/GPL
05:41:26 <gjanssens> We store it in our own source tree under borrowed/guile-json and add it to our dist tarball. Is that not copying ?
05:41:38 <Simon> the problem only occurs when you link it
05:41:50 <Simon> gjanssens: oh; that would be a problem
05:42:39 <gjanssens> Well according to the FAQ entry, both are allowed
05:43:22 <gjanssens> And apparently it also has a definition of "copying", which unfortunately is open to interpretation
05:43:30 <Simon> the original question was "can you relicense as GPLv3+ without asking everyone", to which my answer is "yes"
05:43:44 <gjanssens> We're not making a derived work, we're merely copying it as a convenience to the users as not all distros ship that library yet.
05:44:16 <gjanssens> Simon: well, my question today is different: do we need to relicense if we want to use guile-json
05:44:21 <gjanssens> The faq suggest we don't
05:44:24 <Simon> gjanssens: the GPL applies to collective works too, if you absolutely depend on it
05:46:35 <Simon> but the entire release could only be licensed as GPLv3+
05:46:36 <gjanssens> Indeed. However for our specific combination it doesn't matter whether we call it copying or linking. Both are allowed under the FAQ
05:47:43 <Simon> that's not a problem if the existing code which you can still distribute as GPLv2+ separately, but if someone takes the GPLv3+ distributed version and gives you patches based on it, those patches would have to be accepted as GPLv3+
05:50:28 <Simon> gjanssens: well, it's copying if you include it in your source tree
05:51:39 <gjanssens> I do note in the FAQ that it also doesn't matter whether guile-json is GPLv3 or LGPLv3. In both cases the combined result is considered GPLv3 anyway (though for different reasons)
05:52:15 <gjanssens> We may need to consult an Open Source IP lawyer to figure out how to formulate this in our LICENSING document though.
05:54:09 <Simon> or just relicense as GPLv3+
05:57:58 <Simon> oh, *using* LGPLv3 forces release under GPLv3
05:58:14 <Simon> which is why it's not dual licensed, it gives no benefit to GPLv2+ projects
05:58:49 <gjanssens> And for completeness, we're equally linking to guile 2, which is LGPLv3
05:58:59 <Simon> https://nikmav.blogspot.com/2013/03/the-perils-of-lgplv3.html
05:59:15 <Simon> gjanssens: then the project must already be GPLv3+
05:59:20 <gjanssens> So that already forces us to be GPLv3 anyway. guile-json is not bringing anything new to the table.
06:00:11 <Simon> it would be clearer to amend the copyright notices otherwise it's really unclear under which specific circumstances you could reuse bits as GPLv2
06:02:28 <Simon> gjanssens: http://gplv3.fsf.org/dd3-faq is a better version of the matrix
06:03:07 <Simon> well, "better" being different
06:04:09 <Simon> that's a draft version :/
06:04:38 *** ldir has joined #gnucash
06:04:38 *** ChanServ sets mode: +v ldir
06:05:59 *** KevinDB has quit IRC
06:08:04 *** ldir has quit IRC
06:09:41 *** KevinDB has joined #gnucash
06:09:41 *** ChanServ sets mode: +v KevinDB
06:34:51 *** oozer has joined #gnucash
06:39:07 <chris> gjanssens see example of gnc-query2scm output: https://pastebin.com/raw/n4cjVrRL - the "__reg" "query" serialized by (gnc:value->string (gnc-query2scm query))
06:42:32 <chris> and how about trimming the "(if (defined? 'gnc:restore-report-by-guid-with-custom-template) ...)" that's been languishing for years
06:52:59 <gjanssens> chris: the "(if...)" was added to provide compatibility between 2.4 and 2.6. As removing it would mean an interface change I'd do it for 4.x. However it may be obsolete by then if we manage to pull off the options migration to json in-book.
06:56:11 <gjanssens> chris: regarding the query object, I wonder it if should really survive at all in scheme. QofQuery (what the query code in scheme is wrapping) is C after all.
06:56:42 <gjanssens> I don't know offhand if there is scheme code explicitly manipulating queries, and if so how hard it would be to move that to C(++).
06:57:35 <chris> ok I will arrange for lots of cruft dumped in 4.x :)
06:57:36 <gjanssens> That's primarily an answer to your remark that query SCM may not survive SWIG. It may simply not have to.
06:58:30 <chris> ok that's fair. i'll leave this part in your plate. query is the only difficult options object, apart from perhaps the "dead code" book-currency-accounting option
06:59:04 <gjanssens> But having said that, it may well be json is what we end up with eventually. I don't have the same reservations as jralls to the format.
06:59:45 <gjanssens> The way we use it for options may require some additional tuning, but I haven't been able to really dive in yet.
07:02:38 <gjanssens> Oh, an can you add the pastbin contents as a comment in your PR ? That gives it a more persistent location to refer to in the future.
07:03:05 <chris> I think query will need to be saved somewhere whether we like it or not: open a register, run "Report > Account Report" will create a IIRC register.scm report with query option, and this register.scm report *may* be saved as a custom-report or book.gcm. I personally don't really like this Account Report but AdrienM et al uses it heavily.
07:04:30 <chris> I'm sure you know my preferred query language is transaction.scm ;)
07:04:43 <chris> (or soon-to-be trep-engine.scm)
07:09:27 *** Mechtilde has quit IRC
07:09:44 *** Mechtilde has joined #gnucash
07:13:34 <chris> btw most reports manipulate QofQuery objects via the usual qof-query-set-book etc calls
07:14:20 <chris> xaccQueryAddAccountMatch etc
07:20:23 *** fabior has quit IRC
07:34:41 *** fabior has joined #gnucash
07:45:47 *** Jimraehl1 has joined #gnucash
07:46:20 *** Jimraehl1 has left #gnucash
08:28:26 *** fabior has quit IRC
08:43:04 *** nimish2711 has quit IRC
08:52:40 *** jervin has joined #gnucash
08:54:15 *** sbluhm has quit IRC
08:58:10 *** trying2Simplify has joined #gnucash
09:02:51 *** phebus has quit IRC
09:08:12 *** sbluhm has joined #gnucash
09:30:47 *** trying2Simplify has quit IRC
09:49:29 *** chris has quit IRC
10:04:40 *** Cuare has quit IRC
10:12:50 *** fabior has joined #gnucash
10:16:13 *** nimish2711 has joined #gnucash
10:21:26 *** nimish2711 has quit IRC
10:29:32 *** nimish2711 has joined #gnucash
10:30:02 *** gjanssens has quit IRC
10:34:06 *** tienne has joined #gnucash
10:41:58 *** fabior has quit IRC
11:26:22 *** bertbob has quit IRC
11:27:37 *** bertbob has joined #gnucash
11:27:38 *** ChanServ sets mode: +v bertbob
11:42:11 *** tienne_ has joined #gnucash
11:43:24 *** tienne has quit IRC
11:43:24 *** tienne_ is now known as tienne
11:48:01 *** bertbob has quit IRC
11:59:19 *** bertbob has joined #gnucash
11:59:19 *** ChanServ sets mode: +v bertbob
12:37:44 <jralls> @tell gjanssens chris: QOFQuery is getting replaced by SQL which doesn't need serializing. I want very much to get that done for GC4.
12:37:44 <gncbot> jralls: The operation succeeded.
12:42:42 *** tienne has left #gnucash
12:42:56 *** tienne has joined #gnucash
12:43:46 *** fabior has joined #gnucash
12:52:21 *** guak has joined #gnucash
13:03:30 *** nicoroumeau has joined #gnucash
13:04:36 *** fabior has quit IRC
13:19:27 *** Mechtilde has quit IRC
13:19:44 *** Mechtilde has joined #gnucash
13:20:23 *** nicoroumeau has quit IRC
13:24:34 *** nicoroumeau has joined #gnucash
13:29:16 *** nicoroumeau_ has joined #gnucash
13:29:26 *** nicoroumeau has quit IRC
13:29:55 *** nicoroumeau_ is now known as nicoroumeau
13:35:57 *** Mechtilde has quit IRC
13:38:10 *** nicoroumeau has quit IRC
13:38:27 *** nicoroumeau has joined #gnucash
13:38:44 *** nicoroumeau has joined #gnucash
13:43:45 *** nicoroumeau has quit IRC
13:44:02 *** nicoroumeau has joined #gnucash
13:44:47 <jralls> @tell gjanssens Lib/guile/guile_scm_run.swg:#define scm_from_utf8_string scm_from_locale_string Not good.
13:44:47 <gncbot> jralls: The operation succeeded.
13:48:09 *** nicoroumeau has quit IRC
13:48:26 *** nicoroumeau has joined #gnucash
13:54:32 *** tienne has left #gnucash
13:54:51 *** tienne has joined #gnucash
13:57:39 <mdf> jralls: Thanks for pointing me in the right direction on my buglist stuff. I figure the least I can do is test things since I'm still struggling on the programming side. :)
14:14:34 *** frakturfreak has joined #gnucash
14:14:34 *** ChanServ sets mode: +v frakturfreak
14:15:40 *** tienne has left #gnucash
14:15:56 *** tienne has joined #gnucash
14:44:49 *** nicoroumeau has quit IRC
14:47:14 *** nimish2711 has quit IRC
14:49:13 *** nimish2711 has joined #gnucash
14:52:28 *** tienne has left #gnucash
14:52:32 *** guak has quit IRC
14:52:42 *** tienne has joined #gnucash
14:54:06 *** nimish2711 has quit IRC
14:54:33 *** nimish2711 has joined #gnucash
14:54:55 *** tienne has quit IRC
14:56:23 *** tienne has joined #gnucash
15:14:26 *** nimish2711 has quit IRC
15:14:56 *** nimish2711 has joined #gnucash
15:19:38 <jralls> mdf: No problem, and thanks for going through the old bugs. It's long overdue. If you happen upon anything serious by all means say something about it in a comment.
15:19:47 *** nimish2711 has quit IRC
15:20:10 <jralls> mdf: What are you struggling with on programming?
15:20:36 *** nimish2711 has joined #gnucash
15:25:16 *** nicoroumeau has joined #gnucash
15:25:29 *** nimish2711 has quit IRC
15:25:56 *** nimish2711 has joined #gnucash
15:26:03 *** nimish2711 has quit IRC
15:26:27 *** nimish2711 has joined #gnucash
15:29:48 *** nicoroumeau has quit IRC
15:36:20 *** nimish2711 has quit IRC
15:36:48 *** nimish2711 has joined #gnucash
15:36:56 <jralls> @tell gjanssens Which you fixed a year ago but Swig have only just done a release. Unfortunately https://github.com/Gnucash/gnucash/commit/8e9b13461ef841d0179308e5b6d37a8c486e05aa#diff-51c1fd67c44ecc9bb28a20188921457a doesn't catch all of the redefinitions.
15:36:56 <gncbot> jralls: The operation succeeded.
15:46:41 *** nimish2711 has quit IRC
15:47:08 *** nimish2711 has joined #gnucash
15:55:18 *** nicoroumeau has joined #gnucash
15:57:01 *** nimish2711 has quit IRC
15:57:29 *** nimish2711 has joined #gnucash
15:58:39 *** nicoroumeau has quit IRC
16:01:56 *** nicoroumeau has joined #gnucash
16:03:21 *** nicoroumeau has quit IRC
16:05:50 <mdf> jralls: Most of my application programming experience is in VBA and VB6 and I've done quite a bit of microcontroller programming in ASM and some limited C, so it's a big step change for me to go to the higher level C and C++ and Guile just confuses me. I'm getting there, but I haven't found the right bug report to try to step into and fix yet.
16:06:15 *** nicoroumeau has joined #gnucash
16:06:34 <jralls> mdf: Quite a steep learning curve indeed.
16:11:02 *** nicoroumeau has quit IRC
16:12:21 *** nimish2711 has quit IRC
16:12:48 *** nimish2711 has joined #gnucash
16:17:41 *** nimish2711 has quit IRC
16:18:08 *** nimish2711 has joined #gnucash
16:23:01 *** nimish2711 has quit IRC
16:23:28 *** nimish2711 has joined #gnucash
16:49:30 <CDB-Man> hmm, the budgeting estimate tool, the one that populates based on pripr year transactions, is there a way for it to EXCLUDE closing entries? currently when I useit, for december it puts in the credit entry that's used to close out expense accounts
16:49:40 *** nimish2711 has quit IRC
16:54:50 <CDB-Man> I think what it needs is the filter for closing entries, similar to what the Income Statement report has
17:01:41 *** nicoroumeau has joined #gnucash
17:10:53 *** fell has quit IRC
17:11:54 *** nicoroumeau has quit IRC
17:12:14 *** fell has joined #gnucash
17:12:14 *** ChanServ sets mode: +o fell
17:21:09 *** nicoroumeau has joined #gnucash
17:33:30 *** nicoroumeau has quit IRC
17:42:02 *** nicoroumeau has joined #gnucash
18:16:14 *** nicoroumeau has quit IRC
18:16:20 *** nicoroumeau_ has joined #gnucash
18:16:44 *** nicoroumeau_ is now known as nicoroumeau
18:19:29 *** jervin has quit IRC
18:23:02 *** jcamos has joined #gnucash
18:23:03 *** ChanServ sets mode: +v jcamos
18:24:09 <mdf> I'm looking at what I think is a simple bug (https://bugs.gnucash.org/show_bug.cgi?id=461778) It looks like it doesn't update the register when it's added.. I see in the code a qof_event_suspend/resume (https://github.com/Gnucash/gnucash/blob/maint/gnucash/gnome/gnc-plugin-page-register.c#L3705) Does this mean it's stopping the events which trigger the refresh of the running balance?
18:27:47 <jralls> mdf: I just tested it with 3.5 on MacOS and it worked fine. What version/OS for you?
18:29:51 <jralls> Oh, and qof_event_suspend is to prevent it from displaying the transaction until all of the changes are made. That can cause display flicker on slower systems.
18:32:54 *** jcamos has quit IRC
18:32:59 *** jcamos has joined #gnucash
18:33:05 *** ChanServ sets mode: +v jcamos
18:38:18 *** jcamos has quit IRC
18:38:43 *** jcamos has joined #gnucash
18:38:43 *** ChanServ sets mode: +v jcamos
18:45:15 *** jcamos has quit IRC
18:45:51 *** jcamos has joined #gnucash
18:45:51 *** ChanServ sets mode: +v jcamos
18:48:13 *** nicoroumeau has quit IRC
18:56:58 <mdf> jralls: I was testing on debian, lasted maint branch. when you add the reversing transaction it updates a bunch of the running balance numbers even though the transaction is added at the end, so it was showing bogus numbers. Commenting those out seemed to fix it, but I didn't think that could be the fix
18:57:10 <mdf> back later this evening...
18:57:40 <jralls> mdf: OK.
19:05:12 *** jcamos_ has joined #gnucash
19:05:26 *** jcamos has quit IRC
19:07:20 *** jcamos_ is now known as jcamos
19:07:21 <jralls> mdf: Oh, I see the problem. It's calculating the balance for the date of the reversed transaction and then changing the date. The balance doesn't update until something else causes it to recalc. The suspension of qof_events may well be doing that.
19:07:23 *** ChanServ sets mode: +v jcamos
19:38:56 *** jcamos has quit IRC
20:10:55 *** nimish2711 has joined #gnucash
20:30:49 *** nimish2711 has quit IRC
20:31:19 *** nimish2711 has joined #gnucash
20:41:12 *** nimish2711 has quit IRC
20:41:39 *** nimish2711 has joined #gnucash
20:46:32 *** nimish2711 has quit IRC
20:47:21 *** nimish2711 has joined #gnucash
20:57:13 *** jcamos has joined #gnucash
20:57:13 *** ChanServ sets mode: +v jcamos
21:02:14 *** nimish2711 has quit IRC
21:02:41 *** nimish2711 has joined #gnucash
21:07:33 *** frakturfreak has quit IRC
21:19:57 *** jervin has joined #gnucash
21:24:41 *** jervin has quit IRC
21:37:34 *** nimish2711 has quit IRC
21:38:02 *** nimish2711 has joined #gnucash
21:47:56 *** nimish2711 has quit IRC
21:48:23 *** nimish2711 has joined #gnucash
21:56:55 *** tienne has quit IRC
21:59:09 *** oozer has quit IRC
22:04:42 <mdf> jralls: To confirm my understanding of the code, gnc_plugin_page_register_cmd_reverse_transaction in gnc-plugin-page-register.c is handling the call from the application's Transaction menu and then gsr_default_reverse_txn_handler in gnucash/gnome/gnc-split-reg.c would be called if initiated inside the register itself, such as the right click context menu? I see they are very similiar and trying to understand the differences
22:13:17 *** nimish2711 has quit IRC
22:13:44 *** nimish2711 has joined #gnucash
22:17:18 *** nimish2711 has quit IRC
22:57:50 *** chris has joined #gnucash
22:57:50 *** ChanServ sets mode: +v chris
22:58:31 <chris> jralls congrats on fixing 79712, now all that's left is ensuring daily win32 builds are created!
22:58:51 <chris> 797127
23:32:29 *** warlord has quit IRC
23:32:56 *** jcamos has quit IRC
23:33:34 *** jcamos has joined #gnucash
23:34:32 *** jcamos is now known as Guest23062
23:38:56 *** Guest23062 has quit IRC
23:43:12 *** jcamos has joined #gnucash
23:44:15 *** jcamos is now known as Guest10462
23:46:56 *** Guest10462 has quit IRC
23:46:59 *** Guest10462 has joined #gnucash
23:47:09 *** fell has quit IRC
23:47:51 *** fell has joined #gnucash
23:47:51 *** ChanServ sets mode: +o fell