Module system: last call for objections

Bill Gribble grib@billgribble.com
Thu, 2 Aug 2001 09:54:17 -0500


On Thu, Aug 02, 2001 at 10:40:12AM -0400, Derek Atkins wrote:
> grib@billgribble.com (Bill Gribble) writes:
> >     /* init is called the first time the module is loaded */
> >     int  gnc_module_init(void)
> >      
> >     /* on_load is called every time the module is loaded */
> >     void gnc_module_on_load(void);
> 
> Any reason you can't just make this:
> 	void gnc_module_init(int refcount);

That makes sense; I'll make the change. It should return 'int' though.
ATM I assume that if you can load it the first time (gnc_module_init
returns TRUE) you can run the on_load in subsequent times, but that
doesn't really follow, does it?

> Similarly here:
> 	void gnc_module_end(int refcount);

I agree with this too.  The main thing is to be sure it's clear
whether the refcount is pre- or post-{load,unload}.

> > This is probably up for debate, and i'm no expert, but I am working
> > under the strongest GPL assumption: any gnucash plugin/module is a
> > derivative work of Gnucash, even if distributed separately.  Therefore
> > any module that is distributed must be distributed under the GPL.
> 
> Not to start a flamewar, but even RMS grudgingly admits that you can
> have non-GPL code that interacts with a public GPL'ed interface. 

OK.  I think that we need to make it clear either way what "policy"
is, and do it soon, but let's leave this open for discussion for the
moment.  I would be happy either way. 

b.g.