[GNC-dev] Co-Owner

John Ralls jralls at ceridwen.us
Fri Jun 10 13:21:42 EDT 2022



> On Jun 10, 2022, at 9:58 AM, Ralf Zerres <ralf.zerres at mail.de> wrote:
> 
> 
> 
> Am Freitag, dem 10.06.2022 um 09:10 -0700 schrieb john:
>> 
>> 
>>> On Jun 10, 2022, at 1:40 AM, Ralf Zerres <ralf.zerres at mail.de>
>>> wrote:
>>> 
>>> Hello mailinglist,
>>> 
>>> i do appologize for not coming up with this issue on this list
>>> before
>>> hacking and submitting a PR.
>>> 
>>> In any case (thanks John for your prompt answer on github) i do
>>> need to
>>> find a solution for my personal needs.
>>> And no, I do not want to buy a commercial solution (like Karthago,
>>> et.al).
>>> 
>>> Your decline message was short and without any further
>>> argumentation. I
>>> was a bit surprised on this.
>>> So i try to pick up the issue, since i do think this isn't out of
>>> topic
>>> at all. At least, if stock and customer/employee handling are
>>> welcome
>>> as first class citizens.
>>> 
>>> However, i hope we can at least discuss the idea before declining
>>> any
>>> action in the public.
>>> 
>>> If i have to go on myself, I'd like to get some help on how to
>>> debug
>>> the scm parts. Currently my code is compiling the .c and .cpp
>>> comits.
>>> As soon as the guile stuff need to create the wrapper libraries i
>>> do
>>> get errors and have no idea, on how to debug.
>>> Any help here is much appreciated
>>> 
>>> Ralf
>>> 
>>> Shell output:
>>> 
>>> $ cd $gnucash-root; mkdir ../gnucash-coowner
>>> $ # ../gnucash-coowner is $gnucash-coowner
>>> $ cd ../gnucash-coowner 
>>> $ cmake -DCMAKE_INSTALL_PREFIX=./gnucash-install -G Ninja
>>> ../gnucash-
>>> root
>>> 
>>> $ cd ninja
>>> 
>>> ...
>>> 
>>> $gnucash-coowner/lib/guile/2.2/site-ccache/tests/unittest-
>>> support.go
>>> /data/development/gnucash/gnucash/common/test-core/unittest-
>>> support.scmunittest-support.scm
>>> Backtrace:
>>> In ice-9/boot-9.scm:
>>> 705:2 19 (call-with-prompt _ _ #<procedure default-prompt-
>>> handle?>)
>>> In ice-9/eval.scm:
>>> 619:8 18 (_ #(#(#<directory (guile-user) 7f61bed5c140>)))
>>> In /usr/bin/guild:
>>> 72:17 17 (main _)
>>> In srfi/srfi-1.scm:
>>> 640:9 16 (for-each #<procedure 7f61bdf0d600 at
>>> scripts/compile.?>
>>> ?)
>>> In scripts/compile.scm:
>>> 264:26 15 (_ _)
>>> In system/base/target.scm:
>>> 57:6 14 (with-target _ _)
>>> In system/base/compile.scm:
>>> 152:6 13 (compile-file _ #:output-file _ #:from _ #:to _ #:env _
>>> ?)
>>> 43:4 12 (call-once _)
>>> In ice-9/boot-9.scm:
>>> 841:4 11 (with-throw-handler _ _ _)
>>> In system/base/compile.scm:
>>> 59:11 10 (_)
>>> 155:11  9 (_ #<closed: file 7f61bdf161c0>)
>>> 235:18  8 (read-and-compile #<input: unittest-support.scm 13> # _
>>> ?)
>>> 183:32  7 (compile-fold (#<procedure compile-tree-il (x e opts)>)
>>> ?)
>>> In ice-9/boot-9.scm:
>>> 2312:4  6 (save-module-excursion #<procedure 7f61bd2ebae0 at
>>> lang?>)
>>> In language/scheme/compile-tree-il.scm:
>>> 31:15  5 (_)
>>> In ice-9/psyntax.scm:
>>> 1262:36  4 (expand-top-sequence ((eval-when (compile load # #) #))
>>> ?)
>>> 1209:24  3 (parse _ (("placeholder" placeholder)) ((top) #(# # ?))
>>> ?)
>>> 285:10  2 (parse _ (("placeholder" placeholder)) ((top) #(# # ?))
>>> ?)
>>> In unknown file:
>>> 1 (load-extension "libtest-core-guile"
>>> "scm_init_unittest?")
>>> In ice-9/boot-9.scm:
>>> 752:25  0 (dispatch-exception _ _ _)
>> 
>> 
>> To amplify the rejection of your pull request: GnuCash has a scope
>> that's limited by its basic design and what the core development team
>> are able to maintain. That scope is basic accounting for personal and
>> very small business use, where very small means sole proprietors with
>> no employees (GnuCash has no payroll module). The multiple ownership
>> model of this change falls outside that scope. Furthermore it caters
>> to a very narrow single-nation use case that would be very difficult
>> for the current core team to maintain.
>> 
> Thanks for your clarification. I do know the time restrictions you have
> to address, if the development team is quite limited.
> And yes, the i don't address big company usage. MEG are small self
> maintaining orgs. Usually properties as a target will have 2-15 owners
> that do live in the apartement themself or offer it for rental.
> This should be quite common in all countries, right?
> 
>> Nevertheless the whole point of Free software is your freedom to
>> adapt it to your needs and this is the right place to ask for help
>> with that.
>> 
> Yes. One of the reasons i like to hack on it.
> 
>> As for the scheme problem, it looks like your C changes managed to
>> break compiling unitest-support.scm, but you chopped off a bit too
>> much to be sure. There should be two more lines at the bottom saying
>> what was the actual error and a few more lines leading up to the
>> stack trace would be helpful to be sure of the source of the error.
>> Turn on GitHub actions for your personal repository (see
>> https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository
>> ) and Github will run builds for you using the CI actions already in
>> GnuCash. Then you can just post a link to a failed one for us to help
>> you diagnose it.
>> 
>> To tackle the reason, i took your advice and activated CI actions for
>> the co-owner branch. Just have a look.
>> 
>> Regards,
>> John Ralls
>> 
> best Ralf

Please remember to copy the list on all replies.

Sole proprietor means one, not 2-15. MEGs might be small, but they would seem not to be small enough for GnuCash.

I don't know about all countries. I know about the US, where one would usually create a single legal entity (the most common are a Limited Liability Partnership or a Subchapter-S corporation; I'll leave it to you to look those up if you care to) with simple accounting and reporting requirements that are easily handled by GnuCash with a little hand work maintaining each partner's ownership interest in Equity accounts. Preparing the taxes has to be done with other software as always. A normal balance sheet and income statement from GnuCash are usually sufficient for the inputs.

Regards,
John Ralls





More information about the gnucash-devel mailing list